473 Commits

Author SHA1 Message Date
Zuul
e2b25023d9 Merge "Add extend_lists option to merge_yaml" 2020-05-13 14:31:47 +00:00
Zuul
c3a4f78d14 Merge "Stop mocking ansible modules globally" 2020-05-12 21:31:13 +00:00
Mark Goddard
100f92563f CI: Blacklist Ansible 2.9.8
Ansible 2.9.8 includes a regression on the fileglob plugin [1] that
causes the HAProxy role to fail.

This change blacklists Ansible 2.9.8 to work around the issue.

[1] https://github.com/ansible/ansible/issues/69450

Change-Id: I12ca3b154fc7fed6a221880596e0acb5f6278bb7
Related-Bug: #1878192
2020-05-12 11:55:44 +00:00
Will Szumski
69a6acf7a8 Add extend_lists option to merge_yaml
This allows you to extend lists in yaml config. This is useful, for
example, in prometheus.yml, where it would be nice to be able to
extend the scrape_configs to include exporters that aren't packaged
with kolla-ansible. This would provide a mechanism to do so.

Change-Id: I7a10e363f42e8ffaae3c0d2c2a758853e2cab7e1
Related: blueprint custom-prometheus-targets
2020-05-11 13:47:12 +01:00
Will Szumski
4fcbdd7740 Stop mocking ansible modules globally
This causes non-local side effects that are hard to track down. E.g:

--- import errors ---
Failed to import test module: tests.test_merge_yaml
Traceback (most recent call last):
  File "/home/will/.pyenv/versions/3.7.7/lib/python3.7/unittest/loader.py", line 436, in _find_test_path
    module = self._get_module_from_name(name)
  File "/home/will/.pyenv/versions/3.7.7/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
    __import__(name)
  File "/home/will/code/kolla-ansible/tests/test_merge_yaml.py", line 19, in <module>
    from ansible.errors import AnsibleModuleError
ModuleNotFoundError: No module named 'ansible.errors'; 'ansible' is not a package

This `'ansible' is not a package` message occurs because ansible is a Mock.

Depends-On: https://review.opendev.org/#/c/726768/
Change-Id: Iddbdd3d855daadbf12536cc990559e6b8e123051
2020-05-11 13:47:12 +01:00
Radosław Piliszek
7d73246fe7 OVN IPv6
Fixes:
- SB/NB DB address format (single host) for SB/NB DB daemon
- SB/NB DB address format (all hosts) for Neutron / northd /
  ovn-ovs bootstrap
- OVN tests

Change-Id: I539773c48f89b731d068280c228ce11782bf5788
Closes-Bug: #1875222
2020-05-01 18:03:14 +02:00
Hongbin Lu
91678f67af Zun: Add zun-cni-daemon to compute node
Zun has a new component "zun-cni-daemon" which should be
deployed in every compute nodes. It is basically an implementation
of CNI (Container Network Interface) that performs the neutron
port binding.

If users is using the capsule (pod) API, the recommended deployment
option is using "cri" as capsule driver. This is basically to use
a CRI runtime (i.e. CRI plugin for containerd) for supporting
capsules (pods). A CRI runtime needs a CNI plugin which is what
the "zun-cni-daemon" provides.

The configuration is based on the Zun installation guide [1].
It consits of the following steps:
* Configure the containerd daemon in the host. The "zun-compute"
  container will use grpc to communicate with this service.
* Install the "zun-cni" binary at host. The containerd process
  will invoke this binary to call the CNI plugin.
* Run a "zun-cni-daemon" container. The "zun-cni" binary will
  communicate with this container via HTTP.

Relevant patches:
Blueprint: https://blueprints.launchpad.net/zun/+spec/add-support-cri-runtime
Install guide: https://review.opendev.org/#/c/707948/
Devstack plugin: https://review.opendev.org/#/c/705338/
Kolla image: https://review.opendev.org/#/c/708273/

[1] https://docs.openstack.org/zun/latest/install/index.html

Depends-On: https://review.opendev.org/#/c/721044/
Change-Id: I9c361a99b355af27907cf80f5c88d97191193495
2020-04-30 02:22:20 +00:00
Marcin Juszkiewicz
30b8eed1cd CI: Fix Debian aarch64 jobs
Debian defaults to Python2 which is not complete in aarch64 images.
This patch changes CI to always use Python3.

We need to install several Python modules to have working ussuri jobs.

"Failed to import the required Python library (setuptools) on primary's Python /usr/bin/python3."

And then several Python2 ones for train->ussuri upgrade jobs:

"Unable to find any of pip2 to use. pip needs to be installed."

Change-Id: Ia0d3ff15d97d1cabbb0b8e7f32e8712ca3f94732
2020-04-28 19:15:06 +02:00
Radosław Piliszek
234272eb64 Cleanup py27 support
Removes and/or replaces all mentions of py27.

Cleans up obsolete requirements and their lower-constraints.

Separates test-requirements.

Makes lower-constraints pass outside of CI (MarkupSafe).

Adds FIXMEs about some hacky Mocks that may misbehave.

Change-Id: Ifc090bf3c1db17d8542ee591c91e8225a597bfe2
2020-04-26 12:16:44 +02:00
Radosław Piliszek
3036c7cfda CI: Make bashate happy
Bashate warned on init-swift.sh because of E043 -- arithmetic
compound has inconsistent return semantics: (( next_port++ ))
New Zuul reported that on every change as a warning.
This is fixed here.

This change makes Bashate always produce errors so that we do not
introduce such warnings again.

Change-Id: I40166b377ec2580e17901375b636183bca492d3a
2020-04-24 15:57:55 +02:00
Zuul
ca9e6f1a4e Merge "Improve CI ansible plays to pass ansible-lint" 2020-04-21 21:15:20 +00:00
Marcin Juszkiewicz
f40886f6d2 Improve CI ansible plays to pass ansible-lint
Change-Id: I150c8952aad7b6fdb1260b343c26a96fb2360bce
2020-04-21 18:05:42 +00:00
Zuul
5273828fae Merge "Remove support for Python 2 on the host" 2020-04-21 17:01:25 +00:00
Zuul
9f54c6fd1b Merge "Remove support for CentOS 7" 2020-04-20 16:57:53 +00:00
Mark Goddard
284f492861 Remove support for Python 2 on the host
Drops support for creating Python 2 virtualenvs in bootstrap-servers,
and looking for a python2 interpreter in the kolla-ansible script.

Also forces the use of Python 3 as the remote interpreter in CI on
Debian and Ubuntu hosts, since they typically symlink the unversioned
interpreter to python2.7.

Change-Id: Id0e977de381e7faafed738674a140ba36184727e
Partially-Implements: blueprint drop-py2-support
2020-04-20 16:18:31 +00:00
Zuul
e17ac13c6b Merge "OVN: Followup changes" 2020-04-17 10:47:06 +00:00
Michal Nasiadka
ca380e6d30 OVN: Followup changes
Followup of last reviews from [1].

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

Change-Id: I7085093b20e8848e09dc521ae9fbf120e909470d
2020-04-16 18:13:35 +02:00
Zuul
2ba903de0d Merge "CI: do not build images on aarch64" 2020-04-16 15:59:13 +00:00
Marcin Juszkiewicz
3d653038dc CI: do not build images on aarch64
We publish those images for a while.

Change-Id: Ifc157b43e87e4f77a1c70d98343bd0ef9cc0de79
2020-04-16 09:29:07 +00:00
Zuul
975db2b2b4 Merge "OVN Support" 2020-04-15 20:51:57 +00:00
Zuul
573390303c Merge "CI: do 12 attempts to connect to test instance" 2020-04-10 20:17:06 +00:00
Marcin Juszkiewicz
bfd661a600 CI: tell Nova which CPU to emulate on AArch64
AArch64 does not have a way to get cpu features from libvirt.

Change-Id: Ieed404e17e8a9829f38c03f7ee7fdb3caa3919e8
2020-04-10 16:50:22 +00:00
Marcin Juszkiewicz
6f24582eb9 CI: do 12 attempts to connect to test instance
AArch64 needs a bit more time to boot testing instance. So give it more
time by doubling amount of connect attempts.

Change-Id: I87ca65691dfbac84349e8af24d2f36f1db1c8be1
2020-04-10 16:50:04 +00:00
Zuul
2d8edc374d Merge "Add support for encrypting backend Keystone HAProxy traffic" 2020-04-09 16:10:50 +00:00
James Kirsch
b475643c11 Add support for encrypting backend Keystone HAProxy traffic
This patch introduces an optional backend encryption for Keystone
service. When used in conjunction with enabling TLS for service API
endpoints, network communcation will be encrypted end to end, from
client through HAProxy to the Keystone service.

Change-Id: I6351147ddaff8b2ae629179a9bc3bae2ebac9519
Partially-Implements: blueprint add-ssl-internal-network
2020-04-09 09:22:55 +00:00
Michal Nasiadka
8a0740df97 OVN Support
Implement OVN Ansible role.

Implements: blueprint ovn-controller-neutron-ansible

Depends-On: https://review.opendev.org/713422
Change-Id: Icd425dea85d58db49c838839d8f0b864b4a89a78
2020-04-09 07:40:12 +02:00
Mark Goddard
f4e20a1f16 Remove support for CentOS 7
CentOS 8 support is now fairly complete - time to drop CentOS 7.

Partially-Implements: blueprint centos-rhel-8

Change-Id: I940b1d3eceb98e16fa366c243672f588b1412d70
2020-04-08 17:05:10 +01:00
Zuul
fa49143f10 Merge "Update hacking for Python3" 2020-04-06 06:43:46 +00:00
Andreas Jaeger
454489762c Update hacking for Python3
The repo is Python 3 now, so update hacking to version 3.0 which
supports Python 3.

Fix problems found by updated hacking version.

Remove hacking and friends from lower-constraints, they are not needed
during installation.

Change-Id: I7ef5ac8a89e94f5da97780198619b6facc86ecfe
2020-04-04 17:00:17 +02:00
Radosław Piliszek
ed1b74a35b CI: Avoid tox (and clean up gate setup)
We don't need tox nor tell our users to use it when doing kolla
builds.
Tox is going away from base infra images.
It's already gone from aarch64 (arm64) ones.

Change-Id: I2eb5203ad93c011b8806f4b6fb56db081c14a2cb
2020-04-03 18:04:52 +01:00
Zuul
0c1b6c8a4b Merge "Use unittest.mock instead of PyPI mock" 2020-04-03 13:29:25 +00:00
Radosław Piliszek
5648ad6e9d Use unittest.mock instead of PyPI mock
Now that py2 is gone, oslotest dropped dependency on mock and will
soon affect Ussuri CI [1], let's use unittest.mock built in py3.

This also fixes py38 jobs and proactively prevents py36 and py37
failing due to [1]. This is because we never included mock in
test-requirements (but in lower-constraints where it does not
really belong at all) and instead relied on oslotest to bring
it in.

[1] https://review.opendev.org/716322

Change-Id: I30e82e2d87418272a71c7ee089a8acdaf8872158
2020-04-02 18:21:01 +02:00
Radosław Piliszek
641b22b2ef CI: Always use upper-constraints
In stable branches we are getting hit by more py2-incompats.
Let's pin u-c in all CI pip invocations.

Change-Id: Ie2bcc7c115cd2aaf4639d90803216011b346daf3
2020-03-30 20:42:08 +02:00
Zuul
0718a1a90c Merge "CI: Enable fluentd in MariaDB jobs" 2020-03-19 17:19:06 +00:00
Michal Nasiadka
b2d45e5b87 CI: Add instance console log to test-core-openstack.sh
Sometimes ping & ssh to the instance are failing - outputting instance console
log can help in the case when there are metadata access issues (or other
issues).

Change-Id: I8437300d621448782e964d877b2614ca606f5849
2020-03-19 12:24:59 +01:00
Michal Nasiadka
866a6ba16a CI: Enable fluentd in MariaDB jobs
Since fluentd is disabled in MariaDB jobs - haproxy logs are not getting
populated.

Change-Id: I56b3fc1be6940d97905cdb2c4452b846f106c071
Depends-on: https://review.opendev.org/713704
2020-03-19 09:01:23 +00:00
Zuul
71a058d2f8 Merge "CI: install tox" 2020-03-17 21:14:21 +00:00
Michal Nasiadka
81ebae8fd1 CI: Change ceph-ansible docker tag to latest-nautilus
ceph-ansible by default uses "latest" tag for ceph Docker Hub images,
but recently latest tag has been upgraded to be Octopus release,
not Nautilus.

Change-Id: I5247c10079ab91cce130cd5ba403f25ccaf7c1fb
2020-03-17 11:20:36 +01:00
Mark Goddard
dd1ebf20ca CI: install tox
tox will be removed from the base image. Install it before that happens.

This change is made in a simple way that can be easily backported.

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

Change-Id: I4181654c88554c81940f0d079cf1d64326cdec79
2020-03-17 09:51:00 +00:00
Zuul
c63722f32a Merge "CI: Ignore neutron-server CRITICAL about WSREP" 2020-03-16 13:22:04 +00:00
Radosław Piliszek
16ade28d5f CI: Ignore neutron-server CRITICAL about WSREP
We are getting this randomly on neutron-server shutdown
for upgrade.
As it does not affect real operations (and if it did,
we would definitely see it now), let's ignore it.

Change-Id: Ibe561517d44a1108e8223442a71fab36b69c2258
Related-bug: #1863579
2020-03-16 10:00:46 +00:00
Zuul
5a11f14b1b Merge "CI: Debug init-runonce" 2020-03-15 20:18:18 +00:00
Zuul
ee7d2979eb Merge "CentOS 8: CI: Add upgrade job" 2020-03-06 11:01:19 +00:00
Mark Goddard
29f223c02a CentOS 8: CI: Add upgrade job
Test upgrade from CentOS 8 train to CentOS 8 master.

Change-Id: Ibff2c7f8844dec4758945cbc7aa8df80d70a3dfd
Partially-Implements: blueprint centos-rhel-8
2020-03-03 10:29:31 +00:00
Mark Goddard
cdae86a747 CI: Add Ceph groups back to inventory
Following I21dd51c82534704f31ca8d3f72cb2587ee216cd9, the test inventory
was synced with the multinode inventory. This removed some temporary
ceph groups used by the ceph-ansible-upgrade jobs, and broke them. This
change adds the groups back.

Change-Id: I37379258447ffde6b083f4e8d9a1644bc17cd165
2020-03-03 10:12:01 +00:00
Zuul
e003898ffd Merge "CI: sync inventory with multinode" 2020-03-02 19:42:09 +00:00
Radosław Piliszek
8df511a437 CI: Fix cinder smoke test
TrivialFix

Change-Id: I0e6924b5dc86e90c10037d96ab871bd981365cc9
2020-03-02 09:44:51 +01:00
Radosław Piliszek
29e4ef1374 CI: Debug init-runonce
Also adds gawk for timestamping.

This helps to correlate init events with failures elsewhere.

Change-Id: I22fdb683ecf9870b2d66fedd6b40b7004317130a
2020-03-01 09:57:35 +01:00
Zuul
438a611375 Merge "CI: Test floating ip allocation and connectivity to the instance" 2020-02-28 20:06:48 +00:00
Radosław Piliszek
1f0070db6c CI: Test floating ip allocation and connectivity to the instance
Inspired by pending work of mnasiadka [1] and mgoddard [2].

[1] https://review.opendev.org/708250
[2] https://review.opendev.org/707604

Depends-on: https://review.opendev.org/709362
Depends-on: https://review.opendev.org/709671
Depends-on: https://review.opendev.org/709830
Change-Id: Ifd7bde60881a4b644fc3f18dd9fcb7f8b02d3a00
2020-02-28 10:47:45 +01:00