Commit Graph

1458 Commits

Author SHA1 Message Date
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
Liam Young
f806b2aa7a Add test to scale application out and in
Add test that scales an application out and in and checks each
stage with tempest.
2023-03-07 17:04:20 +00:00
Luciano Lo Giudice
1e12a7a6a1 This fixes flakyness with iscsi tests. There was a previous fix that
did mostly the same, but this PR makes it more similar to what we
have pending for the stable branches.

This PR is being tested in this gerrit patchset:
https://review.opendev.org/c/openstack/charm-ceph-iscsi/+/871154
2023-03-03 13:37:21 -03:00
Felipe Reyes
4c414c25d0 Merge pull request #1005 from ajkavanagh/feature/test-rotate-service-user-password
Test the keystone rotate-service-user-password action
2023-02-28 15:30:32 -03:00
Felipe Reyes
a81376183f Skip test_930_scaleback on crmsh-4.4.0-1ubuntu1
The crmsh package available in kinetic fails to put a cluster node in
maintenance mode, this is part of the scaleback process, more details on
the failure available at the related bug.

This change introduces a new decorator skipVersion() that allows to
provide a list of package versions with an operation flag on how dpkg
should compare the version(s).

The test HaclusterTest.test_930_scaleback() is disabled when running
crmsh-4.4.0-1ubuntu1, at the moment this would be kinetic, although if
any new package gets released this test will be re-enabled automatically
allowing us catch early if the test got fixed or not.

Related-Bug: http://pad.lv/1972730
2023-02-27 15:36:04 -03:00
Alex Kavanagh
eb4224284f Fix pep8 error in .../keystone/tests.py 2023-02-22 17:05:01 +00:00