1495 Commits

Author SHA1 Message Date
Jenkins
bc8d7ef89e Merge "Start placement before services that might like to use it" 2017-06-06 00:01:06 +00:00
Jenkins
64d20857ed Merge "Enable opensuse-42.2 as a tested distro" 2017-06-05 23:56:45 +00:00
Dirk Mueller
e61e19ee82 Enable opensuse-42.2 as a tested distro
openSUSE 42.2 passes testing on the experimental gate and
in order to add it as continuosly tested target we need to
add it to the positive list of tested distributions.

Change-Id: I46f94cfad828534f324994c3d21bddff40e8f9a2
2017-06-05 19:28:30 +02:00
Chris Dent
7a74c2ab24 Start placement before services that might like to use it
Otherwise those services, notably n-cpu, will try to register
resource providers before placement is ready.

Change-Id: I89fd4fa42baf3d19ee209c59cd85b97adb97c58b
Closes-Bug: #1695634
2017-06-05 16:18:46 +00:00
Jenkins
a718b5ea92 Merge "Use proper python when configuring certs" 2017-05-31 19:59:59 +00:00
Clark Boylan
4baac65725 Use proper python when configuring certs
We have to do silly overrides of cert locations for requests for
reasons. If we are running under python3 then we were previously looking
in the wrong location for the requests certs. Update the cert fixing
function to properly use python3 to find the certs if python3 is
enabled.

Change-Id: Id1369da0d812edcf9b1204e9c567f8bfe77c48b2
2017-05-27 20:57:56 -07:00
Jenkins
4ae18aec88 Merge "stack: Workaround libvirt issue with multiple of 16 byte fixed_key values" 2017-05-26 19:22:30 +00:00
Jenkins
7b230532dc Merge "Get rid of zookeeper from devstack" 2017-05-25 18:46:09 +00:00
Davanum Srinivas
c0d16c279a Get rid of zookeeper from devstack
In Ibbb430fb1dbf66942168e0cb52d990ab6a2eb8d7, we are adding
etcd3 as a new base service. We should drop zookeeper
and use etcd3 as the backend.

Since cinder is the first service for this tooz+etcd3 DLM
scenario and cinder uses eventlet we have cannnot use the
grpc based driver in tooz. So new CINDER_COORDINATION_URL
that defaults to the etcd3's grpc HTTP gateway based
tooz backend.

We need to hold this change until the tooz change (see
Depends-On) is available in a tooz release.

Depends-On: I6184ed193482dad9643ccb2b97133d4957485408
Change-Id: Ia187e1a86413edf25b909b6bb57e84fb4930a696
2017-05-24 14:13:27 +00:00
Andreas Scheuring
94b9fae4e9 Allow disabling etcd3
Etcd3 was enabled recently as new service in devstack [1]. But there's
no way to disable etcd3. This is required on architectures where no etcd
binaries are available (e.g. s390x). The long term goal of course should
be to have those binaries available. The short term circumvention is to
allow disabling the service in local.conf:

   disable_service etcd3

[1] 546656fc05
Change-Id: I6184ed193482dad9643ccb2b97133d4957485408
Partial-Bug: #1693192
2017-05-24 15:32:03 +02:00
Davanum Srinivas
546656fc05 etcd3 as a base service
ETCD_DOWNLOAD_URL is set to github url, in our CI, we can point
ETCD_DOWNLOAD_URL to a url in tarballs.openstack.org possibly
in devstack-gate

Download the etcd binaries and drop them into /opt/stack/bin and
use it from there. Cache the tgz for subsequent use (local workflow)

daemon-reload is called twice once from inside the write_user_unit_file
and then when we adjust the entries with additional things recommended
by the etcd team. We need a better way to do this in the future.

Added a TODO to verify the downloaded artifact later. The etcd team
posts gpg signature, we could verify that or run sha256sum and hard
code that in lib/etcd3 file. We would have to update it whenever we
bump the etcd3 version.

We use the public key "CoreOS Application Signing Key <security@coreos.com>"
with ID FC8A365E to verify the integrity of the downloaded file

Any jobs that need to be run on architectures where v3.1.7 is not available
should rey the v3.2.0-rcX release candidates. We can switch to v3.2.0
when it gets released.

Initial version of this code was borrowed from the dragonflow
repo:
http://git.openstack.org/cgit/openstack/dragonflow/tree/devstack

Change-Id: Ibbb430fb1dbf66942168e0cb52d990ab6a2eb8d7
2017-05-22 21:57:48 +00:00
Lee Yarwood
00ff904b09 stack: Workaround libvirt issue with multiple of 16 byte fixed_key values
Unable to use LUKS passphrase that is exactly 16 bytes long
https://bugzilla.redhat.com/show_bug.cgi?id=1447297

Change-Id: I565339762549b076119ffedb6b83abfa12977f5e
2017-05-19 13:49:35 +01:00
Dan Smith
1f55d38911 Add systemd ulimit override function and set an override for NOFILE
This sets our default ulimit NOFILE to 2048, which is double what we
set things like mysql'd max_connections to.

Change-Id: I5126bed1e6b9f8c64db00eae4151ac61e47b1bf8
2017-05-16 09:23:28 -07:00
Jenkins
ac042d4122 Merge "remove out of date heat references" 2017-05-16 15:15:34 +00:00
Sean Dague
e264b4ab32 disable journald rate limiting
systemd-journald has rate limiting built in, but that's not sufficient
for the level of logging of OpenStack services during test
runs. Disable the rate limiting so that no log messages are lost.

Change-Id: I64599aba74c5a39276bb8f946cd236600b9cc81b
2017-05-04 15:56:37 -04:00
Sean Dague
3336b4bed6 remove out of date heat references
This removes some remnant heat code and references now that heat is
running in a plugin. Before merging this patch the heat team should
verify they got everything they needed into their heat plugin, as
there were more parts left than I was expecting.

Change-Id: I477e3a6e75591aa8ff836c28f7ef56aa1b5f8727
2017-05-03 08:23:29 -04:00
Sean Dague
8b8441f3be Default developer use case to systemd
This moves the developer use case over to systemd, and updates all the
relevant docs to discuss the systemd workflow instead of screen. It
does so by defaulting USE_SCREEN=False, so will not impact people that
set it explicitly.

Change-Id: I6d664612bc2b850eb7f56852afbc841867223ab7
2017-05-02 06:44:22 -04:00
Jenkins
7f8df450db Merge "make USE_SCREEN=False imply USE_SYSTEMD=True" 2017-05-01 19:23:10 +00:00
Sean Dague
c006bbdeb2 make USE_SCREEN=False imply USE_SYSTEMD=True
In order to start making the transition in the gate make
USE_SCREEN=False also mean USE_SYSTEMD=True. We'll never actually
declare USE_SYSTEMD=True in the gate (as that doesn't exist for stable
branches), but this will let us roll over the existing transition.

We also have to install systemd-python 234 because we are recording
exception info in the journal, and all versions before that had a bug
in processing that.

Remove the somewhat pointless screen following journalctl commands. We
really don't want or need those, and they tend to build up over time.

Depends-On: I24513f5cbac2c34cf0130bf812ff2df6ad76657c

Change-Id: I6af6d1857effaf662a9d72bd394864934eacbe70
2017-04-28 13:21:22 +00:00
Jenkins
a8204752e3 Merge "neutron-legacy: Defer service_plugins configuration" 2017-04-26 21:22:09 +00:00
Jenkins
487777f5c7 Merge "Enable EPEL mirror by default" 2017-04-18 18:14:17 +00:00
Sean Dague
604e598e2a Install and enable apache uwsgi proxy
The uwsgi proxy version that comes with Ubuntu xenial is too old, so
we have to build it from source. This is a temporary solution until
the next LTS.

This lays the ground work for using it in keystone.

Change-Id: I00fb1759e6988c7df0ce0f3df5ff1ce9fd7cd381
2017-04-17 14:51:44 -04:00
Sean Dague
f3b2f4c853 Remove USE_SSL support
tls-proxy is the way we're now doing a standard install using https
between services. There is a lot more work to make services directly
handle https, and having python daemons do that directly is a bit of
an anti pattern. Nothing currently tests this in project-config from
my recent grepping, so in the interest of long term maintenance,
delete it all.

Change-Id: I910df4ceab6f24f3d9c484e0433c93b06f17d6e1
2017-04-17 07:27:32 -04:00
Paul Belanger
bc4b8eb5bf
Enable EPEL mirror by default
We recently disabled EPEL in openstack-infra, enable it again.

Change-Id: I213b302b34b740354d63b69e8ac7f4e1b3d3cdd7
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-04-13 15:07:29 -04:00
Leticia Wanderley
7f80649eaf Removes double colon on script comments
A few comment lines on stack.sh had two colons where only one colon
was necessary.

Change-Id: Ia02e1ca28a8fadc2e5477201887a1f4d59996db8
2017-04-10 01:09:54 +00:00
Jenkins
98f43678f1 Merge "Change mode of DATA_DIR to 0755 as well" 2017-04-02 09:11:56 +00:00
Hongbin Lu
571ba8b3bb Change mode of DATA_DIR to 0755 as well
It looks libvirt/qemu requires mode 0755 to functioning properly,
but DATA_DIR won't be set to 0755 if it is different from default.

Change-Id: I37ca0b02b6a75b3756860b547e84c37ccfc99d13
Closes-Bug: #1677421
2017-03-30 18:07:00 -04:00
Clark Boylan
f85e0ba353 Enable Kernel Samepage Merging by default
In an effort to reduce memory consumption enable KSM by default. The
biggest win here is when using libvirt with nova or ironic with its
fake baremetal instances. In theory any process that runs duplicates
with mergeable memory will benefit though.

Change-Id: I4c5addfd3e83b6516023b36cbaabd5169f0d5ceb
2017-03-29 10:54:58 -07:00
David Rabel
a4c57cadf2 Replace "sid" and "testing" by "stretch"
Supported Debian distros (codenames) are "sid", "testing",
and "jessie", but it should be "stretch" and "jessie".

"testing" is no codename and therefore should be replaced by
"stretch".

"sid" changes all the time and cannot be guaranteed to run
correctly or is at least not tested.

Change-Id: Id4b80a055452bbff69036d4dc1adeda46ce99664
Closes-Bug: #1673810
Closes-Bug: #1674416
2017-03-20 17:41:19 +01:00
Édouard Thuleau
93a4156015 Don't create keystone account for disabled service
If service is disabled, don't expect to create the corresponding
keystone account.

Change-Id: I007088862de1c8643eca3a6b9b313f0125b9b8d1
2017-03-09 19:07:07 +01:00
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
YAMAMOTO Takashi
a1875b1ffc neutron-legacy: Defer service_plugins configuration
This allows post-config phase to use neutron_service_plugin_class_add
so that devstack plugins can use it in the same way for both of
neutron-legacy and its "modern" counterpart, lib/neutron.

Closes-Bug: #1667037
Change-Id: I9068fd608e82e70db8d725f92269a26920efebcb
2017-02-24 11:02:44 -05: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