Commit Graph

789 Commits

Author SHA1 Message Date
David Ames bb1525ddff Merge pull request #60 from exsdev0/rabbitmq-zaza-tests
Rabbitmq zaza tests
2019-10-15 08:40:20 -07:00
Edin Sarajlic 596c347be4 Add unit test for generic util function: check_commands_on_units 2019-10-15 14:03:43 +11:00
Edin Sarajlic 6402d5a021 Add unit test for generic util function: port_knock_units 2019-10-15 14:03:43 +11:00
Edin Sarajlic 009f37ab0b Add unit test for generic util function: get_unit_hostnames 2019-10-15 12:51:39 +11:00
Frode Nordahl 936135001d Merge pull request #99 from gnuoy/run-funcs-post-upgrade
Series upgrade tests run funcs after upgrade.
2019-10-14 13:35:57 +02:00
Liam Young 6c15605222 Series upgrade tests run funcs after upgrade.
Execute a list of functions after series upgrade if one is
supplied. This change is driven by the upgrade testing of vault.
Vault needs to be unsealed after it is rebooted.
2019-10-14 10:39:11 +00:00
James Page 6b27d77f4c Merge pull request #98 from gnuoy/refactor-vault-unseal-code
Facade for vault & basic_setup_and_unseal
2019-10-14 10:46:36 +01:00
Liam Young 79a149bfc5 Facade for vault & basic_setup_and_unseal
Add a facade for interacting with vault and a function which
unseals vault units (useful when vault units have been rebooted).
2019-10-14 08:56:35 +00:00
James Page d29a1fdadd Merge pull request #97 from gnuoy/fix-finding-vault-creds
Search for vault credentials file.
2019-10-14 09:32:48 +01:00
Liam Young e0c10b5457 Search for vault credetials file.
During testing the vault credentials are stored on the lead unit.
Unfortunatly which unit is the designated leader can change during
the life of the test (particularly if the test involves rebooting
vault units). This change adds a function to search the units for
the credentials file rather than assuming its on the lead unit.
2019-10-14 07:50:55 +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 d780f76797 Port validating Rmq SSL off from time.sleep to Tenacity 2019-10-14 10:45:59 +11:00
Edin Sarajlic e8068a8356 Port validating Rmq SSL on from time.sleep 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 4792a527c9 PROTOCOL_TLS is not available until Py3.6, use alternative 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 1acbfd8741 Add a function for retrieving a message to an Rmq unit 2019-10-14 10:45:59 +11:00
Edin Sarajlic 20aad97033 Add a function for publishing a message to an Rmq unit 2019-10-14 10:45:59 +11:00
Edin Sarajlic e09660f7c1 Add a function for disabling SSL on Rmq units 2019-10-14 10:45:59 +11:00
Edin Sarajlic 79d70e4f8d Add a function for enabling SSL on Rmq units 2019-10-14 10:45:59 +11:00
Edin Sarajlic 97cc2b8e60 Add function validating is SSL is disabled on Rmq units 2019-10-14 10:45:59 +11:00
Edin Sarajlic c917c5b370 Add function validating if SSL is enabled on Rmq units 2019-10-14 10:45:59 +11:00
Edin Sarajlic 79a9f179df Add function for determing if SSL is enabled in unit's Rmq config 2019-10-14 10:45:59 +11:00
Edin Sarajlic 6d3714aa06 Add a function for deleting a user from a Rmq cluster 2019-10-14 10:45:59 +11:00
Edin Sarajlic 3a64bec97a Add function for adding a user to an Rmq cluster 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
Edin Sarajlic 6749ff763e Add a function for creating connection to Rmq instance on unit 2019-10-14 10:45:59 +11:00
Edin Sarajlic fa68f09e72 Add a function providing all units/nodes Rmq cluster_status in JSON 2019-10-14 10:45:59 +11:00