Ignore backup files and .anvil_bootstrapped

Change-Id: I212ddca9e73adf18f71d38564f3f06afb612e4c6
Run pip freeze command as root

Else it throws error during installation
 ProcessExecutionError: Unexpected error while running command.
 Command: pip-python freeze --local
 Exit code: 1
 Stdout: 'The temporary folder for building (/tmp/pip-build-op_stack)
 is not owned by your user! pip will not work until the temporary folder
 is either deleted or owned by your user account.\n'
Note: op_stack is username with which this command is run
/tmp/pip-build-op_stack is actually owned by root, created during bootstrap

Change-Id: Id64b76c15ad33fd98784feaccb7c572eed1c4f0e
Merge "Ignore backup files and .anvil_bootstrapped" into stable/grizzly
Use pkg_resources.Requirement for Python versions

This makes possible to specify version diapasons in YAMLs
like "0.6,<0.8" instead of hardcoding something like 0.6.1.

Implements: blueprint pip-style-versions

Change-Id: I515cdc739b110502cf70fb77166ffee8c6a19c24
Look for requested pypi package version

Old implementation requested only the latest version
for required package, e.g., making impossible installing
kombu==1.0.4 while the latest was 2.5.10.

New implementation loads all available versions and chooses
the latest one that meets existing requirements.

Change-Id: I6618707b58419c6e8274742c6a3ddabff6b4cdd9
Use nodejs from EPEL

Additional profit: one cannot run yum install $local_file
successfully if the package is installed, so, if you install
nodejs from a local file, you cannot run installation process
twice.

Change-Id: I62f2f27c9b3835879f0cde07fcd27720e3ef2f31
Add restart action

Change-Id: I8192193c01ef2617c88b688c6614db0ea35f439c
Mention some packages incompatible with OpenStack

In future, Anvil should be able to detect such problems
and automatically decide to install these packages with pip.

Change-Id: I7f570aa6e146bc10313b7870995c13be5cc55a7a
Robust handling for existing git repos

If a repository was downloaded previously, it may contain
local changes that prevent git checkout. Do git clean -xdfq
and git reset --hard.

If a repository was downloaded previously, it may contain
a branch with the same name we want to use. To be compatible
with old git, we drop the branch and create again.

Change-Id: Ib46328e9cddc8d1e58833c08b65679b1b61a891d
Add pre-commit checker

Check trailing spaces, PEP8, and pdb

Change-Id: I2ec19a2a3e41aba4f0433f7ca5e760bbf08ab1f1
quantum added to anvil installer

Fixes: bug #1043567

Change-Id: I2dd4a43f70a3be0b21b700c38580ba1b6d916575
Merge "Add pre-commit checker" into stable/grizzly
Merge "Mention some packages incompatible with OpenStack" into stable/grizzly
Merge "quantum added to anvil installer" into stable/grizzly
Configure pylint and update the code

This will allow us to run automatic checks for future commits.

Change-Id: Idbf08a44df0a940de51fb418d99f90da19fa6dc3
Cinder component was added to anvil

Change-Id: Icb30d6b1ac7010db8d57773fd292747b1b0ba94d
Save cli_opts for RestartAction

Parent constructor modifies its cli_opts parameter,
so, pass a copy.

Change-Id: I66fcf97f389d92263ba4ad72350a1c07d7925044
Drop version from quantum URL and set port 9696

quantumclient handles action_prefix itself.

Change-Id: Ia8ee48be5f7d573a489aef2b6ab1ffed075e9899
Anvil components configurators refactoring

Change-Id: Ia85937790fa8b9141868117932f84a77b1790497
Drop argument from Configurator.fetch_dbdsn method

Use self.DB_NAME here.

Change-Id: Ic3003f1c0552a6b1776a0444b1e7c625d4e0cbc4