Commit Graph

50 Commits

Author SHA1 Message Date
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 5a125a4f9e Don't test nrpe bits on rabbitmq-server. (#793)
When the nrpe application is not deployed in the model skip the test
that checks for the correct configuration of the nagios checks, this is
because at the moment nrpe has no support for jammy, hence is not being
deployed in the jammy-yoga bundles.

Jammy support for nrpe is tracked at http://pad.lv/1968008
2022-06-27 16:07:24 +01:00
Alex Kavanagh d3ab250984 Revert "Func-test for declarative policies in RabbitMQ. (#692)" (#697)
This reverts commit 24d7270ace.
2022-01-26 15:54:19 +00:00
Gabriel Angelo Sgarbi Cocenza 24d7270ace Func-test for declarative policies in RabbitMQ. (#692)
Compare cluster policies with the juju config.
2022-01-22 09:20:22 +00:00
Alex Kavanagh 0af4c93d52 Switch unit.public_address to unit.get_public_address()
Due to the bug [1] on OpenStack providers, unit.public_address doesn't
actually work reliably.  The fix [2] is only for the async function
unit.get_public_address().  Sadly, zaza relied on unit.public_address
and so it needs this patch for juju 2.9 support on OpenStack providers.

This patch relies on an associated patch in zaza [3]; thus this will
fails its tests until that passes.

[1]: https://github.com/juju/python-libjuju/issues/551
[2]: https://github.com/juju/python-libjuju/pull/600
[3]: https://github.com/openstack-charmers/zaza/pull/468
2022-01-14 15:21:32 +00:00
Liam Young e83591033b Remove tenacity around message search 2021-12-14 11:53:06 +00:00
Liam Young ce18b4a2a0 Fix reraising for RmqNoMessageException 2021-12-14 11:09:41 +00:00
Liam Young 908f0b4a3b Search for message in rabbit tests
The current rabbit tests post a message on one unit and then
consumes the first message on another unit. If the two do not match
then the test fails. This means that a single pre-existing message
can break all these tests as the consumer always gets the wrong
message. This change updates the tests to search for the target
message rather than assuming that the first message is the target
message.

Messages that are not the target message are not reposted so any
pre-existing messages are consumed and in effect thrown away but
given these are all test messages in a test queue and the tests do
not run in parallel this should be fine.
2021-12-14 08:06:58 +00:00
Alex Kavanagh d4d415c859 Ensure that series upgrades ignore percona at focal
When doing a series upgrade from bionic to focal, the percona-cluster
charm needs to be avoided.  This filters the applications for percona if
the target is focal.  Note if percona is placed on the same unit as
something else that needs to be upgraded (bad idea) then it may still
get 'upgraded' and the operation will fail.
2021-11-30 18:50:14 +00:00
Liam Young 01544d22ed Deferred restart test fixes (#540)
* Add ovn-chassis test
* Yet another refactor to reduce the amount that implementations need to override.
* Add ovn dedicated chassis support
* Fix race with checking wlm
2021-04-09 10:48:52 +01:00
Liam Young f78105a646 Allow status message to be overridden 2021-03-29 14:46:04 +00:00
Liam Young 0fdd876213 Update inline with recent charm changes 2021-03-29 10:41:46 +00:00
Liam Young 77cb2d0bd8 Fix doc string and lint 2021-03-24 13:52:34 +00:00
Liam Young 085d5a1513 Add RabbitMQDeferredRestartTest + fixes 2021-03-23 15:57:21 +00:00
Aurelien Lourot 4eef19197d Add missing blank 2020-09-09 09:49:15 +02:00
Aurelien Lourot 38317c3bc2 Make RmqTests.test_910_pause_and_resume more robust 2020-09-08 12:24:26 +02:00
Dmitrii Shcherbakov 51bce56f9e Skip test_921_remove_and_add_unit
Due to test stability issues we need to skip it and work on it after
release.
2020-05-20 10:26:48 +03:00
Aurelien Lourot 0dad4aca14 Minor improvements to RmqTests.test_913_list_unconsumed_queues 2020-05-18 23:36:27 +03:00
Dmitrii Shcherbakov dfc6235362 Add cleanup to the unit removal case
For some reason test cases are sometimes executed out of order and so
test_921_remove_unit is sometimes run before the pause_and_resume test
case which results in an error.

While the root cause for it must be found it would also be good to avoid
side-effects in individual test cases and return the environment back to
its original state.

There is no 'start' hook implementation for charm-rabbitmq-server,
however, changes that close to the 20.05 release are discouraged so this
change uses an upgrade-charm event simulation to re-trigger the addition
of a unit (which was previously removed) to the cluster.

NOTE: after an execution of hooks/upgrade-charm finishes, the charm will
stay in the waiting state with the following status until the next
update-status event: 'Unit has peers, but RabbitMQ not clustered'

Related-Bug: #1730709
2020-05-18 23:36:27 +03:00
David Ames 37297aff8f Reduce the number of permutations of msg checks
Reduce the number of checks by 30%.
Remove duplicate test 410.
Use logging.info to get output.
2020-05-10 00:51:54 +00:00
Edin Sarajlic d2e12abb91 Remove condition: check client series will always be true.
All CI test runners are >= xenial. The condition will always be true.
2019-10-14 10:45:59 +11:00
Edin Sarajlic 1ea0be0440 Don't time.sleep when checking Rmq ports after toggling mgmt plugin. 2019-10-14 10:45:59 +11:00
Edin Sarajlic 060f7392d9 Don't sleep while waiting for cluster status to update. Use tenacity 2019-10-14 10:45:59 +11:00
Edin Sarajlic 215b3c87e3 Don't time.sleep waiting for Nagios. Port to tenacity. 2019-10-14 10:45:59 +11:00
Edin Sarajlic 814ff7ddee Don't sleep before attempting get AMQP msg. Retry w/ tenacity 2019-10-14 10:45:59 +11:00
Edin Sarajlic 5e170cd1ba Make get_series/get_client_series available as public util functions 2019-10-14 10:45:59 +11:00
Edin Sarajlic 4eb068ab23 Provide a message if assert fails 2019-10-14 10:45:59 +11:00
Edin Sarajlic a0769e5dcb Remove TODO (behaviour confirmed not to be a bug) 2019-10-14 10:45:59 +11:00
Edin Sarajlic 1a9449766a Remove superfluous newlines at the end of debug messages 2019-10-14 10:45:59 +11:00
Edin Sarajlic 60e84e4c27 Port Rmq charm func test removing a unit from a Rmq cluster
This function was previously called test_901_remove_unit, but had to
be renamed (moved to the end of the func tests); The way in which unit
removal is now performed (by running the "stop" hook) puts the the
removed unit in a "waiting" state -- which consequently causes
wait_for_cluster() (e.g. used in 910) to fail (timeout).
2019-10-14 10:45:59 +11:00
Edin Sarajlic b5f60126bc Remove duplicate call to function 2019-10-14 10:45:59 +11:00
Edin Sarajlic 18726c341a Fix lint errors found in docstrings 2019-10-14 10:45:59 +11:00
Edin Sarajlic 0e16359330 Check client+unit OS versions before running Rmq tests with SSL enabled 2019-10-14 10:45:59 +11:00
Edin Sarajlic 1835d957a1 Test: msgs can be sent/retrieved to/from Rmq cluster with SSL+alt port
Same message as my previous commit: As per the code: is there a
function to determine unit's release?  Otherwise, I'll just implement
a generic function that run_on_unit lsb_release -cs
2019-10-14 10:45:59 +11:00
Edin Sarajlic ce45a47dab Test: messages can be sent/retrieved to/from Rmq cluster with SSL on
As per the code: is there a function to determine unit's release?
Otherwise, I'll just implement a generic function that run_on_unit
lsb_release -cs
2019-10-14 10:45:59 +11:00
Edin Sarajlic 19c9e86b19 Test: Rmq pause/resume.
Note: This test may have exposed a bug, where the
`block_until_unit_wl_status` returns once it reaches the "maintenance"
state, but subsequent queries to `unit.workload_status ==
"maintenance"` fail. Recreating the unit object (via
`zaza.model.get_unit_from_name`) returns the correct workload_status
when queried.
2019-10-14 10:45:59 +11:00
Edin Sarajlic a738efd7f2 Test: Rmq unit action 'list-unconsumed-queues' returns a Juju action 2019-10-14 10:45:59 +11:00
Edin Sarajlic 2a0b7bf8e2 Test: Rmq unit action 'check-queues' returns a Juju action 2019-10-14 10:45:59 +11:00
Edin Sarajlic 9e7d76df2f Test: Rmq unit action 'cluster-status' returns a Juju action 2019-10-14 10:45:59 +11:00
Edin Sarajlic c5aba589ce Test: existence NRPE configs/data on Rmq units 2019-10-14 10:45:59 +11:00
Edin Sarajlic 405cdf6388 Test: RMQ management plugin enabling/disabling exposes/hides ports 2019-10-14 10:45:59 +11:00
Edin Sarajlic 79c816ed0f Test: messages can be sent/retrieved to/from Rmq cluster without SSL 2019-10-14 10:45:59 +11:00
Edin Sarajlic 1baff7281c Helper function for testing if messages move across cluster successfully 2019-10-14 10:45:59 +11:00
Edin Sarajlic 313f07bd0c Add test confirming that all Rmq units are part of cluster 2019-10-14 10:45:59 +11:00
Edin Sarajlic e0707fac04 Add an RmqTests class (tests to follow...) 2019-10-14 10:45:59 +11:00
Edin Sarajlic efb781b048 Create rabbitmq_server.tests file (add a license as a starter) 2019-10-14 10:45:59 +11:00