Commit Graph

1463 Commits

Author SHA1 Message Date
Peter Sabaini
b9ef2a30ec Fix: retry rbd pool status command
The rbd mirror status command has spurious faults on occasion. Retry
after some waiting.
2023-06-14 12:59:30 +02:00
Peter Sabaini
17cb89a76b Merge pull request #1063 from sabaini/ceph-rbd-mirror-fix
Fix: upstream tooling output change
2023-06-02 16:48:48 +02:00
Edward Hope-Morley
5b1991bbc2 Retry octavia get_lb_providers
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.
2023-05-30 15:16:16 +01:00
Felipe Reyes
b453a85013 Improve logging of _resource_removed()
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.
2023-05-26 15:41:27 -04:00
Peter Sabaini
6f7b8794e8 Fix: upstream tooling output change
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
2023-05-26 16:39:03 +02:00
Frode Nordahl
4b56ec170e Merge pull request #1060 from openstack-charmers/2023-05-quagga-to-frr
Switch from Quagga to FRR
2023-05-25 07:52:03 +02:00
Peter Sabaini
0f26ac6266 Merge pull request #1047 from jneo8/bug/2007976
feat(zaza/ceph): Check persistent config is working
2023-05-25 07:40:26 +02:00
Dmitrii Shcherbakov
c48c939859 Make net and subnet name customization optional
ad16b5a7fc

ad16b5a7fc 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)
2023-05-24 17:03:36 +03:00
coreycb
fdaf43f52c Merge pull request #1059 from sabaini/ceph-user-del-changed
Update ceph user creation test
2023-05-24 07:51:28 -04:00
Dmitrii Shcherbakov
842637477c Switch from Quagga to FRR
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.
2023-05-23 21:31:44 +03:00
Peter Sabaini
54da3aa331 Update ceph user creation test
Upstream cli changed output, see https://tracker.ceph.com/issues/61362
2023-05-23 19:03:09 +02:00
Felipe Reyes
0fe449b06c Merge pull request #1027 from ajkavanagh/feature/test-rotate-mysql-service-user-password
Add test to rotate mysql service user password
2023-05-23 12:34:20 -04:00
Alex Kavanagh
f0a6e802cc Make username list on log look normal 2023-05-19 12:36:28 +01:00
jneo8
5fc5679e18 feat(zaza/ceph): Check persistent config is working
Add zaza test to check persistent config will update after config change.
2023-05-09 13:53:22 +08:00
Alex Kavanagh
0fe8e9d666 Switch from json.loads to yaml.safe_load for decoded usernames
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.
2023-05-08 11:26:19 +01:00
Alex Kavanagh
ce2b26a6e0 Use json.loads() to read results of password rotation usernames 2023-05-08 11:26:19 +01:00
Alex Kavanagh
a61653d031 Add a tenacity retry to the password change checks 2023-05-08 11:26:19 +01:00
Alex Kavanagh
140805d321 Fix handling of usernames in password rotation mysql test
This patch ensures that the usernames are parsed correctly from the
action to ensure that the usernames are handled correctly.
2023-05-08 11:26:19 +01:00
Alex Kavanagh
32f2a052b1 Add wait_for_agent_status in 'settle' code
This is to guarantee that the block check didn't happen prior to the
action being started.
2023-05-08 11:26:19 +01:00
Alex Kavanagh
e16406116b Add test to rotate mysql service user password
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.
2023-05-08 11:26:19 +01:00
Alex Kavanagh
6516a34045 Update rabbitmq rotate password test to be more robust/correct
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.
2023-05-08 11:23:24 +01:00
Alex Kavanagh
6bfbab2578 Use json.loads() for password rotation usernames result 2023-05-08 11:23:24 +01:00
Alex Kavanagh
17c0de8810 Fix handling of usernames in rabbitmq password rotation test
The usernames were not handled correctly.  The return value from looking
up the action value is a string, and so it needs to be split on ','.
2023-05-08 11:23:24 +01:00
Alex Kavanagh
d964696f48 Add additional wait_for_agent_status() check
This is to ensure that the model really is settled after the password
rotate action.
2023-05-08 11:23:24 +01:00
Alex Kavanagh
b29c11720e Add test to rotate rabbitmq-server service user password
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.
2023-05-08 11:23:24 +01:00
Felipe Reyes
8adbceaf26 Retry when listing glance images.
Issue seen at the gate:

    glanceclient.exc.CommunicationError: [...] ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
2023-05-05 11:41:22 +02:00
Corey Bryant
db41710d70 Increase tenacity delay for policyd tests
Double the tenacity stop_after_delay for the
get_client_and_attempt_operation methods. This fixes the
"Unable to establish connection" test failures seen in:
https://review.opendev.org/c/openstack/charm-cinder-ceph/+/878958
2023-04-20 15:07:33 -04:00
Felipe Reyes
d34b747a58 Merge pull request #1037 from coreycb/test_930_scaleback
Update application name for skipVersion
2023-04-19 14:40:02 -04:00
Corey Bryant
95fcad2a0a Change skipVersion decorator to a function
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.
2023-04-19 18:28:22 +00:00
Corey Bryant
080a715130 Retry assert after service_ips removal
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.
2023-04-18 14:13:52 -04:00
Alex Kavanagh
6ed26d8fa3 Merge pull request #1035 from freyes/http-timeout
Bump up http timeout to 2 minutes.
2023-04-18 10:07:27 +01:00
Felipe Reyes
98f89183e6 Bump up http timeout to 2 minutes.
Tempest clients have a default timeout of 60s which has shown to not be
enough for resource constrained environments.
2023-04-17 12:06:03 -04:00
Luciano Lo Giudice
e4a9aadf05 Make Ceph tests more generic (#1034) 2023-04-10 22:25:06 +02:00
Peter Sabaini
9880637aa1 Move pristine test to ceph-osd tests
Pristine status test was applied to all ceph related charms, but only
really is relevant for the ceph-osd charm.
2023-03-31 12:45:49 +02:00
Liam Young
14c8d59d0a Merge pull request #1031 from gabrielcocenza/bug/1880610
fix racing condition on cinder and nova controller with L7 checks
2023-03-29 08:54:36 +01:00
Gabriel Cocenza
38a2f159a6 fixing racing condition on cinder and nova controller with L7 servers checks. 2023-03-28 15:51:51 -03:00
Felipe Reyes
60cbdb9e96 Use CompareOpenStack to determine the keystone api version to use. 2023-03-28 15:08:39 -03:00
Felipe Reyes
7205e31753 Add CompareOpenStack class.
The CompareOpenStack class allows the comparison of OpenStack codenames.
2023-03-28 15:01:56 -03:00
Felipe Reyes
6fec7c31a4 Use zaza.model.get_unit_public_address()
Replace the use of "unit.public_address" with
zaza.model.get_unit_public_address().

    AssertionError: {'host': '172.16.0.25', 'port': 3306, 'user': 'prom_exporter'} != {'host': None, 'port': 3306, 'user': 'prom_exporter'}
    - {'host': '172.16.0.25', 'port': 3306, 'user': 'prom_exporter'}
    ?          ^^^^^^^^^^^^^
    + {'host': None, 'port': 3306, 'user': 'prom_exporter'}

Related-Bug: openstack-charmers/zaza#472
2023-03-22 14:40:50 -03:00
Peter Sabaini
ef62272bbf Unblock after pristine status (#1025)
When a charm has a non-pristine status, it should leave the
previously-set blocked state (LP #1988088) if there are no
non-pristine disks

Also: seeing some spurious test failures due to timeouts
waiting on disk removal -- wait a bit longer
2023-03-21 19:26:15 +00:00
Felipe Reyes
296c06d8aa Merge pull request #1024 from coreycb/kerberos
Ensure keystone endpoint is available
2023-03-14 15:32:56 -03:00
Corey Bryant
d668106938 Ensure keystone endpoint is available
The keystone-kerberos test setup is failing often due to accessing
the keystone endpoint before it is available. Adding tenacity
retries here to deal with this.
2023-03-14 17:21:25 +00:00
Corey Bryant
80b10a295c Ensure keystone endpoint is available
The keystone-ldap tests are failing often due to accessing
the keystone endpoint before it is available. Adding tenacity
retries here to deal with this.
2023-03-14 13:03:03 +00:00
Chris MacNaughton
f5cfd59a80 Requiring that a bundle defines more than one OSD is unecessary
While the disk replacement rests are good for the OSD charm,
and it's useful to have more disks by default in that case,
requiring extra disk for all applications that tun the Ceph tests
is an unreasonable burden, requiring additional changed just
to accommodate the OSD charm tests.

This change updates to check if we have enough disks available
before running the disk replacement tests.
2023-03-10 14:43:26 -05:00
Utkarsh Bhatt
cd0ae7c0d8 Replaced Loopback with block device from bundle. (#989) 2023-03-10 13:05:47 +00:00
Liam Young
e684fc2caf Lint fixes 2023-03-08 13:52:01 +00:00
Liam Young
2a393aa399 Fix typo in placement test class name 2023-03-08 13:52:01 +00:00
Liam Young
fe62f913fd Add tempest k8s scale test for remaining services 2023-03-08 13:52:01 +00:00
Liam Young
4001604e08 Fix lint 2023-03-08 13:51:39 +00:00
Liam Young
053200096c Warning and NotImplementedError if application_name missing 2023-03-08 13:26:14 +00:00