Clarify the requirements, add explicit shell code

Clarify the requirements about python2.6 and python2.6-dev and add
explicit shell code for ubuntu.

Change-Id: Ib0d77818792b79ac053c8ac909c47f25f17ffe49
Added logging to pending changes

Related-Bug: #1354299
Change-Id: I00a57d0ed4a5fc5ef51cc3be4cf55f7dc790dc14
Added capacity/log endpoint to public urls

* added new test class
* added tests
* added capacity/log to public urls

Change-Id: I3cdb8a3654d9da6e318bb3fa8ed8186c55b72aa7
Closes-Bug: #1362615
Make files not executable

Those files do not need to be executable.

Change-Id: I2c5c162c1672f0d61fde615c24d5101d9e7c2f25
Upgrades, added documentation for user in case of errors

We have some known issues which we cannot
address right now, in order to make user's
live better, we decided to add documentation
which will help user to workaround problems
which he can have during the upgrade.

Change-Id: I7381545f027d06d04b4144a466830af1e4a59b92
Closes-bug: #1362685
Merge "Added capacity/log endpoint to public urls"
Merge "Upgrades, added documentation for user in case of errors"
Merge "Added logging to pending changes"
Upgrade, increase timeout for containers stopping

Stop container call send 9 signal after
10 seconds, sometimes it can interrupt
non atomic operations, such as keystone
database migration.
Increase timeout to prevent such issues.

Change-Id: Ia6c09ea0b14fba61c141959a2d065b487d1970ef
Closes-bug: #1364087
Merge "Upgrade, increase timeout for containers stopping"
Add openstack_version_prev key to deployment info

We should send to Astute information about previous openstack versions,
since it's needed by our puppet manifests.

Change-Id: Ic0250c1756b0837e28bc9039cb24a6f024eb34ed
Closes-Bug: #1364343
Upgrades, don't kill new containers during the upgrade

Stopping of new containers during the upgrade
leads to a lot of errors and raise conditions.
At the same time containers should be run under
supervisor because we need to store logs.

Rewrote upgrade flow:

* stop old containers
* upload the images
* generate supervisor config with autostart False,
  it allows to prevent supervisor to run containers
* run containers in method `create_and_start_new_containers`
  one by one in right order
* regenerate configs for supervisor with autostart
  True, to start all of the containers after supervisor
  restart
* verify containers

How it helps:

* there was race condition when we were running
  services via supervisor and iptables cleaning
  at the same time, supervisor not always was
  able to start all containers, as result we
  could get nat rules with the same port but
  different ip addresses
* containers stopping could interrupt non-atomic
  actions, like db migration in keystone container
* since we run container one by one, we will not
  be able to get problem with ip duplication,
  during the upgrade

Related-bug: #1357357
Related-bug: #1364087
Closes-bug: #1364054
Change-Id: I86accb8b2c2fc5a15425e32838a58c9b45022d8d
Merge "Upgrades, don't kill new containers during the upgrade"
Fix reference to puppet-pull for syncing the nodes

The documentation refers to a puppet-run instead of puppet-pull command
because of a misprint.

The puppet-pull script was introduced into fuel-library with:
https://review.openstack.org/#/c/63950/

Closes-Bug: 1364886
Change-Id: I546550e7858d1d03de0931ff777802e5b141fd04
Additional flag for task command added

'-t' flag added for task id argument of task subcommand.

Change-Id: I3a8495129d87de4d6ece86c69339ea90638056c1
Closes-Bug: #1364007
Use different serializers for different envs

We should deploy secondary controllers using sequental logic
for 5.0.x clusters.

The commit implements a very basic approach for versioning serializers,
so it may be revised in the future.

Change-Id: Ia94bd16c3060dff76c2c79dca480784092331deb
Closes-Bug: #1364519
Upgrades, copy release versions during openstack upgrade

Openstack releases have different release
cycle and their own versions, files with
versions will be delivered in tar ball
and then user will be able to see the
list of versions which his system consists
of via nailgun api.

Change-Id: Ibb65dffa4142746427ef41a259d1671973691a96
Related-bug: #1365087
Add priority serializers for different modes

The commit introduce a new being - priority serializer. We need such
being since we should use different priority strategies for different
cases.

For example:

* We should deploy secondary controllers one-by-one in 5.0.x clusters.
* We should deploy all nodes one-by-one in case of patching.

Closes-Bug: #1364532
Change-Id: I77a445a51576b59aa188128047780af4db804312
Upgrades, add pre upgrade hook, copy release version files

For 5.0.x version we didn't have separate versions
for openstack releases, now we have openstack patching
and it's required for us to know what our system
is consists of. In order to do it, we need to copy
version.yaml files to `/etc/fuel/release_versions/`.

Change-Id: I37b5917eec519ed83531c77d30351811267bc9c2
Related-bug: #1365087
Merge "Upgrades, copy release versions during openstack upgrade"