Existing code uses the python libjuju unit.run in order to execute
a wait check for ca readiness across the units. The behavior of libjuju
changed between 2.x and 3.x and causes this functionality to break. This
is abstracted and handled in the zaza library, so use that code instead
as it properly handles the differences.
Signed-off-by: Billy Olsen <billy.olsen@canonical.com>
When juju 3.x is used (installed from a snap in strict confinement) the
temporary directory of the system (e.g. /tmp) can't be read by 'juju',
this is used by zaza-openstack-tests to write testing policy files
among other transitory files that are passed to juju's CLI.
This change moves Python's default temporary file to ~/tmp unless
overriden by the environment variable TEST_TMPDIR.
This change introduces a place to keep the constraints needed to build
testing environments. It will be global to all charms under the Charmed
OpenStack umbrella, they will be enforced by zosci at the gate.
These constraints are not meant to be used to build charms, for that the
tooling that should be used is pip-compile.
This PR implements the needed changes so that the Ceph charms
can be run without a full Openstack environment. In particular,
the RBD mirror charm needed tweaking so as to not depend on
Cinder, using pools of its own creating.
As seen in Bug #2045206 wait_for_endpoints can fails if keystone
is in a transient state. This change puts tenacity around the
keystone client setup to make it more resilient.
Closes-Bug: 2045206
In designate bobcat the designate team re-organised the sql-alchemy code
and this has resulted in the bug [1] that means that the default values
for various zone creations are no longer used from the
/etc/designate/designate.conf file. i.e. the defaults are fixed.
Related-Bug: LP#2042944
This sets new tempest config options for octavia, including the setting
of log_user_roles=False, which allows tests to avoid the optional
list_role_assignments call that was resulting in 403 Forbidden for all
octavia tests.
Heat charm when configured with traefik-route
can have multiple loadbalancers (for heat-api
and heat-api-cfn).
So remove the assertion in wait_for_traefik on
number of loadbalancers. Check on number of units
against number of servers should be sufficient.
Traefik config file names are of format
juju_ingress_ingress_<id>_<app>.yaml for
ingress interface. However if traefik_route
interface is used, the file name format
is juju_ingress_traefik-route_<id>_<app>.yamlwq
In tempest tests, wait_for_traefik, change the
filename format to support both ingress and
traefik-route interfaces.
The nova service may not be quite ready after vault initialisation for
the basic network configuration, so add a retrier wrapper around the
client for every test to make sure that it retries.
This should fix "Upgrading keystone to 2022.2/stable" resulting
in 'no releases found for channel "2022.2/stable"'.
Instead, keystone should be upgraded to zed/stable.
For SRUs to Ubuntu and the Cloud Archive, bugs need to be updated
with testing results and package versions tested. This will enable
getting the package versions from charm units in an automated way.
Updates charm upgrades to use channels, tracks, and risks instead
of URLs.
Currently these tests only upgrade OpenStack charms and packages.
The OVN, ceph, and misc charms and payloads are not upgraded.
Remove instance creation since tempest can be used to verify the
cloud.
The serial config can be set to True to add the --serial flag to the
tempest run. This appears to be useful with the current state of
serverstack and fixing tests that fail due to "Bad router request:
Router already has a port on subnet <subnet-uuid>."