open stable/icehouse

stable icehouse devstack cut, with all repositories flipped over

Change-Id: Iab15290eebabecc1ccd04361652895b3eeb3b370
Don't use deprecated nova libvirt conf names

libvirt_cpu_mode was renamed to libvirt.cpu_mode
libvirt_type was renamed to libvirt.virt_type

This patch is needed before I346ee0248c03e60716bd7dc4a5ee4493610867cb can
land.

Backported to stable/icehouse so that grenade will work, since we use
nova.conf set by old (stable/icehouse) when upgrading to new. Also this
config was deprecated in icehouse.

Change-Id: Ie8a39147ece3a3c86f4b146fa0af3641b1079319
(cherry picked from commit 1cd8efc89073a2867c8e2bd3a79d6887a180a590)
Add CirrOS 0.3.2 to image list

In order to change the default in master we need to pre-cache the new image
in the previous release due to Grenade-reasons.

Change-Id: Ic76e6c13418171555135dd7b9440ce031aa8d259
be opinionated: only use get-pip.py

get-pip.py is now on a CDN, and is the prefered way to get pip.

Remove the default path of using pip tarballs from pypi and use
get-pip.py on from here on.

Closes-Bug: #1326539

Change-Id: I0661f7c6913ba6b3e1d00b30e22740d150bfd060
(cherry picked from commit 7b63c5ec9e9aea54024105a6521a754efc9f9983)
make get-pip.py download failures more clear

curl dying ends up being a really unclear failure condition, and
hard to fingerprint in the gate. We should make this much more
explicit when we die.

Also, don't trust the upstream filename, because all the rest of
our logic would break if it changes anyway.

Change-Id: Ibc2a96b33471d24c597af0d7af896fb10523156f
a more proper default nic selection criteria

look at all interfaces that ip link shows as being up, then filter
them for ^e or ^p devices. Should hold even after the bridges get
built.

Change-Id: If6b1e623f9d146c2430dc8a4a007997290b90846
double the screen sleep timeout

HP Cloud 1.1 is quite slow per core. So much so that grenade is
often failing to start services because bash in a screen session
isn't ready in 1.5s. Double this to 3s to try to decrease failures
in the gate.

We should instead do this via some readiness check to decrease
races.

(cherry picked from commit 43d8f1cdddee5ed20dfef267dc59f7c4805d3a75)

Change-Id: I2b066a687916742e966190f00b5b06a795d4a014
convert devstack from awk to outfilter

The complexity of the awk script was pretty high, and it would
be good to do it in summaries as well, which starts to get a bit
squirelly. Instead bring over the outfilter.py from grenade and
use it for the timestamping.

Any additional overhead from python should be offset from not
shelling out to date on every line of output.

(cherry picked from commit 62cb563ddc5f6923a9734a96d394ff2c27c320ca)

Conflicts:
	stack.sh

Change-Id: Ic2b86ddba3e7f6520a0fd35599b01143936c6deb
Add $TOP_DIR to the path when calling tools' scripts

The missing reference to $TOP_DIR prevent us to run stack.sh from a different
directory.

Cherry-pick of dae115251828e035fcad229f9c9d78856fb867b7
Change-Id: Ie15b89734264789bef9a8efcfdbbf2cdb89c936e
Cut the heat flavor

1024Mb memory is too much for single instance.
approximately 4 GiB memory used even without a booted VM.

The heat auto-scaling scenario needs to boot 3 VM
(currently disabled), if any other test running in parallel
and boots up a vm it would easily can cause OOM an
issue.

The heat-slow job can work with 128 MiB instance memory,
but this change reduces it just to 512 MiB (safer for the guest),
and enough to avoid OOM issues on the host,
and let us to heve more vm at the same time.

The m1.tiny flavor is not good because now it has a hard coded
1 GiB disk limit and the f20 image requires 2 GiB.
Setting the disk size to '0' -> automatically use the virtual size
of the image.

Using multiple cores does not really helps in boot time :(,
but it might cause higher host load. (More locking)
Reducing the core number to 1.

Change-Id: Ice7c1253d15e91fd1c02bc8c6809335aaebfff4a
(cherry picked from commit 51557a502550e5b672f1e2c7187e08d3ded91c99)
Insert required iptables rules for Ironic

Devstack gate slaves have locked down local iptables firewalls.
Ironic nodes boot on an 'external' network and require TFTP
and Ironic API access back to the node via its HOST_IP.  This inserts
the required rules to the top of the INPUT chain.

Change-Id: I2e5dfa2346d45fdd549a3a3fbc255f190195cdd6
(cherry picked from commit c1f0db2b1d6ba47ec6edfdcd430ccfcf5f39da0c)
Bump minimum default RAM for Ironic nodes to 1GB

Set the default RAM for Ironic BM VMs to 1GB to ensure DIB produced deployment
ramdisks function correctly across older and newer kernels, regardless of
rootfstype.

Change-Id: Ifc15a4430aa63c3599e7fd76f5116dc7b728ead0
Closes-bug: #1311987
(cherry picked from commit 74eafa4b49dcf2f76b7627739d26e457fa1775db)
Merge "Cut the heat flavor" into stable/icehouse
Merge "Bump minimum default RAM for Ironic nodes to 1GB" into stable/icehouse
Merge "Insert required iptables rules for Ironic" into stable/icehouse
Fix unsubstituted filename creation

Since merge_config_file() tries to create an unsubstituted config file,
stack.sh fails due to permission denied in the file creation when you
use '[[post-config|/$Q_PLUGIN_CONF_FILE]]' and the file does not exist.

This patch deletes unnecessary 'touch' command, because the file will
be made by 'iniset' function in the next command line with evaled
string from 'configfile'.

This patch also fixes merge_config_group() to use evaled 'configfile'
when it checks the directory of the config file exists.

Change-Id: I608847a34143b5c6a1708c180186dd88a32dd44b
Closes-bug: #1294213
(cherry picked from commit 410f5c0016a9d3b1fbd42b95ce1402a1c614e3d3)
Add support for django_openstack_auth

It would be useful for development, reviewing and testing to add
support for django_openstack_auth to devstack.

This change adds the integration tests to the openstack_auth
list of test: https://review.openstack.org/#/c/86528/

(Use setup_install instead)

Change-Id: Ifbd336b83f6b2beb23996b599ec820232c13efdd
Closes-Bug: #1262121
(cherry picked from commit e385d1e0309a4fc5d414277260702a7c0fff6ad0)
Merge "Add support for django_openstack_auth" into stable/icehouse
retry apt operations to avoid network issues

One of the major gate failures is do to something being wrong with
the apt mirrors. The Acquire group provides an implicit retry on
network operations which seems like it might be helpful here.

Ref: http://linux.die.net/man/5/apt.conf

Change-Id: I099f47ed86ad6a3d4296bff4cce75e7f7d946d27
Related-Bug: #1286635
(cherry picked from commit e83f7785a7609284f74667e266e38e12a29b326b)
Build retry loop for screen sessions

There is a timing window where we might lose the commands being
stuffed into screen because bash is spawning. In those cases, loop
around and try building screen sessions again.

Change-Id: I49247de06bbd59424cb10fb9a8db145907be5138
Related-Bug: #1331274
(cherry picked from commit 0afa912e99dc9bad8b490960beb8f0cf85750dcc)