5316 Commits

Author SHA1 Message Date
Mark Goddard
15591437f3 Workaround ironic inspector startup issue
If ironic inspector starts up before ironic-api is accessible, we see
the following error:

AttributeError: StrictVersion instance has no attribute 'version'

This actually prevents startup of ironic inspector.

Example: http://paste.openstack.org/show/756342/

The underlying issue is in python-ironicclient:
https://storyboard.openstack.org/#!/story/2006393.

The workaround employed here is to wait for ironic-api to become
available before starting ironic-inspector.

Change-Id: I674982eba5082fdc951cdcb8247d706278c64c1a
Closes-Bug: #1839866
2019-10-31 17:11:15 +00:00
Zuul
9852082724 Merge "Fix nova scheduler down after first docker restart" 2019-10-30 16:38:37 +00:00
Zuul
b492a62373 Merge "Fix kolla-bootstrap-servers with docker_storage_driver set" 2019-10-28 20:34:02 +00:00
Zuul
d55dac92dd Merge "Allow passing arguments to RabbitMQ server" 2019-10-28 09:55:25 +00:00
Zuul
a654649be5 Merge "Update swift templates to support swift_extra_ring_files" 2019-10-26 14:30:12 +00:00
Mark Goddard
6bdf202658 Fix nova scheduler down after first docker restart
Due to a Docker bug [1] we cannot use Docker to send
SIGHUP to the container because it will mark it as
stopped.
This patch sends the signal directly to the process,
bypassing Docker.

'changed_when: false' is also removed from the
relevant task as it definitely changes the state.
In the future we could do the refresh only if
there really is a need for another one.

[1] https://github.com/moby/moby/issues/11065

Change-Id: Ief73bbd24568d6941384ea3330ab45f11aa42d37
Co-authored-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
Closes-Bug: #1845244
2019-10-25 12:32:48 +00:00
Jan Vondra
9137828b97 Allow passing arguments to RabbitMQ server
Adds rabbitmq_server_additional_erl_args variable which
is appended to RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS
environment variable to RabbitMQ server startup script.

This can be used to configure the schedulers.

Docs attached.

Change-Id: Id683c8cc6dac61354ffd94f3b460335b42136ba2
Co-authored-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
Related-bug: #1846467
2019-10-25 11:38:45 +02:00
Zuul
4353f0a4dc Merge "Fix swift.conf custom configuration path collision" 2019-10-25 06:27:39 +00:00
Alexis Deberg
5f4c71ee0f Update swift templates to support swift_extra_ring_files
Change-Id: Ie594f6cdbe332d64d3461d84da730111d0db5cf1
Related-Bug: #1844752
2019-10-24 12:31:43 -04:00
Zuul
f83f67320b Merge "Add proper wsgi loglevel when openstack_logging_debug" 2019-10-24 15:34:09 +00:00
Mark Goddard
12987ca0fa Fix kolla-bootstrap-servers with docker_storage_driver set
If docker_storage_driver is set in globals.yml, then kolla-ansible
bootstrap-servers is run, it fails like so:

The conditional check 'docker_storage_driver' failed. The error was: error
while evaluating conditional (docker_storage_driver): 'devicemapper' is
undefined

Ansible does not like evaluating strings as conditionals. This change switches
to using the length filter.

Change-Id: Ib95cbdac2a659e7a0d5f113fe48046de3a39dcda
Closes-Bug: #1849691
2019-10-24 16:15:23 +01:00
Zuul
8915d8a538 Merge "Limit open file descriptors for Neutron agent containers" 2019-10-24 11:16:39 +00:00
Michal Nasiadka
0240763d7d Add proper wsgi loglevel when openstack_logging_debug
Change-Id: I51144d92f34ed51c499a4119c059e6475d02eb46
2019-10-24 09:33:05 +00:00
Mark Goddard
86ccefc623 Fix swift.conf custom configuration path collision
Both swift.conf and proxy-server.conf are affected be
/etc/kolla/config/swift/proxy-server.conf. However, some options in
proxy-server.conf are not valid in swift.conf.

This change keeps this path for proxy-server.conf, but modifies the path
for swift.conf to /etc/kolla/config/swift/proxy-server/swift.conf. The
same applies for other services, object-*, account-*, container-*.

Change-Id: I600891a15244ce705861f6ec93eec1d5ba83c1b8
Closes-Bug: #1849265
2019-10-24 09:44:31 +01:00
Zuul
0280b41a38 Merge "Zun: fix Cinder (volume) iSCSI support" 2019-10-24 08:42:08 +00:00
Zuul
d40bdf4005 Merge "Remove delegate_to from service-ks-register tasks" 2019-10-24 03:00:15 +00:00
Radosław Piliszek
01135e0f4d Zun: fix Cinder (volume) iSCSI support
Fixes /dev volume, missed in the previous commit [1].
iscsid was installing the devices in /dev but zun-compute
could not see them due to the emulated /dev volume.

[1] I2c4aa666ff9f952e32c450347d31ddbf2e58209e

Change-Id: Ic72c910b92765b9a6f59224728e9c4ea2482bc5a
Related-bug: #1797448
Related-bug: #1848933
2019-10-23 17:27:34 +02:00
Zuul
5c9d492c20 Merge "Perform database migration in monasca upgrade" 2019-10-23 13:58:46 +00:00
Zuul
c453d09bb0 Merge "Swift: compute the list of containers dynamically in the reconfigure task" 2019-10-23 11:22:03 +00:00
Zuul
6cba845846 Merge "Extract cephx keys from vault encrypted files" 2019-10-23 10:04:01 +00:00
Zuul
96663e2c0f Merge "Zun: add Cinder (volume) iSCSI support" 2019-10-22 12:56:44 +00:00
Zuul
111adf3bc4 Merge "[nova][train] Remove deprecated RetryFilter" 2019-10-22 09:23:54 +00:00
Alexis Deberg
9622ab9693 Swift: compute the list of containers dynamically in the reconfigure task
If swift_has_replication_network is false some containers do not exist on the
target node.
This commit adds steps to compute the final list of containers to act on.

Change-Id: I12f8de53724c3f24832df83597f36f9614af8e75
Closes-Bug: #1849189
2019-10-21 17:46:35 -04:00
Mark Goddard
c6392ed1aa Perform database migration in monasca upgrade
Currently the database is only synced during deployment. This change
performs the sync during upgrade as well.

Change-Id: Ia45fc733a1ab69de9d4762f5d9c8767041eeaed3
Closes-Bug: #1832020
2019-10-21 16:26:08 +01:00
Zuul
44d998e506 Merge "Add unit tests for Nova Cells filters" 2019-10-21 14:48:32 +00:00
Jan Horstmann
44709f4132 Extract cephx keys from vault encrypted files
Cephx keys are not picked up by "local_action: shell cat [...]"
when using ansible-vault encrypted keyrings.
This commit changes the logic to use the file lookup plugin and
extracts the key using jinja2 regex filters. The raw keys are then
set as ansible facts.

Closes-Bug: 1849127

Change-Id: Iacb1e42307c4de6a7a379e8cf279e073995fd5d3
2019-10-21 16:14:26 +02:00
Will Szumski
ae5acc7f3c Limit open file descriptors for Neutron agent containers
See https://bugs.launchpad.net/oslo.rootwrap/+bug/1760471, in particular
comment #1 for an explanation of why inheriting the defaults of the
docker daemon can cause poor performance:

The performance difference likely comes from close_fds=True of subprocess.
Popen. On Python 2, Popen calls close(fd) on all file descriptors from 3 to
SC_OPEN_MAX. On my Fedora 27 "host", SC_OPEN_MAX is 1,024. But in docker,
SC_OPEN_MAX is... 1,048,576: 1,000x larger. On Python 3, Popen is smarter. On
Linux, it lists the content of /proc/self/fd/ to only close open file
descriptors. It doesn't depend on SC_OPEN_MAX value.

Change-Id: Iefef6039644192420abbd3bf614329cbc0d9a62a
Closes-Bug: #1848737
Related-Bug: #1760471
Related-Bug: #1757556
Related-Bug: #1824020
2019-10-21 13:36:11 +00:00
Zuul
160af32c2c Merge "[train] Add required Tacker Conductor config and docs" 2019-10-21 13:17:00 +00:00
Zuul
b71068c3e6 Merge "Do not disable IPv6 in Tempest" 2019-10-21 09:22:32 +00:00
Eduardo Gonzalez
b96ade3cf0 [train] Add required Tacker Conductor config and docs
Tacker requires config for storing CSAR vnf packages.
This patch adds it as well as relevant docs.
Only one Tacker Conductor is deployed by default due to
lack of a shared filesystem.

Change-Id: Iad391f35105e79fa9319502256528990915df9b7
Co-authored-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
Closes-Bug: #1845142
2019-10-21 11:15:29 +02:00
Radosław Piliszek
099a33c87d [train] Finish configuring Zun to use Placement
This also enables Placement when Zun is enabled like Kolla Ansible
already does with Nova.

Change-Id: Id2a09f702e8503b49d2b9e73e06b2ce9f4d168a9
Closes-bug: #1840573
2019-10-20 19:33:56 +02:00
Radosław Piliszek
4d398f4b7f Fix placement being enabled always instead of with nova
Adds "| bool".

Backportable to Stein.

Change-Id: Ifa2aa387be46beb6da1d3c5a5e0da1b561af8cee
Closes-bug: #1848937
2019-10-20 19:30:21 +02:00
Radosław Piliszek
2447c161b8 Zun: add Cinder (volume) iSCSI support
This makes iSCSI with Zun and Cinder work out-of-the-box.
(LVM included)

Change-Id: I2c4aa666ff9f952e32c450347d31ddbf2e58209e
Related-bug: #1797448
Closes-bug: #1848933
2019-10-20 18:27:37 +02:00
Doug Szumski
8e068099de Add unit tests for Nova Cells filters
This moves the Nova Cells filters alongside the service filters
for ease of testing.

Partially Implements: blueprint support-nova-cells
Change-Id: I32d35c065812c6b46c64bacdf283a0bdad0f8a0f
2019-10-18 13:13:32 +00:00
Michal Nasiadka
2585788982 Use versioned python binary with fetch ceph keyrings
Depends-On: https://review.opendev.org/688636/

Change-Id: I9918ff6a91acde2a7d184e44b8a1014462596e39
2019-10-18 12:00:22 +02:00
Radosław Piliszek
ebf88232dd [nova][train] Remove deprecated RetryFilter
Affects config with Blazar and fake Nova only.
The default does not include it.

Upstream docs:
RetryFilter - Deprecated since version 20.0.0 (Train)
Since the 17.0.0 (Queens) release, the scheduler has provided
alternate hosts for rescheduling so the scheduler does not need to
be called during a reschedule which makes the RetryFilter useless.

Change-Id: I26bf45997005124e9166b5bf1d44cb276624430b
2019-10-18 10:30:37 +02:00
Zuul
b73b9eab26 Merge "Fix OpenSSL template" 2019-10-18 07:14:08 +00:00
Zuul
5aa77e5457 Merge "Neutron: add support to use legacy iptables" 2019-10-18 05:53:21 +00:00
Zuul
bcbcee90d0 Merge "Refactor NSS database var" 2019-10-18 03:38:34 +00:00
Zuul
bb3c3df400 Merge "Openvswitch: some ovs tools require ovs daemons pidfiles" 2019-10-17 19:19:25 +00:00
Zuul
dffbfd6c6d Merge "Fixes missing boolean for Neutron FWaaS" 2019-10-17 14:04:22 +00:00
Radosław Piliszek
baa85527c9 Do not disable IPv6 in Tempest
IPv6 need not have been disabled in Tempest before either.

Change-Id: I77f691b6b028d1a7f57537442a79557ede5f861e
2019-10-17 13:58:34 +02:00
Zuul
cdfc1c2344 Merge "Set RabbitMQ cluster_partition_handling to pause_minority" 2019-10-17 10:38:57 +00:00
Jan Vondra
e54edb55e4 Neutron: add support to use legacy iptables
neutron_legacy_iptables option sets the KOLLA_LEGACY_IPTABLES
environment variable in the neutron-l3-agent, neutron-linuxbridge-agent
and neutron_openvswich_agent container where it should be consumed
by kolla_extended_start script resulting in setting iptables-legacy.

Depends-On: https://review.opendev.org/#/c/683679/
Change-Id: Iaa8b46a2227b61a729b8d54bbe4b20f389f251d1
2019-10-17 09:42:00 +00:00
Zuul
f2042a878e Merge "Support multiple nova cells" 2019-10-17 08:44:23 +00:00
Radosław Piliszek
4443a53b88 Fix OpenSSL template
OpenSSL certificate should default to FQDN if possible.
Using IP addresses is not recommended, complicates dual stack
and limits addressing flexibility.

IPv6 control plane implementation [1] follow-up.

[1] Ia34e6916ea4f99e9522cd2ddde03a0a4776f7e2c

Change-Id: Ibfc02f933ddcc170e9d616d401e294ba0ff5e981
2019-10-17 08:49:32 +02:00
Radosław Piliszek
75862bc751 Refactor NSS database var
IPv6 control plane implementation [1] follow-up.

[1] Ia34e6916ea4f99e9522cd2ddde03a0a4776f7e2c

Change-Id: I4c2bd81e77fc09a04838a62f008e5d6c5dc1483d
2019-10-17 08:37:09 +02:00
Zuul
e7a85726d2 Merge "Implement IPv6 support in the control plane" 2019-10-16 18:22:23 +00:00
Doug Szumski
78a828ef42 Support multiple nova cells
This patch adds initial support for deploying multiple Nova cells.

Splitting a nova-cell role out from the Nova role allows a more granular
approach to deploying and configuring Nova services.

A new enable_cells flag has been added that enables the support of
multiple cells via the introduction of a super conductor in addition to
cell-specific conductors. When this flag is not set (the default), nova
is configured in the same manner as before - with a single conductor.

The nova role now deploys the global services:

* nova-api
* nova-scheduler
* nova-super-conductor (if enable_cells is true)

The nova-cell role handles services specific to a cell:

* nova-compute
* nova-compute-ironic
* nova-conductor
* nova-libvirt
* nova-novncproxy
* nova-serialproxy
* nova-spicehtml5proxy
* nova-ssh

This patch does not support using a single cell controller for managing
more than one cell. Support for sharing a cell controller will be added
in a future patch.

This patch should be backwards compatible and is tested by existing CI
jobs. A new CI job has been added that tests a multi-cell environment.

ceph-mon has been removed from the play hosts list as it is not
necessary - delegate_to does not require the host to be in the play.

Documentation will be added in a separate patch.

Partially Implements: blueprint support-nova-cells
Co-Authored-By: Mark Goddard <mark@stackhpc.com>
Change-Id: I810aad7d49db3f5a7fd9a2f0f746fd912fe03917
2019-10-16 17:42:36 +00:00
Viktor Michalek
492940be7b Openvswitch: some ovs tools require ovs daemons pidfiles
Change-Id: I4050c243f05571bbebab07b08c101e61879cda67
Closes-Bug: 1848363
2019-10-16 19:02:50 +02:00