sunbeam-charms/tests/tempest/smoke.yaml.j2
Samuel Allan 5e40ba7d81
Add func tests for tempest-k8s charm
This is to verify that the tempest-k8s charm deploys successfully
(reaches active/idle, the tempest environment was set up successfully),
and doesn't adversely impact the rest of the sunbeam deployment.

Func tests with this charm have been observed to be unstable
(unexpected errors running certain tests),
so for now only minimal tests are added,
and it has been implemented in its own new test bundle.
This new test bundle is only triggered on changes in tempest-k8s code,
so it shouldn't affect the CI for other charms if it becomes unstable.

We still need to add more tests and debug the issues we were seeing,
but in the interests of time, we aim to implement these tests
and debug the issues in follow up patches.

Change-Id: I548eb07ed1eb9e67c46f62a16d36bfaec83d7040
2024-03-06 09:55:34 +10:30

210 lines
5.1 KiB
Django/Jinja

bundle: kubernetes
applications:
traefik:
charm: ch:traefik-k8s
channel: 1.0/candidate
base: ubuntu@20.04
scale: 1
trust: true
options:
kubernetes-service-annotations: metallb.universe.tf/address-pool=public
mysql:
charm: ch:mysql-k8s
channel: 8.0/stable
base: ubuntu@22.04
scale: 1
trust: true
constraints: cpu-power=1000 mem=1G
tls-operator:
charm: self-signed-certificates
channel: latest/beta
base: ubuntu@22.04
scale: 1
options:
ca-common-name: internal-ca
rabbitmq:
charm: ch:rabbitmq-k8s
channel: 3.12/edge
base: ubuntu@22.04
scale: 1
trust: true
options:
minimum-replicas: 1
ovn-central:
{% if ovn_central_k8s is defined and ovn_central_k8s is sameas true -%}
charm: ../../../ovn-central-k8s.charm
{% else -%}
charm: ch:ovn-central-k8s
channel: 23.03/edge
{% endif -%}
base: ubuntu@22.04
scale: 1
trust: true
resources:
ovn-sb-db-server-image: ghcr.io/canonical/ovn-consolidated:23.09
ovn-nb-db-server-image: ghcr.io/canonical/ovn-consolidated:23.09
ovn-northd-image: ghcr.io/canonical/ovn-consolidated:23.09
ovn-relay:
{% if ovn_relay_k8s is defined and ovn_relay_k8s is sameas true -%}
charm: ../../../ovn-relay-k8s.charm
{% else -%}
charm: ch:ovn-relay-k8s
channel: 23.03/edge
{% endif -%}
base: ubuntu@22.04
scale: 1
trust: true
resources:
ovn-sb-db-server-image: ghcr.io/canonical/ovn-consolidated:23.09
keystone:
{% if keystone_k8s is defined and keystone_k8s is sameas true -%}
charm: ../../../keystone-k8s.charm
{% else -%}
charm: ch:keystone-k8s
channel: 2023.2/edge
{% endif -%}
base: ubuntu@22.04
scale: 1
trust: true
options:
admin-role: admin
storage:
fernet-keys: 5M
credential-keys: 5M
resources:
keystone-image: ghcr.io/canonical/keystone:2023.2
glance:
{% if glance_k8s is defined and glance_k8s is sameas true -%}
charm: ../../../glance-k8s.charm
{% else -%}
charm: ch:glance-k8s
channel: 2023.2/edge
{% endif -%}
base: ubuntu@22.04
scale: 1
trust: true
storage:
local-repository: 5G
resources:
glance-api-image: ghcr.io/canonical/glance-api:2023.2
nova:
{% if nova_k8s is defined and nova_k8s is sameas true -%}
charm: ../../../nova-k8s.charm
{% else -%}
charm: ch:nova-k8s
channel: 2023.2/edge
{% endif -%}
base: ubuntu@22.04
scale: 1
trust: true
resources:
nova-api-image: ghcr.io/canonical/nova-consolidated:2023.2
nova-scheduler-image: ghcr.io/canonical/nova-consolidated:2023.2
nova-conductor-image: ghcr.io/canonical/nova-consolidated:2023.2
placement:
{% if placement_k8s is defined and placement_k8s is sameas true -%}
charm: ../../../placement-k8s.charm
{% else -%}
charm: ch:placement-k8s
channel: 2023.2/edge
{% endif -%}
base: ubuntu@22.04
scale: 1
trust: true
resources:
placement-api-image: ghcr.io/canonical/placement-api:2023.2
neutron:
{% if neutron_k8s is defined and neutron_k8s is sameas true -%}
charm: ../../../neutron-k8s.charm
{% else -%}
charm: ch:neutron-k8s
channel: 2023.2/edge
{% endif -%}
base: ubuntu@22.04
scale: 1
trust: true
options:
debug: true
resources:
neutron-server-image: ghcr.io/canonical/neutron-server:2023.2
tempest:
{% if tempest_k8s is defined and tempest_k8s is sameas true -%}
charm: ../../../tempest-k8s.charm
{% else -%}
charm: ch:tempest-k8s
channel: 2023.2/edge
{% endif -%}
base: ubuntu@22.04
scale: 1
trust: true
resources:
tempest-image: ghcr.io/canonical/tempest:2023.2
relations:
- - tls-operator:certificates
- ovn-central:certificates
- - tls-operator:certificates
- ovn-relay:certificates
- - ovn-relay:ovsdb-cms
- ovn-central:ovsdb-cms
- - mysql:database
- keystone:database
- - traefik:ingress
- keystone:ingress-public
- - mysql:database
- glance:database
- - keystone:identity-service
- glance:identity-service
- - rabbitmq:amqp
- glance:amqp
- - traefik:ingress
- glance:ingress-public
- - keystone:send-ca-cert
- glance:receive-ca-cert
- - mysql:database
- nova:database
- - mysql:database
- nova:api-database
- - mysql:database
- nova:cell-database
- - rabbitmq:amqp
- nova:amqp
- - keystone:identity-service
- nova:identity-service
- - traefik:ingress
- nova:ingress-public
- - keystone:send-ca-cert
- nova:receive-ca-cert
- - mysql:database
- placement:database
- - keystone:identity-service
- placement:identity-service
- - traefik:ingress
- placement:ingress-public
- - keystone:send-ca-cert
- placement:receive-ca-cert
- - mysql:database
- neutron:database
- - rabbitmq:amqp
- neutron:amqp
- - keystone:identity-service
- neutron:identity-service
- - traefik:ingress
- neutron:ingress-public
- - tls-operator:certificates
- neutron:certificates
- - neutron:ovsdb-cms
- ovn-central:ovsdb-cms
- - keystone:send-ca-cert
- neutron:receive-ca-cert
- - tempest:identity-ops
- keystone:identity-ops