Commit Graph

6557 Commits

Author SHA1 Message Date
5d04db20ec Add IPv6 support to openrc files
Assumes devstack was configured with SERVICE_IP_VERSION in
local.conf

SERVICE_IP_VERSION is stored in .stackenv and checked in
openrc. If SERVICE_IP_VERSION is set to 6, openrc will use
IPv6.

NOTE: At first, I added a '-6' option to the openrc call
which would set the HOSTS accordingly. I then simplified
the code by saving SERVICE_IP_VERSION to the .stackenv file
which is sourced by openrc. After that, I simplified the
code even more by removing an extra, unnecessary, variable.

Change-Id: I5d46d5438d3e56fea788720ca17f0010caef3df1
2015-07-02 21:18:16 +00:00
180f5eb652 Add IPv6 support to devstack infrastructure
By default, most Openstack services are bound to 0.0.0.0
and service endpoints are registered as IPv4 addresses.
With this change we introduce two new variables to control
this behavior:

SERVICE_IP_VERSION - can either be "4" or "6".

When set to "4" (default if not set) devstack will operate
as today - most services will open listen sockets on 0.0.0.0
and service endpoints will be registered using HOST_IP as the
address.

When set to "6" devstack services will open listen sockets on ::
and service endpoints will be registered using HOST_IPV6 as the
address.

There is no support for "4+6", more work is required for that.

HOST_IPV6 - if SERVICE_IP_VERSION=6 this must be an IPv6
address configured on the system.

Some existing services, like the Openvswitch agent, will continue
to use IPv4 addresses for things like tunnel endpoints.  This is
a current restriction in the code and can be updated at a later
time.  This change is just a first step to supporting IPv6-only
control and data planes in devstack.

This change is also partly based on two previous patches,
https://review.openstack.org/#/c/140519/ and
https://review.openstack.org/#/c/176898/

Change-Id: I5c0b775490ce54ab104fd5e89b20fb700212ae74
Co-Authored-By: Sean Collins <sean@coreitpro.com>
Co-Authored-By: Baodong Li <baoli@cisco.com>
Co-Authored-By: Sridhar Gaddam <sridhar.gaddam@enovance.com>
Co-Authored-By: Adam Kacmarsky <adam.kacmarsky@hp.com>
Co-Authored-By: Jeremy Alvis <jeremy.alvis@hp.com>
2015-07-02 15:16:34 -06:00
52844a11dd Merge "Already dead process tolerance in unstack.sh" 2015-07-02 20:13:06 +00:00
7a0f6833ad Merge "remove non RabbitMQ messaging" 2015-07-02 20:09:05 +00:00
fee742ba72 Merge "Move Sahara into in-tree plugin" 2015-07-02 18:39:38 +00:00
17a16f3144 Merge "constraints file support for devstack." 2015-07-02 17:35:53 +00:00
0ffdb368a6 Move USE_CONSTRAINTS normalization back to stackrc
stackrc needs to do all of the initialization for situations (Grenade,
unstack.sh, etc) that do not run stack.sh

Change-Id: Ib8c7b923dde817b37f852515dd049fcf970b999a
2015-07-02 09:10:45 -05:00
1f9de18a1e Merge "Add new oslo libraries" 2015-07-02 01:57:20 +00:00
635a5ba992 constraints file support for devstack.
Constraints files allow a global view of dependencies for devstack
without the side effect that requirements files have of installing
everything everytime. This is part of the cross project
requirements-management spec.

Change-Id: If089d30146629e6cf817edd634e5c2b80f1366dd
2015-07-02 11:37:22 +12:00
a709b11a53 Update Neutron section in README
Change-Id: Ic4b354a587a1d5f83037fb5250e8e5c9cfe6d48c
2015-07-01 18:50:05 -04:00
f60678ae64 Merge "Set compute-feature-enabled.attach_encrypted_volume Tempest option" 2015-07-01 20:49:53 +00:00
c3bf2e7f56 Merge "Ironic: Fix iPXE Connection timed out" 2015-07-01 19:28:44 +00:00
742cd6f707 Merge "Fix typo in installation of vmware virtdriver" 2015-07-01 18:11:51 +00:00
e57a33224b Set compute-feature-enabled.attach_encrypted_volume Tempest option
This allows setting the new option in Tempest for toggling whether
or not the Cinder encrypted volume tests should run.

Depends-On: I48eba7c645cc1c979fd766ae9c05efb00957f787

Related-Bug: #1463525

Change-Id: I9e12f8dc9e3e6b68dc031351cb081ee2bc6e6cbb
2015-07-01 09:37:54 -07:00
9997038992 Replace RPC Backend text in README
Review https://review.openstack.org/#/c/192154/ removed support for RPC backends
other than RabbitMQ, but we should still document how to disable rabbit.

Change-Id: I1fd64b5f02573c58d7b0d1005c39a22c459a09a5
2015-07-01 11:28:40 -05:00
3381e09f72 Move Sahara into in-tree plugin
Once the Sahara related code moved to Sahara repo and used, we can
remove Sahara specific code from Devstack.

Partial-Implements: bp sahara-devstack-intree

Change-Id: I34412b5cb2e86944b8555b8fd04b43556eb2bbe6
Depends-on: I2e00b2ebc59dd3be6a0539dea2985f2e801a1bd7
Depends-on: I07c3fede473030e8a110cbf5a08309f890905abf
2015-07-01 16:09:56 +00:00
2ba4a7214c Fixed detection of a project in projects.txt
Before the fix, requirements soft-update was used for projects that are
in the file.

Change-Id: I095d42521f54b45a6b13837e2f8375fa04532faa
Closes-Bug: #1469067
2015-07-01 13:42:14 +00:00
f750a6fedb Already dead process tolerance in unstack.sh
The gate/updown.sh calls the unstack.sh with
-ex option. Normally we do not use -e with unstack.sh.

The unstack.sh can fail if the service already stopped,
and it also can have flaky failures on the gate.

For example the stop_swift function tries to kill swift in two
different ways, and if the first one succeeds before the 2th attempt
the pkill fails the whole unstack.sh.

This change accepts kill failure.
Normally the kill can fail if the process does not exits,
or when you do not have permission to the kill operation.

Since the permission issue is very unlikely in our case,
this change does not tries to distinguish the two operation.

The behavior of the unstack.sh wen you are not using -ex should
not be changed by this change.

Change-Id: I64bf3cbe1b60c96f5b271dcfb620c3d4b50de26b
2015-07-01 12:17:35 +02:00
85a1c488df Merge "Fix typo: where is runs => where it runs" 2015-07-01 10:04:24 +00:00
5c7f39fdcd Add worlddump unit test
Add a worlddump unit test to avoid simple breakages

Change-Id: I6b87d4dbe22da2c1ca5ceb13134e9bb570f5cef2
2015-07-01 06:29:27 +10:00
3a9df1dab7 Check for nova-compute before running kill
Unconditionally running this can lead to confusing failure output from
kill as the pgrep matches nothing when nova-compute isn't yet running.

Change-Id: I37cb84fe8e0b393f49b8907af16a3e44f82c46a6
2015-07-01 06:18:47 +10:00
99440f9d59 Wait for command in worlddump
Wait for the command to complete and catch errors when running
commands.

Change-Id: I2c93b3bdd930ed8564e33bd2d45fe4e3f08f03f5
2015-07-01 06:14:01 +10:00
77a7d11dfa Add new oslo libraries
Full list for liberty is as follows:
* oslo.service
* oslo.reports
* automaton
* futurist

oslo.cache was already added in the earlier review

Some of the entries are already there, though automaton was
missing in one spot. Made sure all references have all five
libraries.

Change-Id: Iffb720d46058424924469695a3ae1e4f20655f99
2015-06-30 18:43:56 +00:00
432268b17b Fix NameError in worlddump.py
Change-Id: Ie87e5b5ead777c0153ed7fa5d1db5cc1ae444261
2015-06-30 11:41:13 -07:00
7bc1f3c15f Merge "Use Keystone v3 API for user creation" 2015-06-30 17:15:58 +00:00
474172490f Merge "Use keystone v3 API for projects" 2015-06-30 17:15:54 +00:00
3a2fdb04ef Merge "Add oslo.cache to devstack" 2015-06-30 17:06:59 +00:00
d014727c45 Merge "Drop no longer needed and broken check for cinder in is_service_enabled" 2015-06-30 16:55:31 +00:00
e439dbe9d4 Merge "Fixing the deprecated library function" 2015-06-30 16:55:24 +00:00
255794fccf Merge "Use ip route replace to avoid the existing route" 2015-06-30 16:55:18 +00:00
8f8fda1d07 Merge "Add cleanup for Linuxbridge-agent" 2015-06-30 16:52:05 +00:00
4ffb454145 Add header guard to functions/functions-common
To avoid sourcing this twice and getting globals mixed up,
particularly when using multiple plugins, add a "header guard" that
ensures we only source it once.

In general I don't think functions/functions-common have been written
or considered to be idempotent.  I don't think going down that path is
going to be a long-term solution as it's easy to break.

Change-Id: Idca49eb996d2b7ff3779ec27ed672a2da7852590
Closes-Bug: #1469178
2015-06-30 13:48:53 +10:00
04c0f0be26 Move failure trap after functions it uses
Move the failure trap after the functions it uses, so that
"delete_all" is defined when it is triggered.

Change-Id: Icb2465d0f834b8cb2d46dca3c7df4ae06e49d9b5
2015-06-30 13:48:53 +10:00
98b652419a Merge "Tune mysql a bit better for concurrent operations" 2015-06-30 03:19:23 +00:00
64f7b86c32 Merge "Install qemu-kvm package on centos/fedora" 2015-06-30 01:18:21 +00:00
bde24cb7c2 Fixing the deprecated library function
os.popen() is deprecated since version 2.6. Resolved with use of
    subprocess module.

Change-Id: Ib6a91ee525e2e57d3901d2c0c1b2d1305bc4566f
2015-06-29 15:04:30 +05:30
5c0546e427 Add cleanup for Linuxbridge-agent
Change-Id: I53f445e7f8efd950823f79aca95b9e65d1544ee9
Closes-Bug: #1469609
2015-06-29 17:07:40 +09:00
531017cf3e Add oslo.cache to devstack
as part of the graduation process, add oslo.cache to lib/oslo
and stackrc.

Change-Id: I2baf0384dd5d71d234a95b7acd0bfe5534f2732c
2015-06-27 15:10:51 +00:00
53a8f7c7bc Fix typo in installation of vmware virtdriver
The probably got introduced in recent adjustments to cleanup the
virt driver installs.

Change-Id: Ic51411d5bd9b18d395dbdf948c58fea2d53eba0d
2015-06-27 15:07:20 +01:00
dcc8a30f2a Be more explicit about jenkins project config
In documentation like this (which is a huge boon) we should strive to be
as explicit and helpful as possible, so this change tries to be more
clear about what a project.yaml is and where one might go to create it
or change it.

Change-Id: Ia66a361fc7d79e511afa3ad903fffb122b86998b
2015-06-27 12:45:21 +00:00
e4d57d6bed Merge "Fixes for Linux Bridge in the L3 agent" 2015-06-26 21:20:00 +00:00
71e51c09c0 Merge "make test_with_retry a function" 2015-06-26 20:42:08 +00:00
cef5e40e0c Support fernet token provider
Keystone added the "fernet" token provider in Kilo. This adds
support for it.

Change-Id: I6b7342ea67157a40edc8b9ba3d84d118e39d86ed
2015-06-26 15:34:15 -05:00
68e6ae60e7 Support identity API v3 when generate clouds.yaml
When using IDENTITY_API_VERSION=3, the clouds.yaml must also set
auth/user_domain_id and project_domain_id.

Change-Id: If028f2935ea729276f40039a4003c07c08e91672
2015-06-26 19:59:41 +00:00
f2a05497a3 Drop no longer needed and broken check for cinder in is_service_enabled
There is properly working is_cinder_enabled now, and this check
actualy matches ironic-inspector, breaking its devstack plugin.

Change-Id: I659ec9b9b2b49690fd075f9766ae8cbf19e81848
Closes-Bug: #1469160
2015-06-26 15:22:01 +02:00
614ca26b47 Install qemu-kvm package on centos/fedora
Change I79a8d8ac7ad2fbd7d2fce696821d130218e43e03 removed the install
of python-libguestfs, which was actually hiding a dependency issue on
Centos.  The "kvm" package is ultimately missing some bios files from
"seabios-bin" -- however with python-libguestfs installed this was
coming in via a dependency chain that pulled in qemu-kvm, which has
the dependency.

qemu-kvm is not strictly required as all the functionality is within
qemu-system-x86.  But while we get [1] sorted out this restores the
job functionality.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1235890

Change-Id: I3379bc497978befac48c5af0f1035b96d030b7eb
2015-06-26 14:45:04 +10:00
71947d5fd0 Fixes for Linux Bridge in the L3 agent
Prior to this patch, the logic for configuring the interface used for
the L3 agent was OVS specific. This patch introduces code to correctly
identify the brq device that is used for the L3 agent when using the
Linux Bridge mechanism driver.

Change-Id: I1a36cad0fb790aaa37417a1176576293e4f2c87f
Co-Authored-By: Jens Rosenboom <j.rosenboom@x-ion.de>
2015-06-25 09:21:52 -06:00
c782781a4c Merge "Add devstack-admin cloud to clouds.yaml" 2015-06-25 12:11:38 +00:00
065fdf2456 Merge "Update clouds.yaml" 2015-06-25 11:58:31 +00:00
9ef01b1f28 Merge "Use swift store config files in glance" 2015-06-25 11:45:28 +00:00