The octavia tests can sometimes fail when calling
get_lb_providers if they have not been setup yet.
This adds a retry if keystoneauth1.exceptions.http.NotFound
is raised.
On failures there is no information of the state of the objects that
couldn't be removed, maybe there are on their way to be removed and this
is a failure visible on slow clouds and not an actual issue, this will
help with troubleshooting.
Ceph rbd mirroring fixes:
- Upstream ceph mirror tooling modernized its output, need to update
test to reflect that.
- Avoid spamming run-action in a loop
- Don't consider system pools for failover
- Remove obsolete workaround for LP: #1820976
ad16b5a7fcad16b5a7fc introduced an option to
customize network and subnet names, however, not all modules were
updated to pass it into the setup_sdn method. Specificatlly, the
dragent now breaks with a KeyError during the configure step.
(Pdb) network_config["project_net_name"]
*** KeyError: 'project_net_name'
fdaf43f52c/zaza/openstack/charm_tests/dragent/configure.py (L35-L46)
A charm that uses FRR instead of Quagga is now published under:
https://charmhub.io/osci-frr
For our purposes FRR is a drop-in replacement of Quagga but the point
of a change is to remove Quagga references for clarity.
In the rotate password test, the results from the action return a list
of strings that are deliminted by single quotes. This isn't compatible
with json.loads(), but yaml.safe_load() is able to load the string as an
array of strings.
This new test verifies that keystone can have its password rotated and
then still operate afterwards. It verifies that the on-disk password is
changed in the keystone application and that the user list can be
performed.
Fix a bug where the wrong paramter from the /etc/cinder/cinder.conf
file is being used ('transport' -> 'transport_url').
Fix issue around using json instead of yaml for loading the usernames
from the action data from the list_service_usernames action, which uses
single quotes to quote the data, which isn't compatible with json.
Make the testing for the password change in the cinder.conf more robust
by retrying, as juju is essentially async and it's difficult to
determine exactly when the hook will get fired on cinder.
This new test verifies that cinder can have its password rotated and
then still operate afterwards. It verifies that the on-disk password is
changed in the cinder application and that the user list can be
performed.
Issue seen at the gate:
glanceclient.exc.CommunicationError: [...] ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
The skipVersion decorator was proving to be tricky to use because
it took an application name which we didn't want to hard-code,
since it is in hacluster/tests.py. One alternative was to pass a
charm name instead of application name, but if there were mutiple
hacluster applications in the model (e.g. keystone-hacluster and
nova-hacluster) we would have to pick just one to test the package
version on. After further discussion we decided to change the
decorator to a function so that we could use existing class
variables to generate the desired hacluster application name.
Similar to when an IP has been added to the service_ips earlier
in test_configure_ips(), this adds tenacity Retrying after an
IP has been removed from the service_ips.