Commit Graph

2047 Commits

Author SHA1 Message Date
Felipe Reyes acaeb62a4d Stop retrying if LB provisioning status reached ERROR (#682)
* Stop retrying if LB provisioning status reached ERROR

The method `wait_for_lb_resource()` retries for 15m while the load
balancer could have reached to ERROR during the provisioning in the
first few minutes, this approach makes the testing take longer for no
reason.

This change makes the ERROR state in provisioning_status final and
abort raising a ValueError() exception.

More details of the provisioning_status possible states can be found at:
https://docs.openstack.org/api-ref/load-balancer/v2/#provisioning-status-codes

* Use LoadBalancerUnexpectedState and LoadBalancerUnrecoverableError.

Drop the (re-)use of AssertionError and ValueError to identify when a
load balancer status is in a state where the test needs to retry or
break and fail respectively.

This change introduces 2 new exceptions to be explicit of what the code
is trying to do.

- LoadBalancerUnexpectedState is raised when the status of the load
  balancer is in a state different from the one requested by the caller,
  but said state can be considered as transitory.
- LoadBalancerUnrecoverableError is raised when the status of the load
  balancer is in ERROR state and said state is final for the
  proviniong_status property, hence retrying only delays the failure.
2022-03-08 13:11:51 +00:00
Chris MacNaughton b7392bd923 Merge pull request #700 from gustavosr98/master
Add tests for cinder nimblestorage and solidfire
2022-02-25 12:32:18 +00:00
coreycb 96619fe9d7 Merge pull request #710 from coreycb/extra-specs
Use snapshot_support=True for manila share type
2022-02-24 12:31:26 -05:00
Corey Bryant bf6b466b55 Use snapshot_support=True for manila share type
The extra specs of a manila share type need to match the
share service's capabilities. [1]

[1] https://docs.openstack.org/manila/pike/admin/shared-file-systems-troubleshoot.html#id2

Closes-Bug: #1962204
2022-02-24 12:26:52 -05:00
Chris MacNaughton a45db73007 Merge pull request #675 from openstack-charmers/osd-add-disk-test
Osd add disk test
2022-02-22 07:47:52 +00:00
Liam Young 118bea9796 Fix mysql test_800_remove_leader (#708)
test_800_remove_leader is getting a reference to the mysql lead
unit, removing the unit and then attempting to retrieve the ip.
This used to work but no longer does, perhaps due to changes
in the way zaza interfacts with libjuju. This change stores
the lead ip address before removing the unit.
2022-02-21 16:32:55 +00:00
Luciano Lo Giudice 11fa17fc6e Correctly prefix module access 2022-02-17 18:19:49 -03:00
Luciano Lo Giudice ed47cb718a Correctly indent docstring 2022-02-17 18:15:46 -03:00
Luciano Lo Giudice e6d6b9e4b5 Run command on ceph-mon since some versions don't allow ceph-osd for it 2022-02-17 18:12:05 -03:00
Luciano Lo Giudice e751e4a989 Rearrange functions into separate modules 2022-02-10 14:28:50 -03:00
Gustavo Sanchez b2a987c263 Remove charm specific tests 2022-02-08 12:36:22 -04:00
Gustavo Sanchez 42cb820276 Add tests for cinder nimblestorage and solidfire
Turn netapp tests into parent class CinderBackendTest.
Solidfire, nimblestorage and netapp inheret tests from parent.
2022-02-02 16:43:34 -04: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
Liam Young 1191515eb3 Make run_package_change_test more robust (#694)
* Make run_package_change_test more robust

The run_package_change_test disables auto restarts and then
simulates a packages update. It then checks the service has been
marked as in need of restarting. However bug #1955498 shows that
if a new service is introduced that restarts a disabled service
then this is not picked up by the tests.

This change queries the last active time of a service proir to
the package being updated. If this changes after the package
reconfiguration then the service has incorrectly been restarted.

Depends-On: https://github.com/openstack-charmers/zaza/pull/478

* Log success too
2022-01-22 09:18:19 +00:00
Luciano Lo Giudice c8302161a1 Also test that the new number of OSD's is correct. 2022-01-20 20:47:12 -03:00
Felipe Reyes 7d5d34b7c4 Retry find_cirros_image() on URLError (#695)
There are situations where the DNS infrastructure hasn't been stable and
many CI jobs have failed with the error:

  urllib.error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>

This change decorates the function find_cirros_image() to retry and give
the job more chances of recovering from the DNS failures.
2022-01-20 14:15:50 +00:00
Aurelien Lourot 91fe18103d Merge pull request #688 from ajkavanagh/switch-public-address-to-get-public-address
Switch unit.public_address to unit.get_public_address()
2022-01-14 16:46:19 +01:00
Alex Kavanagh 70ae1ab605 Remove commented out line. 2022-01-14 15:40:41 +00:00
Alex Kavanagh 1d415da690 Update test_get_keystone_ip__from_unit() test
Update the test to mock zaza.model.get_unit_public_address() to match
the associated changes in zaza for getting public address with juju 2.9
2022-01-14 15:21:32 +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
coreycb 04d388ca70 Use full binary paths for neutron test_901_pause_resume (#686)
When pgrep_full=True is used, the resulting pgrep can match
more binaries than expected if the search pattern isn't specific
enough. This change makes the search patterns more specific
in order to only match the expected binaries.

Closes-Bug: #1933338
2022-01-13 18:26:33 +00:00
Basdbruijne 139919b635 add glance-simplestreams-syns to openstack upgrade exclude list (#691)
* add glance-simplestreams-syns to openstack upgrade exclude list
* fix formatting

Authored-by: Bas de Bruijne <bas.debruijne@canonical.com>
2022-01-13 18:24:42 +00:00
James Page 2bb4271530 Merge pull request #328 from afreiberger/bug/1882250
Add functional testing of set-weight action and resulting replication
2022-01-11 09:18:43 +00:00
Chris MacNaughton 0550c206a6 Merge pull request #690 from ajkavanagh/bug/689
Enable get_keystone_ip() to work with multiple vips config
2022-01-07 18:41:52 +01:00
Alex Kavanagh 1fbd505e27 Enable get_keystone_ip() to work with multiple vips config
The keystone charm allows multiple VIP addresses to be configured via
the 'vip' config parameter.  Unfortunately, get_keystone_ip() didn't
support this.  This patch adds that support, plus the missing tests.

Closes: #689
2022-01-07 16:56:22 +00:00
Aurelien Lourot 372bab5c48 Merge pull request #684 from gnuoy/bug/1949372
Search for message in rabbit tests
2021-12-14 14:33:54 +01: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 87c72a510e Fix bug when no message is present 2021-12-14 09:02:16 +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
Aurelien Lourot 0e13f606be Merge pull request #679 from ajkavanagh/filter-percona-at-focal
Ensure that series upgrades ignore percona at focal
2021-12-08 10:15:50 +01:00
coreycb cca753cb97 Merge pull request #681 from AurelienLourot/ceilometer-agent-pause-resume
Skip CeilometerTest.test_901_pause_resume for ceilometer-agent
2021-12-01 11:48:53 -05:00
Aurelien Lourot 3e7ac87a79 Skip CeilometerTest.test_901_pause_resume for ceilometer-agent
The ceilometer-agent charm doesn't have pause/resume
actions anymore. The ceilometer charm still does.

See https://bugs.launchpad.net/charm-ceilometer-agent/+bug/1952882
2021-12-01 11:49:30 +01:00
hemanthnakkina 1a1dc0a79e Add glance tests for Cinder Storage backend (#680)
Add zaza tests for charm glance when cinder is configured
as storage backend.

Related-Bug: LP#1905042

Co-authored-by: Hemanth Nakkina <hemanth.nakkina@canonical.com>
2021-12-01 10:20:08 +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
Luciano Lo Giudice f6a0b14df4 Fix import of juju utilities 2021-11-29 16:00:26 -03:00
Luciano Lo Giudice 7933615a7e Remove unused import 2021-11-29 12:09:28 -03:00
Luciano Lo Giudice 97f1ea5693 Move functions into juju utilities. 2021-11-29 12:08:28 -03:00
Aurelien Lourot a0b4d15dc6 Remove deprecation warnings (#676)
Change-Id: I354d1a62c77aa1fa38f4be4615f264bc08f7795b
2021-11-29 09:27:06 +00:00
Luciano Lo Giudice 4a52ba1dba Add docstrings. 2021-11-26 18:40:14 -03:00
Luciano Lo Giudice a7865afb64 Test the enhancements of the 'add-disk' action for ceph-osd
This PR tests that a new device is succesfully added to the OSD
charm, and that it's done so via the 'bcache' mechanism. The
backing storage is provided via a loopback device, whereas the
caching storage is provided by Juju itself.
2021-11-26 18:29:29 -03:00
Liam Young c16bba2705 Merge pull request #668 from javacruft/rabbitmq-new-configuration
Support new style RMQ conf files
2021-11-23 14:29:57 +00:00
Aurelien Lourot 9040cef609 Merge pull request #600 from zhhuabj/hm-port
Delete hm port on unit removal
2021-11-23 14:17:00 +01:00
Zhang Hua 4cbee5bfd2 Delete hm port on unit removal - part 4 - disabled test 2021-11-23 09:37:31 +08:00
Felipe Reyes b3194e9c1f Merge pull request #670 from coreycb/v3-endpoint
Authenticate with cinder v3 endpoint by default
2021-11-22 16:46:52 -03:00
Corey Bryant 1eaa2233c1 Authenticate with cinder v3 endpoint by default
The v3 endpoint has been supported by the charms since Pike,
and the V2 endpoint was removed in Xena, therefore it makes
to use the v3 endpoint by default at this point.
2021-11-22 09:56:16 -05:00
Chris MacNaughton c9834315f9 Merge pull request #669 from freyes/bug/1951650
Use yaml.safe_load()
2021-11-22 14:45:45 +01:00
Felipe Reyes 29b569df13 Use yaml.safe_load()
Pyyaml>=6.0 requires to pass the Loader arg to yaml.load(), switching to
yaml.safe_load() recovers the old and expected behavior.

https://github.com/yaml/pyyaml/pull/561

Closes-Bug: #1951650
2021-11-22 10:37:06 -03:00
James Page f877ae0a36 Support new style RMQ conf files
The rabbitmq-server charm now uses INI style .conf files for
releases that support the new style of configuration.

Update SSL checks to look for this file first and then fallback
to the older .config filename if not found
2021-11-15 10:57:35 +00:00