Tox 4.0.0 was recently released and it has several breaking changes.
We pin to < 4.0.0 here. We are planning to move forward only on the
master charm branches.
Tox is also pinned to < 4.0.0 for stable branches in upstream
openstack-zuul-jobs as well as in zosci-config. However, the
requires= section in the charm's tox.ini file ends up installing
tox>4, wiping out the zuul-pinned tox<4 that was already installed
installed. This patch fixes that.
* use stable/21.10 libraries
* use zaza/zaza-openstack-tests at stable/21.10
* build.lock files for reactive charms
* bundles refer to ~openstack-charms candidate channel
Recent test run(s) have shown memory exhaustion on the nova
cloud controller units. This exhibits itself as the controller
dropping messages from the compute nodes and logging messages like:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/oslo_service/threadgroup.py", line 268, in _perform_action_on_threads
File "/usr/lib/python3/dist-packages/oslo_service/threadgroup.py", line 342, in <lambda>
lambda x: x.wait(),
File "/usr/lib/python3/dist-packages/oslo_service/threadgroup.py", line 61, in wait
return self.thread.wait()
File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 180, in wait
return self._exit_event.wait()
File "/usr/lib/python3/dist-packages/eventlet/event.py", line 125, in wait
result = hub.switch()
File "/usr/lib/python3/dist-packages/eventlet/hubs/hub.py", line 298, in switch
return self.greenlet.switch()
File "/usr/lib/python3/dist-packages/eventlet/hubs/hub.py", line 350, in run
self.wait(sleep_time)
File "/usr/lib/python3/dist-packages/eventlet/hubs/poll.py", line 80, in wait
presult = self.do_poll(seconds)
File "/usr/lib/python3/dist-packages/eventlet/hubs/epolls.py", line 31, in do_poll
return self.poll.poll(seconds)
MemoryError
to the nova-conductor log.
It seems very likely this issue is specific to Bionic Stein so it
may be a little wasteful to have increased the memory allocation
for all the bundles but I think consistancy between the bundles is
more important.
A patch was introduced [0] "..which sets the backup gateway
device link down by default. When the VRRP sets the master state in
one host, the L3 agent state change procedure will
do link up action for the gate$way device.".
This change causes an issue when using keepalived 2.X (focal+) which
is fixed by patch [1] which adds a new 'no_track' option to all VIPs
and routes in keepalived's config file.
Patch [1] which fixed keepalived 2.X broke keepalived 1.X (<focal).
So patch [2] was added which adds a keepalived_use_no_track config
option which is set to True control whether the 'no_track' option
is added to the keepalived config.
Finally, patchset [3] introduces automatic detection of the
keepalived version by adding a call to `keepalived --version`
but this is denied by the packages apparmor rules.