Commit Graph

1554 Commits

Author SHA1 Message Date
Hemanth Nakkina
82ba0944d5 Remove assertion on number of loadbalancers
Heat charm when configured with traefik-route
can have multiple loadbalancers (for heat-api
and heat-api-cfn).
So remove the assertion in wait_for_traefik on
number of loadbalancers. Check on number of units
against number of servers should be sufficient.
2023-11-03 15:24:12 +05:30
Hemanth Nakkina
6d9d712310 Fix traefik config filename
Traefik config file names are of format
juju_ingress_ingress_<id>_<app>.yaml for
ingress interface. However if traefik_route
interface is used, the file name format
is juju_ingress_traefik-route_<id>_<app>.yamlwq

In tempest tests, wait_for_traefik, change the
filename format to support both ingress and
traefik-route interfaces.
2023-11-03 13:21:06 +05:30
Alex Kavanagh
def0148642 Add a retrier-wrap to the nova client for octavia tests
The nova service may not be quite ready after vault initialisation for
the basic network configuration, so add a retrier wrapper around the
client for every test to make sure that it retries.
2023-10-31 19:44:49 +00:00
Liam Young
014c4faf74 Merge pull request #1159 from gboutry/feat/openstack-exporter-k8s
Implement openstack exporter test
2023-10-26 17:06:12 +01:00
Alex Kavanagh
bb6264e519 Merge pull request #1158 from coreycb/upgrades
Updates for charm/openstack upgrade testing
2023-10-26 13:39:52 +01:00
Corey Bryant
1bb67ab122 Improve charm_upgrade imports and remove test pprints 2023-10-26 12:23:33 +00:00
Guillaume Boutry
ac50fa50c8 Implement openstack exporter test 2023-10-26 13:18:53 +02:00
Corey Bryant
0684a62383 Updates for charm/openstack upgrade testing
Updates charm upgrades to use channels, tracks, and risks instead
of URLs.

Currently these tests only upgrade OpenStack charms and packages.
The OVN, ceph, and misc charms and payloads are not upgraded.

Remove instance creation since tempest can be used to verify the
cloud.
2023-10-25 19:28:23 +00:00
Liam Young
d98638fa4b Catch ConnectFailure 2023-10-25 12:24:55 +00:00
Liam Young
8f9eff813b Fix lint 2023-10-25 12:09:50 +00:00
Liam Young
baa02a30fc Catch connection errors 2023-10-25 11:47:09 +00:00
Liam Young
dc3e9d399a Fix call to super()._find_keystone_v3_group 2023-10-24 13:55:50 +00:00
Liam Young
590a17dfc0 Fix http_NotFound import 2023-10-24 12:54:28 +00:00
Liam Young
4823465175 Retry on 404s for keystone ldap 2023-10-24 11:59:35 +00:00
Liam Young
e3bbd947c4 Add Keystone LDAP on K8s tests
Add Keystone LDAP on K8s tests, this includes a minor refator of
the existing machine keystone LDAP tests.
2023-10-24 08:40:01 +00:00
Felipe Reyes
c866e77863 Merge pull request #1157 from coreycb/tempest-serial
tempest: Add serial config
2023-10-19 15:50:23 -03:00
Corey Bryant
19d8fc3db4 tempest: Add serial config
The serial config can be set to True to add the --serial flag to the
tempest run. This appears to be useful with the current state of
serverstack and fixing tests that fail due to "Bad router request:
Router already has a port on subnet <subnet-uuid>."
2023-10-19 13:41:03 -04:00
Corey Bryant
0598ecfc9b Add tenacity retries around ring sync check
This fixes a race when checking if object ring is synced.
2023-10-11 20:37:10 +00:00
Liam Young
ea7025c058 Allow 401s when checking endpoints
Some endpoints (heat) return 401s if you try and access them
without authenticating. Given the ep has been able to verify
whether you are authenticated a 401 is ok for a rudementary
health check
2023-10-06 04:56:25 +00:00
Liam Young
19ab52b767 Increase number of retires for wait_for_traefik
Recent test runs have shown that the current number of retries is
not enough and traefik has still not updated its config. This PR
increases the number of retries in the hope that it will be
enough.
2023-10-04 14:58:02 +00:00
Liam Young
d670a2914c Add tactical work around for traefik
Add tactical work around for traefik readyness. Traefik takes
sometime to process changes to load balancer configuration.
Traefik has an api but it is turned off by default and currently
the charm does not expose a way to enable it. So, this change
looks at the traefik config on disk to check if it has the
correct number if units.
2023-10-03 17:04:06 +00:00
Guillaume Boutry
b44facf667 Import explicity keystone setup module
In gate, 'zaza.openstack.charm_tests.keystone.setup.wait_for_all_endpoints' is
not found without the explicit import of the keystone setup module
2023-10-03 11:52:57 +02:00
Liam Young
2c16a82e5d Merge pull request #1142 from gboutry/fix/tempest-k8s-endpoints
Add waiting for endpoints between units scaling
2023-10-03 08:42:21 +01:00
Frode Nordahl
bf452c39e4 tempest: Make concurrency configurable with a sane default.
Tempest will by default run with a concurrency matching the
number of cores on the test runner.

When running on a workstation, it is likely that the default
concurrency will be too high for the scale of deployed workload.

Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com>
2023-10-01 08:52:51 +02:00
Guillaume Boutry
850db0c5e3 Add waiting for endpoints between units scaling
Traefik might take some time to update its configuration,
and switch multiple times between active and maintenance for the duration.
Waiting only for tests is not enough. This change introduce a wait
for endpoints to be ready.

Moreover, at glance call to setup the image might fail because of this
very reason, add a retry on render_tempest_config_keystone_v3.
2023-09-28 16:51:37 +02:00
Guillaume Boutry
5b5021cef8 Remove scaling tests from glance
Current install does not offer a storage backend
for glance, therefore it cannot scale.
2023-09-28 14:25:03 +02:00
Felipe Reyes
13a728d262 Add logging 2023-09-27 23:33:05 -03:00
Felipe Reyes
0ca305f6c8 swift-proxy: wait for model to settle after running action
Let the units run all the hooks before attempting to check if the ring
is synced, because the action set-weight triggers the hook
swift-storage-relation-changed in the swift-storage units which it's the
one in charge of getting the new ring data.
2023-09-27 16:51:43 -03:00
Peter Sabaini
cfcee88c20 Retry ceph-dashboard ssl verification test
Avoid a race in configuring ssl on endpoints and services
2023-09-26 15:55:35 +02:00
Felipe Reyes
ea36acd3cc Merge pull request #37 from gnuoy/use-correct-mysql-pwd-key
Stop using legacy root-password key
2023-09-15 09:35:11 -03:00
Hemanth Nakkina
9439c8b292 Add tempest tests for Octavia k8s
Add tempest tests for Octavia k8s with
scale-in/scale out.
Apply tempest config for octavia only
if it is not a k8s deployment.
2023-09-15 13:58:57 +05:30
Liam Young
39b09a3754 Merge pull request #1121 from gboutry/feat/designate
Add tempests tests for Designate K8S
2023-09-13 17:18:12 +01:00
Felipe Reyes
f9a4c92993 Use self.assertIsInstance()
Replace "assert type(...) is Foo" with "self.assertIsInstance(..., Foo)"
this produces a more meaningful test error message and fixes pep8 rule
E721[0]

[0] https://www.flake8rules.com/rules/E721.html
2023-09-11 08:35:11 -03:00
Guillaume Boutry
04f4694099 Add tempests tests for Designate K8S 2023-09-08 11:30:11 +02:00
Alex Kavanagh
054e2fe849 Merge pull request #1119 from freyes/content-too-short
Retry on ContentTooShort
2023-09-08 08:42:46 +01:00
Felipe Reyes
91c1cc3c33 Retry on ContentTooShortError
This patch makes the download_image() to retry automatically on
ContentTooShortError exception, this is an issue that has been seen on
the gate, see [0].

[0] https://openstack-ci-reports.ubuntu.com/artifacts/3ae/891712/3/check/focal-wallaby-pacemaker-remote-ssl_masakari/3ae840c/job-output.txt
2023-09-07 10:19:28 -03:00
Liam Young
bd8d7e8b29 Gate quorum queue tests on whether the charm supports them 2023-09-06 09:01:49 +00:00
Edward Hope-Morley
ddd99ba582 Skip glance cinderbackend tests for < xena 2023-09-05 14:45:57 +01:00
Alex Kavanagh
7925fd0447 Merge pull request #1101 from freyes/watcher
Add Watcher Test Case
2023-09-05 08:48:13 +01:00
Felipe Reyes
b087c0c2bd Retry check to avoid live migration unstability. 2023-09-04 15:49:31 -03:00
Felipe Reyes
7b4a2931a3 Merge pull request #1089 from lmlg/reef-master
Add the mapping for Ceph's Reef release (master)
2023-09-04 12:56:57 -03:00
Luciano Lo Giudice
cbf5cefb96 Fix mapping for Ceph Reef 2023-09-04 12:11:27 -03:00
Felipe Reyes
862e3b16af Merge pull request #1109 from openstack-charmers/bug/1107/change-manila-test-order
Change order of operations in test_manila_share()
2023-09-04 11:58:13 -03:00
Alex Kavanagh
3c00b93579 Change order of operations in test_manila_share()
The existing order of operations after restarting the share is:

 1. mount share on ins-1
 2. validate the test file on ins-1
 3. mount share on ins-2
 4. clear the test file using 'rm' on ins-1
 5. write the test file on ins-1
 6. read the test file on ins-2

The issue is that step 4. can result in a stale file handle on ins-2
which takes an unspecified amount of time to clear.  Mounting the share
on ins-2 after the file is re-written does however work without a stale
file handle.  The new order is:

 1. mount share on ins-1
 2. validate the test file on ins-1
 3. clear the test file using 'rm' on ins-1
 4. write the test file on ins-1
 5. mount share on ins-2
 6. read the test file on ins-2

Closes-Bug: #1107
2023-09-01 14:01:07 +01:00
Peter Sabaini
2968bf8e31 Retry ceph-proxy pool test
When running the pool setup we test after the model is idle, but that
is not a guarantee that all pools have finished setup, so that the test
could race the pool creation.

Add retry to the test to give the system another chance to complete
pool creation
2023-09-01 13:19:42 +02:00
James Page
0db3a02609 Merge pull request #1081 from gnuoy/add-rabbit-quorum-queue-tests
Add Quorum Queue rabbit tests
2023-08-29 11:42:06 +01:00
coreycb
a07fb4017a Add mantic and bobcat identifiers for OpenStack (#1102) 2023-08-25 18:05:15 +01:00
Felipe Reyes
449164284f Fix version and nova_api_version data types declared in docstring 2023-08-25 12:44:30 -04:00
Felipe Reyes
1d42b643f4 Add 'watcher' to tempest list of services 2023-08-24 19:38:11 -04:00
Felipe Reyes
6787c84267 Add watcher test.
This test launches 1 instance per hypervisor, and then launches a new
audit to optimize the use of hypervisors and consolidate the instances
in a single hypervisor, but also disabling the nova-compute service to
avoid new instances get allocated.
2023-08-24 19:38:11 -04:00