devstack.install: Remove duplicate packages
Merge pull request #5 from dsavineau/devstack_fix_duplicate

devstack.install: Remove duplicate packages
init: Fixing indent
init: Adding more information during kexec

When following a kexec boot, it's pretty important to get a little more
information to estimate _what_ will be executed.
init: Adding another root detection for kexec

The existing code that try to grab the root device from grub
configuration considers that the root device is UUID based.

But it does exist many other way to define a root device like :
- Labels
- Path

In such case, the root detection fails and prevents kexec from working.

This patch uses a 2nd detection if the first one fails and try to match
as much as possible the root device dependingless of the syntax. I
didn't push it as the default detection as I don't know it this could
work on other configs.
init: Quality commit

The indent was a big mess... let's reindent code to make it readable
again.
functions: Reset resolv.conf when building targets

The initial resolv.conf integrated in base could have been made on a
particular network (i.e home network) while building a new target could
have been done on another network (i.e office network).

In such case, as we do rsync the chroot, all network related commands
like apt & co will fail.

This patch insure that after the rsync, we do copy the current
resolv.conf to gain the proper DNS services.
openstack-common: Purge Puppet SSL certs

Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Ubuntu Roles: Use last cloud-init release

Cloud-init in Ubuntu precise is too old for us.
I use a temporary way to have last release, while we move it into
our backport repository.

Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Avoid error when installing Cloud-init on Ubuntu

Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Revert "Avoid error when installing Cloud-init on Ubuntu"

This reverts commit 045a9a0d2f39ead3e63af758e9b96e4ea493bed3.
OpenStack builds: Fix cloud-init commands

Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
cloud-init: Enforce installation even if conf changes

Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
openstack-common + puppet-master: return true when installing clout-init

Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
init: Uploading log file if init fails

While deploying servers with edeploy, it could be sometimes difficult to
understand why a server isn't installing properly and reboots.

To ease this debugging and while keeping DEBUG=0 to keep the same
decision path, we can now enable UPLOAD_LOG=1 option at the command
line or during the makefile when using bootable USB images.

When enabled, UPLOAD_LOG= will push the log file to edeploy server if
anything fails during the execution of init.

To specify where the log file shall be uploaded, use LOGDIR= directive in
edeploy.conf. The log file will be name with the vendor, product and
serial number of the host.
config: Adding HWDIR support

Since commit 6a908259c1da3085cb571d4b6299531977d82618, .hw profiles are
uploaded in a directory pointed by HWDIR= in edeploy.conf

This patch add the creation of this directory and provides this setting
in the default configuration file we provide and use.
tests: Let http & rsync alive before restarting VM

To test edeploy updates, it's mandatory to let thoses services alive
when restarting the installed VM
edeploy: Quality commit

Let's make all if {} indent look the same.
edeploy: Fixing RET comparaison

If no 'pre' got executed, the RET value isn't defined and led to a bash
error.
edeploy: Preemptive exit if no exclude file found

If no exclude file got found, rsyncing would destroy the host as the
rsync with delete mode will try to empty many local dirs as remote
server doesn't have them mounted.

This commit is also removing the fake exclude list during verify. This
is not a good idea to estimate that an hardcoded list of directories
will be ignored while it's not the case. This give a false perception of
what will be the real upgrade. If we find the exclude let's use it
directly but nothing else.

This commit is made for reinforcing the upgrade procedure to avoid
smashing systems while upgrading.