1743 Commits

Author SHA1 Message Date
Ghanshyam Mann
e5505b8b34 Remove retired Qinling support
Qinling project is retiring in Wallaby cycle[1].
This commit removes the usages of Qinling project
before its code is removed.

Needed-By: https://review.opendev.org/c/openstack/qinling/+/764521

[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018638.html

Change-Id: I59a61dda68e66eeaa0526e2b91de9316fd04dee8
2020-11-28 00:05:22 -06:00
Zuul
d169b4f5c7 Merge "Fix Python setup when venv is not used" 2020-11-27 20:26:39 +00:00
Zuul
2c32e66841 Merge "Support for firewalld ZONE option in network interfaces configuration" 2020-11-26 12:59:54 +00:00
Zuul
d8d1d387a3 Merge "Revert "Use OpenStack Victoria release"" 2020-11-26 10:31:59 +00:00
Zuul
bc447fc5d2 Merge "CI: set previous_release to Victoria" 2020-11-26 10:19:34 +00:00
Mark Goddard
c1c0f9d018 Revert "Use OpenStack Victoria release"
This reverts commit 074024d63f9cb364ca16a7a7f0ac94d77ee9466b.

Depends-On: https://review.opendev.org/763959

Change-Id: Ia5715c6914ac454081a95b6e1788e80f53c72e30
2020-11-24 15:12:03 +00:00
Mark Goddard
0766df1673 CI: add dummy1 port for seed upgrade and VM jobs
For some reason this configuration was omitted or incomplete in these
jobs. Without this configuration, Kayobe development configuration adds
eth1 to the breth1 bridge if it exists, or leaves the bridge without a
port otherwise. This can lead to network connectivity issues, if the IP
address of eth1 becomes inaccessible when it is added to breth1.

This change fixes the issue by ensuring that the dummy1 interface
exists, and configuring the aio network to add it to breth1 as a port,
instead of eth1.

Change-Id: I47115e5d8d1fb448cb9e46dc43b56c64987e428b
2020-11-24 10:45:35 +00:00
Piotr Parczewski
e748faea00 Fix Python setup when venv is not used
Set packages argument explicitly as a list to avoid "No package matching
'<generator object select_or_reject at 0x7ff25f341750>' is available" error.

Story: 2008378
Task: 41298
Change-Id: Ibe44583cb93b7dca8f5091c893386a15288af915
2020-11-23 19:51:46 +01:00
Mark Goddard
7226a1b8de CI: set previous_release to Victoria
This controls which release we are upgrading from.

Change-Id: I7abb6a25becde1e8855d1d177fafcb618789f0a1
2020-11-20 08:56:59 +00:00
Bartosz Bezak
d10d95f949 Support for firewalld ZONE option in network interfaces configuration
Change-Id: Id21616b5c03922002cd7c99d6df7976a502b4e3c
Story: 2008369
Task: 41279
2020-11-19 15:19:52 +01:00
ae93b364e5 Add Python3 wallaby unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for wallaby.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Ia29b3cfbedefca0fb6be1e37f0e0b92dc76f41bf
2020-11-18 17:17:44 +00:00
da6debd3b9 Update master for stable/victoria
Add file to the reno documentation build to show release notes for
stable/victoria.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/victoria.

Change-Id: I79b0d63a283b56a12b5acd3aaa740a6be3c3cb6f
Sem-Ver: feature
2020-11-18 17:17:42 +00:00
Michal Nasiadka
074024d63f Use OpenStack Victoria release
Switch all dependencies to use the OpenStack Victoria release.

This commit should be reverted on the master branch once the
Kayobe stable/victoria branch has been cut and RC1 released.

Change-Id: I7f1113577fd48aa0715b644cc66bfca197771ca6
2020-11-05 12:52:13 +00:00
Zuul
51dc10c6e1 Merge "Fix filtering of network names set to an empty string" 2020-11-03 12:10:58 +00:00
Zuul
918c853ce1 Merge "docs: Add link back to Train CentOS 8 migration page" 2020-11-03 09:59:10 +00:00
Zuul
d59d0bfaff Merge "docs: Add initial all-in-one scenario" 2020-11-02 11:35:43 +00:00
Mark Goddard
26045c44a3 docs: Add link back to Train CentOS 8 migration page
Change-Id: Ie8fdaf95fc6fa54430e5f3acb97ae2f0474437e7
2020-10-21 09:22:15 +00:00
Mark Goddard
fd6ee4114b docs: Add initial all-in-one scenario
This change adds a new 'scenarios' section to the configuration
documentation, with an initial 'all in one' scenario.

Change-Id: Ibe9cbbb59e2f72b18fdeb493feb085735edbbf8c
Story: 2004360
Task: 27960
2020-10-15 14:40:16 +00:00
Pierre Riteau
b3c640de7e Fix "Wait for the ironic node to be inspected" task
Variables to customise hardware inspection timeouts were introduced in
change I2e45876f89121d66cf03b50824bd8258517b88cb. Unfortunately, the
wait_inspected_timeout variable is turned into a string despite
inspector_inspection_timeout being originally defined as an integer,
causing the following error:

Unexpected templating type error occurred on ({{ wait_inspected_timeout // wait_inspected_interval }}): unsupported operand type(s) for //: 'str' and 'int'

Change-Id: Ie40a3eed7146e2e2d8b1c08860da395b35ed99d6
Story: 2007844
Task: 40135
2020-10-14 17:54:25 +02:00
Zuul
dd7ff7da48 Merge "Fix failures in Docker storage driver check" 2020-10-14 14:45:11 +00:00
Pierre Riteau
949ed03de5 Fix failures in Docker storage driver check
In some environments the can_talk_to_docker key is missing from the
result of docker_host_info when the call succeeds. Assume we can talk to
Docker if this key is not present, instead of failing due to a missing
attribute error.

Change-Id: I7670410394b0bb5fc96e4166b6a20714f847250b
2020-10-13 23:11:16 +02:00
Zuul
38198be0bd Merge "Configure bifrost to use firewalld trusted zone" 2020-10-12 12:54:35 +00:00
Pierre Riteau
1b48a7130c Synchronise global extra variables files with defaults
In particular, lvm_group_data_enabled variables were missing.

Change-Id: Ia73655812feaf5ce0598cdc71b673126423843a0
2020-10-07 22:53:46 +02:00
Mark Goddard
d2109e1c35 Fix filtering of network names set to an empty string
Currently we filter out networks that are set to None. However, we
should also filter out networks set to an empty string. This affects the
overcloud ironic networks that were disabled in
I300d0ef136224126f25d2c70a80a42afeea5f586 when ironic is disabled.

Story: 2008207
Task: 41076

Change-Id: Iba16d6232e1a6ef069cd3ccb870e5bfa89cd913c
2020-10-07 19:24:50 +00:00
Pierre Riteau
9df0f00bc5 Configure bifrost to use firewalld trusted zone
Without this setting, bifrost creates a bifrost firewalld zone only
allowing network traffic for Ironic services and assigns the
provisioning network interface to it, potentially causing loss of
connectivity.

Using the public zone is suggested as a workaround [1] but is not
sufficient: it allows SSH traffic, but blocks other services deployed on
the seed, such as Docker registry traffic.

[1] https://review.opendev.org/#/c/754406/

Change-Id: I80f9d95f02e11fda5916f9a9dd257b688a9db7e2
Story: 2008153
Task: 40899
2020-10-07 17:38:43 +02:00
Zuul
02c0383914 Merge "dev: fix test scripts when ironic is disabled" 2020-10-06 14:26:29 +00:00
Zuul
6154be4513 Merge "Disable overcloud networks for Ironic when unused" 2020-10-06 14:19:01 +00:00
Zuul
d0d7f07c0b Merge "Disable ironic in the overcloud by default" 2020-10-06 14:18:56 +00:00
Mark Goddard
869185ea7b Switch default docker storage driver to overlay2
To avoid switching existing deployments from devicemapper to overlay2,
we check the existing storage driver configuration directly with the
Docker daemon, or if unreachable by reading the /etc/docker/daemon.json
configuration file.

Co-Authored-By: Pierre Riteau <pierre@stackhpc.com>
Story: 2005667
Task: 30972

Change-Id: Iaf2ee8c9f302f4684ae039bb00b2e2e5969cf1fc
2020-10-05 19:59:11 +00:00
Mark Goddard
6a4e7c4e91 dev: fix test scripts when ironic is disabled
While we always test baremetal compute in CI, development environments
may not. Given that Ironic is now disabled by default, we should make
this work out of the box.

Story: 2008207
Task: 41003

Change-Id: Id3128380f5ff74d24265f6b2132c6d7992bf00ba
2020-10-02 14:24:30 +00:00
Mark Goddard
64fd8e1726 Disable overcloud networks for Ironic when unused
We do not need the workload provisioning, cleaning or inspection
networks when Ironic is disabled in the overcloud.

Change-Id: I300d0ef136224126f25d2c70a80a42afeea5f586
Story: 2008207
Task: 40992
2020-10-02 14:23:10 +00:00
Zuul
1f155b5582 Merge "When EPEL install flag is not set" 2020-10-01 20:34:59 +00:00
Zuul
af96f8002e Merge "Performance: avoid set_fact in Kolla Ansible host vars" 2020-10-01 14:28:48 +00:00
Mark Goddard
f9de6a025d Disable ironic in the overcloud by default
Ironic is now disabled by default in the overcloud. This brings Kayobe's
default set of services into line with Kolla Ansible. For environments
using Ironic in the overcloud, set kolla_enable_ironic to true in
kolla.yml.

Story: 2008207
Task: 40991

Change-Id: I33eb4fa534847e199a599350b525d4762a2beaac
2020-10-01 16:28:30 +02:00
Zuul
cc9a87b12b Merge "CI: Add a CentOS 8 overcloud job with TLS enabled" 2020-10-01 13:55:22 +00:00
Stig Telfer
e5a2818896 When EPEL install flag is not set
The flag dnf_install_epel was being used to predicate installation
of the EPEL RPM repo package, but not preventing the installation
of configuration for access to EPEL.  This small patch completes
the job.

Updates the overcloud host configure CI job to install EPEL mirrors,
since it was previously relying on this buggy behaviour.

Change-Id: Ib417837d0772338b16ea9f7f2540549f277d5de8
2020-10-01 10:04:58 +00:00
Mark Goddard
5bf96da187 Performance: avoid set_fact in Kolla Ansible host vars
When generating host variable files for Kolla Ansible, we have some
heavy usage of set_fact to set variables for network interfaces, in a
play targeted at all hosts. There are also tasks using the fail action
plugin to perform verification.

At scale this has a significant impact, due to the number of tasks
executed against all hosts. These tasks are executed at the beginning of
many commands, so the scope is broad.  There is also some tricky logic
involved, which is difficult to express in Ansible/Jinja.

This change replaces the use of set_fact with a custom Ansible action
plugin. The plugin executes locally on the Ansible controller, and
returns a dict of Ansible facts to set for each host. The plugin is
executed once for each overcloud host, and returns all relevant facts.
The plugin also performs verification. Extraction into a Python module
allows for unit testing.

This has been shown to have a significant improvement on execution time,
particularly as the number of hosts reaches 100 or more.

Story: 2007993
Task: 40641

Change-Id: I443da1ae05fcca2d7d8dff7db563eeda37e9f502
2020-10-01 09:49:28 +00:00
Mark Goddard
081222753c CI: Add a CentOS 8 overcloud job with TLS enabled
Change-Id: I5fc49fb734d0fe94f5f75c66eb4c1a935774ef30
2020-10-01 09:49:21 +00:00
Mark Goddard
b3a61a114f Revert "CI: workaround overcloud upgrade issue with ironic"
This reverts commit bb9a595e5ea16b5ad6500fc57cbee3f1d4035ab1.

Change-Id: Icd7b0f3b02bf3f22468daa8893c043ac9f3be4d6
2020-10-01 07:52:47 +00:00
Mark Goddard
bb9a595e5e CI: workaround overcloud upgrade issue with ironic
Ironic has an issue where nodes will be switched to use the direct
deploy interface during upgrade, if it is enabled. This should be fixed
via https://review.opendev.org/755295, after which this patch should be
reverted.

Change-Id: I55af5d979bdbee9dd963845204c2f082fa7b27d7
2020-09-30 17:19:34 +01:00
Zuul
7c25fec6ca Merge "Remove unneeded doc requirements in molecule tox env" 2020-09-24 11:23:42 +00:00
Zuul
3a8b560d63 Merge "Add missing barbican.conf support" 2020-09-24 10:28:52 +00:00
Pierre Riteau
502d3858bc Remove unneeded doc requirements in molecule tox env
Change-Id: Ie68ba316327437b4503f4a0aa48a58e89d403790
2020-09-24 12:13:13 +02:00
Zuul
ba2df0e1a8 Merge "Performance: Parallelise Kolla Ansible host vars generation" 2020-09-24 09:27:37 +00:00
Zuul
0a08cc77cf Merge "docs: Move development section under contributor guide" 2020-09-24 08:00:41 +00:00
Zuul
3753fbe05d Merge "Docker registry basic auth" 2020-09-24 08:00:36 +00:00
Michal Nasiadka
0f25900a43 Add missing barbican.conf support
Story: 2008170
Task: 40925

Change-Id: I3014983f481a5dca7c93e140b3e10caa5d537669
2020-09-23 19:17:51 +00:00
Pierre Riteau
c585554988 CI: Fix kayobe-tox-molecule job
When molecule runs, it installs ansible>2.8, which is version 2.10.0
since today. This now also installs the ansible-base package, currently
at version 2.10.1. Then it installs the version of ansible required by
kayobe, i.e. ansible>=2.8.0,<2.10.0 (currently 2.9.13).

We end up with a tox molecule venv containing:

ansible==2.9.13
ansible-base==2.10.1

This causes the following issue:

ERROR! Unexpected Exception, this is probably a bug: cannot import name 'AnsibleCollectionLoader' from 'ansible.utils.collection_loader' (/home/zuul/src/opendev.org/openstack/kayobe/.tox/molecule/lib/python3.8/site-packages/ansible/utils/collection_loader/__init__.py)

This commit adds requirements.txt to the molecule tox deps, which
ensures the correct version of ansible gets installed first.

Change-Id: I7ef890a2ae6fd67f53e1b8bca244a1c0d44fea53
2020-09-23 18:34:23 +02:00
Mark Goddard
b12f9e35e5 Performance: Parallelise Kolla Ansible host vars generation
Kayobe generates a host_vars file for each host in the Kolla Ansible
inventory. These contain network interfaces and other host-specific
things. Currently this is done by iterating over all hosts, which does
not scale well with a large number of hosts.

This change extracts the host vars generation into a separate role, and
executes it in a play targeted at all hosts, with delegate_to:
localhost. This ensures that host variable files are generated in
parallel.

Story: 2007993
Task: 40629

Change-Id: Iae75e17024adee9c2874c14d3ed36f4c87ba48d7
2020-09-22 17:06:04 +01:00
wu.shiming
b778ac01cf Bump hacking min version to 3.0.1
hacking 3.0.1 fix the pinning of flake8 to avoid bringing in a new
version with new checks.

bumping the min version for hacking so that any older hacking versions
which auto adopt the new checks are not used.

Change-Id: I3f4fca9a0df2f45241288fd876064433f4e2f737
2020-09-22 15:46:48 +08:00