Commit Graph

2352 Commits

Author SHA1 Message Date
Felipe Reyes
a67e1e0ec7 Refactor Hacluster.
Moving the attributes from HaclusterScaleBackAndForthTest to
HaclusterBaseTest allows HaclusterTest to access them and identify the
hacluster application correctly.
2023-05-26 10:13:48 -04: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
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
Alex Kavanagh
f2a3ec9d1c Merge pull request #1029 from ajkavanagh/feature/test-rotate-rabbitmq-service-user-password
Add test to rotate rabbitmq-server service user password
2023-05-14 18:41:32 +01: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
Alex Kavanagh
78dbb405cb Merge pull request #1046 from freyes/retry-list-images
Retry when listing glance images.
2023-05-08 11:21:26 +01:00
Felipe Reyes
fd65705445 Bump up flake8
Fixes `AttributeError: 'FlakesChecker' object has no attribute 'CONSTANT'`
2023-05-05 11:51:20 +02: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
Alex Kavanagh
0a5ffcf406 Merge pull request #1039 from coreycb/stop-after-delay
Increase tenacity delay for policyd tests
2023-04-20 20:20:29 +01: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
99bc824d35 Merge pull request #1038 from coreycb/aodhclient
Unpin aodhclient
2023-04-19 14:42:28 -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
a34ce31e30 Unpin aodhclient
jammy-antelope tests are failing in [1] due to use of an old
aodhclient. This issue doesn't exist when using the latest
version specified in upper-cosntraints (3.2.0).

[1] https://review.opendev.org/c/openstack/charm-aodh/+/878950
2023-04-19 17:28:28 +00:00
Alex Kavanagh
cfe9c3ff7d Merge pull request #1036 from coreycb/test-configure-ips
Retry assert after service_ips removal
2023-04-19 07:19:56 +01: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
Luciano Lo Giudice
2c61ed752b Merge pull request #1032 from sabaini/refactor/move-pristine-test
Move pristine test to ceph-osd tests
2023-03-31 12:53:10 -03: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
coreycb
8dee532e60 Merge pull request #1030 from freyes/compare-openstack
Add CompareOpenStack class
2023-03-28 14:59:17 -04: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
Alex Kavanagh
6ff3f32d2f Merge pull request #1026 from freyes/issue/530
Unpin dependencies
2023-03-27 12:33:11 +01:00
Alex Kavanagh
6a8322163a Merge pull request #1028 from freyes/fix-prom-mysql-exporter-test
Use zaza.model.get_unit_public_address()
2023-03-23 10:20:32 +00: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
42d5caea6d Unpin dependencies
- Unpin lxml for python >= 3.8
- Unpin pyparsing for python <= 3.5

Fixes: #530
2023-03-17 17:01:21 -03:00
Felipe Reyes
296c06d8aa Merge pull request #1024 from coreycb/kerberos
Ensure keystone endpoint is available
2023-03-14 15:32:56 -03:00
Felipe Reyes
db59d3abdb Merge pull request #1023 from coreycb/ldap
Ensure keystone endpoint is available
2023-03-14 15:31:20 -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
James Page
c10969d7ee Merge pull request #1022 from openstack-charmers/bug/do-not-require-extra-disks
Requiring that a bundle defines more than one OSD is unecessary
2023-03-13 13:43:42 +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