Commit Graph

34 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
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
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
Liam Young 4001604e08 Fix lint 2023-03-08 13:51:39 +00:00
Liam Young 053200096c Warning and NotImplementedError if application_name missing 2023-03-08 13:26:14 +00:00
Liam Young f806b2aa7a Add test to scale application out and in
Add test that scales an application out and in and checks each
stage with tempest.
2023-03-07 17:04:20 +00:00
Liam Young 827d81fc12 Allow tempest to run in minimal mode (#956)
Add test class that runs tempest in miminal mode. This is useful
for testing that the OpenStack apis are responding but there are
components not configured like an external network. In addtion
some missing doc strings were added and support for neutron
tempest configuration pre ussuri removed as there is a branch
for that.
2022-10-20 11:18:04 +01:00
Aurelien Lourot b7e4bbf0fc Allow several tempest runs with different config
This deprecates:

    configure:
      - zaza.openstack.charm_tests.tempest.setup.render_tempest_config_keystone_v3
    tests:
      - zaza.openstack.charm_tests.tempest.tests.TempestTest

by allowing multiple runs with different config:

    tests:
      - zaza.openstack.charm_tests.tempest.tests.TempestTestWithKeystoneV2
      - zaza.openstack.charm_tests.openstack_upgrade.tests.OpenStackUpgradeTestsByOption
      - zaza.openstack.charm_tests.tempest.tests.TempestTestWithKeystoneV3
2021-09-16 10:00:06 +02:00
Corey Bryant 3229ce2d42 Switch tempest config to use include and exclude flags 2021-08-11 17:03:46 +00:00
coreycb a67b4906ee Use juju model as workspace and store in home (#383)
* Use juju model as workspace and store in home

The current juju model will now be used as the tempest workspace name.
Additionally, all workspaces will be stored in ~/.tempest/<workspace>.

This patch also introduces a new option 'keep-workspace' that can be
specified along with other tempest options to keep the workspace after
tempest test execution. It defaults to False.

Also minor adjustment to smoke option to test boolean value.
2020-08-18 15:54:09 +02:00
Corey Bryant 35a9e55ea5 Fix pep8 issues 2020-05-28 14:19:04 +00:00
Corey Bryant f668784f41 Add the missing test_runner 2020-05-28 10:45:10 +00:00
Corey Bryant a21ddd33e6 Code cleanup 2020-05-28 10:45:10 +00:00
Corey Bryant 635866afe4 cleanup 2020-05-28 10:45:10 +00:00
Corey Bryant 2df890cabf s/run/tempest run/ 2020-05-28 10:45:10 +00:00
Corey Bryant 27cc4ebdcf Switch to running tempest with subprocess and use workspace 2020-05-28 10:45:10 +00:00
Corey Bryant 816c6462ca Revert to remember 2020-05-28 10:45:10 +00:00
Corey Bryant 2b9de3a2b7 Updates to tempest config rendering and init 2020-05-28 10:45:10 +00:00
Corey Bryant 82a1f1b75d Fix tempest run config-file flag 2020-05-28 10:45:10 +00:00
Corey Bryant a1f34e2c01 Handle tempest changing to workspace directory 2020-05-28 10:45:10 +00:00
Corey Bryant 67de027d98 Move tempest init to setup.py and use a local workspace path 2020-05-28 10:45:10 +00:00
Corey Bryant f017934c9b Fix typo in tempest workspace name 2020-05-28 10:45:10 +00:00
Corey Bryant 57594a466b Fix the_app.run ret code checks and don't recreate workspace if already exists 2020-05-28 10:45:10 +00:00
Corey Bryant a8a6e72ef3 Use tempest workspace to avoid conflicts with any charm unit test .stestr config 2020-05-28 10:45:10 +00:00
Corey Bryant 4d8cd803ff Convert list of (black-)regex's to a space-separated string 2020-05-28 10:45:10 +00:00
Corey Bryant 182cda9013 Add smoke to TempestTest as blacklist/whitelist/black-regex will be useful with it. 2020-05-28 10:45:10 +00:00
Liam Young be3659c4a2 Add support for blacklist/whitelist etc 2020-05-28 10:45:10 +00:00
Liam Young 6347bb707f More updates 2020-05-28 10:45:10 +00:00