1464 Commits

Author SHA1 Message Date
Matt Riedemann
f15224c740 Create cell1 cell before n-api starts
Change ac5fdb4c4090efd682cc5c55aa30ec433da29fc7 introduced
a problem for gnocchi CI because the deployments steps
are now:

1. create cell0
2. start nova-api (with multiple workers)
3. install ceilometer via extras
4. ceilometer calls nova-api to list servers; at this point
   nova-api getes the list of cells and caches them, which
   will just be cell0
5. create cell1 via simple_cell_setup which also discovers
   the n-cpu node so we can schedule instances
6. gnocchi tests create and list instances and at this point it hits
   an n-api worker that only has cell0 cached so it does not
   find some test servers it created and fails.

The cell0 and cell1 cells should be created in the nova_api db
before starting n-api so that when we first list instances, we
store both cells in the cache that's in n-api. This deployment
order is also how the nova docs describe rolling out cells v2
but the way we were doing this devstack wasn't following that,
or accounting for when devstack plugins are loaded via extras.

This change creates the main cell1 cell earlier in the setup
before n-api is started, and then changes to just run
discover_hosts at the end after n-cpu is running (which is what
simple_cell_setup and map_cell_and_hosts would do implicitly).

Change-Id: I38eab6707340253a10159a169ae61d34784c2d28
Related-Bug: #1669473
2017-03-02 15:33:08 -05:00
Dan Smith
b1d8519b40 Move rpc backend start/configure to earlier
Because things like nova may need to create vhosts in the rpc backend,
we need to have started and created credentials before we configure
the service.

Change-Id: I01c9c5288e197fc50a8a4a032e3a32cd166eb180
2017-03-01 10:10:52 -08:00
Jenkins
71640bfe39 Merge "Remove distro support based on new libvirt minimum" 2017-02-25 16:02:50 +00:00
Prashant Shetty
f58b373563 Enable placement section on controller in multinode setup
Currently placement api section will be configured on controller
only if service n-cpu is running. It breaks multi node setup.
Closes-Bug: #1667219

Change-Id: I8b0f60f253859f704bb9831d7dac8f55df353ac7
2017-02-23 13:49:37 +00:00
Matt Riedemann
ff10ac318c Remove distro support based on new libvirt minimum
Nova is going to increase the minimum required libvirt
in Pike to 1.2.9 in change:

I9a972e3fde2e4e552f6fc98350820c07873c3de3

Based on the libvirt distro support matrix wiki [1] that
drops support for Ubuntu Trusty and Debian 7.0/Wheezy.

Trusty has libvirt 1.2.2 and Wheezy has 0.9.12 (the Wheezy
support should have been removed long ago apparently). The
7.0 removed here is for Wheezy also based on commit
b2ef890db3d78b24f9da2f4dd80502165c669ad0.

This does not undo the check for "trusty" with the
EBTABLES_RACE_FIX in lib/nova_plugins/function-libvirt
since you can still force devstack to run on Trusty if
you specify the FORCE=yes variable.

Note that RHEL 7.1 has libvirt 1.2.8 so it won't technically
work with devstack and nova + pike + libvirt, but with the
way os_RELEASE is calculated the minor version is dropped
for RHEL distros so we just get "rhel7".

Also note that this doesn't attempt to continue supporting
Trusty or Wheezy if nova is not configured to use libvirt,
simply in order to start moving forward on devstack distro
support in general and to keep some sanity and closeness
to what we test with in the CI system.

While we're in here, we also drop Fedora 23 and add
Ubuntu Zesty.

[1] https://wiki.openstack.org/wiki/LibvirtDistroSupportMatrix

Depends-On: I9a972e3fde2e4e552f6fc98350820c07873c3de3
Depends-On: If69f99bd789e646b0261e27a8a061efde32436f7

Change-Id: I6617283afd798af37e64913b7865cea3c8a62aba
2017-02-13 16:31:39 -05:00
Jenkins
3bdeed0673 Merge "Move RABBIT_HOST to lib/rpc_backend" 2017-01-10 19:45:10 +00:00
Jenkins
de7b435b14 Merge "Load neutron-legacy only if enabled" 2017-01-03 19:53:37 +00:00
Pawel Koniszewski
20eb274b75 Move RABBIT_HOST to lib/rpc_backend
This moves setting of RABBIT_HOST from stack.sh to lib/rpc_backend
so it may be used in grenade runs, which don't have the defaulted
value from stack.sh. The RABBIT_HOST is needed in order to call
get_transport_url in lib/rpc_backend.

Change-Id: I504f7fac7bb9a8c158e20046dbd1dd2d507db02b
Closes-Bug: #1649586
Depends-On: I3d4d7b309e50f4e2970cda55aada02d68c4fa705
2016-12-21 12:39:54 +00:00
Sean Dague
51a225c5d7 Create mechanism for enabling placement-client on subnodes
When doing multinode devstack we need a way to specify that we've
enabled for the placement service. We use a pseudo service of
placement-client for this.

Change-Id: I04a655fbc58913b3d607400a7f677be299499142
2016-12-15 16:32:08 -05:00
Jenkins
77a7296248 Merge "Remove heat code from devstack tree" 2016-12-06 13:36:52 +00:00
Sean Dague
6d66e647ca don't setup cells if n-cpu isn't also running
create_cell requires n-api and at least one n-cpu up and running. If
we have a configuration where it is not guarunteed that there is an
n-cpu at the end of a devstack run we have to skip this step and make
the user run it manually later.

Change-Id: I2287ab29f3c1a7252271dcce81673ef365615296
2016-12-05 06:28:26 -05:00
Jenkins
3d5a909018 Merge "Always setup cells v2" 2016-12-02 18:14:39 +00:00
Jenkins
c18b804b16 Merge "Add test-config local.conf processing" 2016-12-01 20:31:01 +00:00
Sean Dague
8bf8c8f381 Add test-config local.conf processing
We need a local.conf processing phase after every run phase which lets
us override config options after that point. We didn't explicitly
support this for test-config before, which broke some CI systems when
we moved tempest to use this later phase.

Closes-Bug: #1646391

Change-Id: I7d693afa19acf3e8231e84e45b7a868628ebdbc0
2016-12-01 10:25:51 -05:00
YAMAMOTO Takashi
c74315e055 Load neutron-legacy only if enabled
To avoid using legacy functions accidentially.

Depends-On: Ida1f83b6b3ef9b76be13c063c7e35a8703214078
Change-Id: I3ff136fc8330c92007cdfe91b77d7f9865eabd8d
2016-12-01 20:33:32 +09:00
Jenkins
c0ef1bd05b Merge "lib/neutron: Create initial topology only on controller node" 2016-11-28 10:41:09 +00:00
Attila Fazekas
471855ecd1 Add Fedora 25 support
Fedora 25 released,
adding the required knobs.

Change-Id: I8ce86aa9f23e9572d69eadcfc81af2e96d5be64f
2016-11-23 12:24:52 +01:00
Daniel P. Berrange
c30b8def82 Move certificate setup earlier in deployment
Currently the x509 certificate setup is done after all the
openstack services have been deployed. This is OK because
none of the services require that the x509 certs exist
when they are being deployed. With the integration of TLS
into the nova novnc proxy (and later spice & serial proxy)
service, x509 certs will need to exist before Nova is
deployed.

The CA setup must thus be moved earlier in the devstack
deployment flow, prior to the setup of any services. One
part of the CA setup, however, fixes up the global cert
bundle locations and this can only be done after the
python requests module is install, thus must remain in
its current location.

Change-Id: Idcd264fb73bb88dc2f4280c53c013dfe4364afff
2016-11-15 11:24:04 +00:00
xiaolihope
8f985b6ff1 Remove heat code from devstack tree
This removes all of the heat code from the devstack tree, in favor of the
devstack plugin in Heat's tree.

Depends-On: I4bed1e5cef5afa7b049b07640086a86a3f881e13
Depends-On: Ic392bcc24bc374ee8511a94f1d8f6ac23131c7e3

Change-Id: I5b60422bf1f5fa78aa8f3383f7a222e0356d9e42
2016-11-15 15:00:43 +05:30
Jenkins
4972bbcfbe Merge "Use userrc_early for all nodes" 2016-11-07 23:41:30 +00:00
Matt Riedemann
f166081d0e Always setup cells v2
Nova is going to land a database migration in Ocata
under change I72fb724dc13e1a5f4e97c58915b538ba761c582d
which enforces that at least the simple cells v2 setup
is performed, which creates the cell mappings, cell0 and
host mappings. Before we can land that change in Nova
we have to make cells v2 setup a default in the integrated
gate jobs.

Depends-On: Ie44e615384df464516aa30b9044b5e54b7d995bb

Change-Id: If1af9c478e8ea2420f2523a9bb8b70fafddc86b7
2016-11-03 15:52:52 -04:00
YAMAMOTO Takashi
07edde1c14 lib/neutron: Create initial topology only on controller node
To avoid it being created multiple times for multinode setup.

Note: This reverts "Enable neutron to work in a multi node setup"
(commit 88f8558d874072536e7660a233f24207a7089651) partly and fixes
the issue differently.
The configuration in question uses the new lib/neutron. (not neutron-legacy)
In that case, calling create_neutron_initial_network from stack.sh directly
is a wrong way, as create_neutron_initial_network is sourced by
neutron-legacy.  The new neutron code should not rely on the legacy one.

Closes-Bug: #1613069
Change-Id: I868afeb065d80d8ccd57630b90658e330ab94251
2016-10-26 11:57:48 +02:00
Chuck Short
51db6d33c1 Replace wily support with yakkety
Ubuntu wily support is EOL so lets make room for yakkety.

Change-Id: Ib13d43f6d89bdf7c684cd34655a077a13e237be3
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2016-10-15 09:40:35 -04:00
Jenkins
cdcfc74d23 Merge "Remove workaround for openstack complete" 2016-10-13 19:50:54 +00:00
Steve Martinelli
5ff77d6a2a Remove workaround for openstack complete
This reverts commit 6930ba312f787e0459f7455ac6ba2a70b3c7c37d.

By reverting this patch we are no longer using the bandaid fix mentioned
in the code. The latest openstackclient release (3.3.0) fixes the bug.

Related-Bug: 1619274

Change-Id: I20e3c5a92b97bf46c8d2318cd37044f0f36e1745
2016-10-11 14:09:41 +00:00
Sean Dague
f06455e1b5 Add a screen session for tls logs
When tls is enabled, we aren't bringing the logs to the forefront,
which makes it hard to debug when things go wrong. This does that.

Change-Id: I7c6c7e324e16da6b9bfa44f4bad17401ca4ed7e3
2016-10-07 06:57:03 -04:00
John Hua
499a9e39c1 XenAPI: Remove legacy tty image
UPLOAD_LEGACY_TTY was for console access, but it's no longer used.

Change-Id: I294c8716be2e6ee9f53108d4eb41faf99e975538
2016-09-26 12:06:02 +08:00
Patrick East
a5d965a3d7 Use userrc_early for all nodes
Instead of only using the userrc_early when keystone
is an enabled service we will do it on all runs of
stack.sh. This way services can be split up more
across devstack nodes, and you can do configuration
requiring credentials on nodes that don't install
keystone.

Change-Id: I74574ae9f45a74bcbcc8e3149228ecb795ab4fb7
2016-09-21 12:45:04 -07:00
Jenkins
a2d1848419 Merge "Use apache for tls-proxy ssl termination" 2016-09-21 18:19:40 +00:00
Gregory Haynes
4b49e409f8 Use apache for tls-proxy ssl termination
Stud is now abandonware (see https://github.com/bumptech/stud) and is
not packaged in xenial. Lets use Apache for SSL termination since its
there already.

Change-Id: Ifcba410f5969521e8b3d30f02795541c1661f83a
2016-09-20 08:14:11 -07:00
Jenkins
fac8adbe1b Merge "Enable neutron to work in a multi node setup" 2016-09-06 14:02:07 +00:00
Dan Smith
71119b47a0 Setup cellsv2 for Nova
This patch setup cellsv2 for Nova after plugin initialization phase.
Since this requires compute hosts to be started, we need to do it
after we have initialized all other plugins. Things like ironic
aren't setup when we were running this as part of nova setup, and
thus this command can fail.

When cellsv1 is used (n-cell is enabled) skip calling
cells_v2 simple_cell_setup, which will never have hosts
at the top level and which will always fail.

Change-Id: Ic7d0115da51d6ea17ee49071af259a7789c62ab9
Depends-On: I9bbaa4c92503222c9fd015fe075926b50f3dcc8c
2016-09-01 15:36:50 +00:00
Monty Taylor
6930ba312f Specify a cloud for openstack complete
there is a bug in openstackclient that is causing a password prompt

Related-Bug: 1619274
here.

Change-Id: I3aee25845ece846ed2b35aa242dc684b55ac2381
2016-09-01 08:36:15 -04:00
melanie witt
0bf25506b0 Move RABBIT_USERID to lib/rpc_backend
This moves setting of RABBIT_USERID from stack.sh to lib/rpc_backend
so it may be used in grenade runs, which don't have the defaulted
value from stack.sh. The RABBIT_USERID is needed in order to call
get_transport_url in lib/rpc_backend.

Change-Id: I6f211e9102f79418f9f94a15784f91c4150ab8a7
2016-08-31 19:11:33 +00:00
Chris Dent
4d6017566a Add support for placement API to devstack
Uses lib/placement, but relies on some functionality from
lib/nova. This leads to some weirdness since the nova has
special status in stack.sh. If/when placement is extracted
it may be good to follow the devstack plugin structure
instead.

Because the placement code is currently a part of nova, there
are dependencies in lib/placement on a some $NOVA_* variable
and, if virtenv is being used, the virtualenv used by nova.

Because placement currently runs using nova's configuration
settings, not a lot actually happens in lib/placement: apache
is configured and keystone accounts and endpoints are created.

If PLACEMENT_DB_ENABLED is true then a separate placement db
will be configured.

When complete the initial version of the placement service will
provide support for managing resource providers, inventories and
allocations.

The placement api only runs under mod-wsgi.

Change-Id: I53dd3e6b41de17387a0e179fc9ac64c143b6a9eb
2016-08-30 12:49:47 +00:00
Jenkins
23fc4e0342 Merge "Revert "stackrc set the LC_ALL to C"" 2016-08-30 06:10:58 +00:00
Gary Kotton
88f8558d87 Enable neutron to work in a multi node setup
On the controller node where devstack is being run should create
the neutron network. The compute node should not.

The the case that we want to run a multi-node neutron setup we need
to configure the following (in the case that a plugin does not
have any agents running on the compute node):
ENABLED_SERVICES=n-cpu,neutron

In addition to this the code did not enable decomposed plugins to
configure their nova configurations if necessary.

This patch ensure that the multi-node support works.

Change-Id: I8e80edd453a1106ca666d6c531b2433be631bce4
Closes-bug: #1613069
2016-08-24 08:28:37 -07:00
Jim Rollenhagen
9301e8875b Revert "Setup cellsv2 for Nova"
This reverts commit b1a4f34bfc6adb9ab4577520601c44e8ccff277d, which
breaks Ironic's jobs. For example:
http://logs.openstack.org/90/355390/1/check/gate-tempest-dsvm-ironic-ipa-wholedisk-agent_ssh-tinyipa/b9e264a/logs/devstacklog.txt.gz#_2016-08-15_17_31_13_358

Change-Id: Iafc579f73fe4a97056944872e2f2c8cd1a62c21c
2016-08-15 14:58:43 -04:00
Jenkins
8cf4a81bfc Merge "Setup cellsv2 for Nova" 2016-08-15 16:40:59 +00:00
Andrew Laski
b1a4f34bfc Setup cellsv2 for Nova
Run "nova-manage cell_v2 simple_cell_setup --transport_url ..." after
Nova is started. This will add all compute hosts into a new cell, and
setup a db for cell0.

Change-Id: I50a955b97d0e18426406c15397bdfbc9e807d908
Depends-On: I559f9c87e89926414b368cac9442dec4eadcb89b
2016-08-12 06:48:45 -07:00
Ian Wienand
9162608d6e Revert "stackrc set the LC_ALL to C"
This reverts commit f327b1e1196eacf25e7c4c9e3a7ad30c53bb961c.

The problem being addressed in the original commit was that
rejoin-stack.sh would run with the user's locale, instead of C that
was set in stack.sh

We overlooked that this gets pulled in by openrc, so it is overriding
the user's locale when using clients, etc.

rejoin-stack.sh was removed in
I2f61bb69cc110468a91dcaa4ee7653ede7048467 so we don't have to worry
about that part.  A revert to not touch the user's locale seems
appropriate.

Change-Id: I7c858bb92ce7ba5b5d323bf3ad6776100026c7a2
Closes-Bug: #1608687
2016-08-04 15:21:31 +10:00
Sean Dague
b8286a3a06 remove neutron 3rd party infrastructure
This was used solely by bigswitch, and everyone else has moved over to
devstack plugins. Cleaning this out makes the core logic much simpler.

Depends-On: I8fd2ec6e651f858d0ce109fc335189796c3264b8
(grenade removal)

Change-Id: I47769fc7faae22d263ffd923165abd48f0791a2c
2016-08-03 19:25:45 +00:00
Kashyap Chamarthy
eecb983529 Remove support for End Of Life (EOL) Fedora 22
Fedora 22 reaches its EOL on 19-JUL-2016[1].  Remove it as
officially supported distribution.

The current two supported Fedora distributions are Fedora 23 and Fedora
24.  (Change Ia4a58de4973ef228735c48b33453a0562dc65258 already added
support for Fedora 24.)

[1] https://fedoramagazine.org/fedora-22-end-of-life-2016-july/

Change-Id: I5b4e1ddb6165a9065e80e84175246678a7356f18
2016-07-13 12:36:13 +02:00
Patrick East
657cdcdbd1 Allow for Nova to use os-brick from git
This option to install os-brick from git was only added
into lib/cinder previously. When testing all-in-one nodes
this worked fine, but if you have multi-node setups with
compute nodes that don't install any c-* services we
only get packaged os-brick. With this change non-cinder
nodes can now test against unreleased os-bricks.

Change-Id: Ibb7423d243d57852dada0b6298463bbdfc6dc63c
2016-07-12 09:01:00 -07:00
Jenkins
aeb8d81897 Merge "Add an explicit test-config phase to devstack plugins" 2016-06-14 20:53:12 +00:00
Attila Fazekas
72b233c1e0 Allow to use Fedora 24 with devstack
Looks like f24 does not have any special change compared to the
previous release, we just need to add f24 where f23 present.

Change-Id: Ia4a58de4973ef228735c48b33453a0562dc65258
2016-06-01 16:52:41 +02:00
Jenkins
bc4b96b794 Merge "Neutron: stop creating neutron debug probes" 2016-05-26 04:10:51 +00:00
Sean M. Collins
5e01c47e4d Neutron: stop creating neutron debug probes
They seem to be more trouble than they are worth.

http://lists.openstack.org/pipermail/openstack-dev/2016-May/095476.html

Neutron has already deprecated the utility in
https://review.openstack.org/#/c/318786/

Change-Id: I470ed5bc1cbe754c4bfae41f411150331bc4335d
2016-05-25 09:38:41 -07:00
Ian Wienand
bda194adb9 Skip EPEL & RDO install for CI nodes
If the nodepool info file is around, assume we're on a OpenStack CI
node and skip re-installing EPEL & RDO

Change-Id: Ife80af015b26514098e0633f568e3da35b9eea8c
2016-05-18 10:42:56 +10:00
Jenkins
8bbeb9db0a Merge "Nova conf:don't use deprecated option "fixed_key" from group "keymgr"" 2016-05-17 10:08:12 +00:00