Commit Graph

2052 Commits

Author SHA1 Message Date
Liam Young
4fcf8d2c7a Do not apply work-around to OVN deploys 2022-03-16 06:29:55 +00:00
Liam Young
20e3e1412d Add workaround for Octavia Bug #1964117
Add a work around for Bug #1964117. To ensure that this is only
a temporary measure the fix is tied to specific OpenStack releases
and package versions.
2022-03-15 15:40:48 +00:00
Liam Young
b5ba021785 Merge pull request #724 from freyes/octavia-fix-assert
Fix Octavia wait_for_lb_resource()
2022-03-15 15:40:24 +00:00
Felipe Reyes
6ae8ae47fe Fix Octavia wait_for_lb_resource()
This change drops the use of AssertionError in favor of
LoadBalancerUnexpectedState that was introduced by commit acaeb62 which
stopped retrying on AssertionError.
2022-03-15 12:23:14 -03:00
Billy Olsen
cd5c8c26eb Import exceptions module instead of exception (#722)
A missing 's' on importing the zaza.openstack.utilities.exceptions in
the octavia tests are causing gate tests to fail. This fixes the import
to point at the right module.

Fixes #721

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2022-03-14 20:36:33 +00:00
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