diff --git a/.zuul.yaml b/.zuul.yaml index 75fc2a7..7725966 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,3 +1,4 @@ - project: templates: - openstack-python3-charm-zed-jobs + - openstack-python3-charm-jobs diff --git a/build-requirements.txt b/build-requirements.txt deleted file mode 100644 index ff4b357..0000000 --- a/build-requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -# NOTES(lourot): -# * We don't install charmcraft via pip anymore because it anyway spins up a -# container and scp the system's charmcraft snap inside it. So the charmcraft -# snap is necessary on the system anyway. -# * `tox -e build` successfully validated with charmcraft 1.2.1 - -cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35. -markupsafe<=2 diff --git a/charmcraft.yaml b/charmcraft.yaml index 366bcbe..47444bf 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -27,3 +27,10 @@ bases: - name: ubuntu channel: "22.04" architectures: [amd64, s390x, ppc64el, arm64] + - name: ubuntu + channel: "22.10" + architectures: [amd64, s390x, ppc64el, arm64] + - name: ubuntu + channel: "23.04" + architectures: [amd64, s390x, ppc64el, arm64] + diff --git a/osci.yaml b/osci.yaml index 5caf470..19eaacf 100644 --- a/osci.yaml +++ b/osci.yaml @@ -2,8 +2,7 @@ templates: - charm-unit-jobs-py38 - charm-unit-jobs-py310 - - charm-yoga-functional-jobs - - charm-zed-functional-jobs + - charm-functional-jobs vars: needs_charm_build: true charm_build_name: ceph-rbd-mirror diff --git a/pip.sh b/pip.sh deleted file mode 100755 index 9a7e6b0..0000000 --- a/pip.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -# -# This file is managed centrally by release-tools and should not be modified -# within individual charm repos. See the 'global' dir contents for available -# choices of tox.ini for OpenStack Charms: -# https://github.com/openstack-charmers/release-tools -# -# setuptools 58.0 dropped the support for use_2to3=true which is needed to -# install blessings (an indirect dependency of charm-tools). -# -# More details on the beahvior of tox and virtualenv creation can be found at -# https://github.com/tox-dev/tox/issues/448 -# -# This script is wrapper to force the use of the pinned versions early in the -# process when the virtualenv was created and upgraded before installing the -# depedencies declared in the target. -pip install 'pip<20.3' 'setuptools<50.0.0' -pip "$@" diff --git a/src/metadata.yaml b/src/metadata.yaml index 51dfde7..8bcc0f7 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -17,6 +17,8 @@ tags: series: - focal - jammy +- kinetic +- lunar extra-bindings: public: cluster: diff --git a/src/test-requirements.txt b/src/test-requirements.txt index 9c7afb7..e771023 100644 --- a/src/test-requirements.txt +++ b/src/test-requirements.txt @@ -4,9 +4,6 @@ # https://github.com/openstack-charmers/release-tools # -# Need tox to be available from tox... inception yes, but its a workaround for now -tox - # Functional Test Requirements (let Zaza's dependencies solve all dependencies here!) git+https://github.com/openstack-charmers/zaza.git#egg=zaza git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack diff --git a/src/tests/bundles/jammy-antelope.yaml b/src/tests/bundles/jammy-antelope.yaml new file mode 100644 index 0000000..f8a08de --- /dev/null +++ b/src/tests/bundles/jammy-antelope.yaml @@ -0,0 +1,184 @@ +variables: + openstack-origin: &openstack-origin cloud:jammy-antelope + series: &series jammy + +local_overlay_enabled: False + +series: *series + +machines: + '0': + constraints: "mem=3072M" + '1': + constraints: "mem=3072M" + '2': + constraints: "mem=3072M" + +applications: + + keystone-mysql-router: + charm: ch:mysql-router + channel: latest/edge + glance-mysql-router: + charm: ch:mysql-router + channel: latest/edge + cinder-mysql-router: + charm: ch:mysql-router + channel: latest/edge + + mysql-innodb-cluster: + charm: ch:mysql-innodb-cluster + num_units: 3 + to: + - '0' + - '1' + - '2' + channel: 8.0.19/edge + + keystone: + charm: ch:keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + channel: 2023.1/edge + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + channel: 3.9/edge + + cinder: + charm: ch:cinder + num_units: 1 + options: + block-device: None + glance-api-version: 2 + openstack-origin: *openstack-origin + channel: 2023.1/edge + + cinder-ceph: + charm: ch:cinder-ceph + num_units: 0 + channel: 2023.1/edge + + glance: + charm: ch:glance + num_units: 1 + options: + openstack-origin: *openstack-origin + channel: 2023.1/edge + + nova-compute: + charm: ch:nova-compute + num_units: 1 + options: + openstack-origin: *openstack-origin + channel: 2023.1/edge + + ceph-mon: + charm: ch:ceph-mon + num_units: 3 + options: + expected-osd-count: 3 + source: *openstack-origin + channel: quincy/edge + + ceph-osd: + charm: ch:ceph-osd + num_units: 3 + storage: + osd-devices: 'cinder,10G' + options: + source: *openstack-origin + bluestore: False + use-direct-io: False + osd-devices: '/dev/test-non-existent' + channel: quincy/edge + + ceph-rbd-mirror: + series: *series + charm: ../../../ceph-rbd-mirror.charm + num_units: 1 + options: + source: *openstack-origin + + ceph-mon-b: + charm: ch:ceph-mon + num_units: 3 + options: + expected-osd-count: 3 + source: *openstack-origin + channel: quincy/edge + + ceph-osd-b: + charm: ch:ceph-osd + num_units: 3 + storage: + osd-devices: 'cinder,10G' + options: + source: *openstack-origin + bluestore: False + use-direct-io: False + osd-devices: '/dev/test-non-existent' + channel: quincy/edge + + ceph-rbd-mirror-b: + series: *series + charm: ../../../ceph-rbd-mirror.charm + num_units: 1 + options: + source: *openstack-origin + +relations: + +- - keystone:shared-db + - keystone-mysql-router:shared-db +- - keystone-mysql-router:db-router + - mysql-innodb-cluster:db-router + +- - glance:shared-db + - glance-mysql-router:shared-db +- - glance-mysql-router:db-router + - mysql-innodb-cluster:db-router + +- - cinder:shared-db + - cinder-mysql-router:shared-db +- - cinder-mysql-router:db-router + - mysql-innodb-cluster:db-router + +- - rabbitmq-server + - cinder + +- - 'keystone:identity-service' + - cinder +- - 'keystone:identity-service' + - glance + +- - cinder + - cinder-ceph +- - cinder-ceph:ceph + - ceph-mon:client + +- - nova-compute:ceph-access + - cinder-ceph:ceph-access +- - nova-compute:amqp + - rabbitmq-server:amqp + +- - glance:image-service + - nova-compute:image-service +- - glance + - ceph-mon + +- - ceph-mon:osd + - ceph-osd:mon +- - ceph-mon + - ceph-rbd-mirror:ceph-local +- - ceph-mon + - ceph-rbd-mirror-b:ceph-remote + +- - ceph-mon-b:osd + - ceph-osd-b:mon +- - ceph-mon-b + - ceph-rbd-mirror-b:ceph-local +- - ceph-mon-b + - ceph-rbd-mirror:ceph-remote diff --git a/src/tests/bundles/jammy-zed.yaml b/src/tests/bundles/jammy-zed.yaml index 4c21f31..e9ab0c3 100644 --- a/src/tests/bundles/jammy-zed.yaml +++ b/src/tests/bundles/jammy-zed.yaml @@ -17,38 +17,34 @@ applications: keystone-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge glance-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge cinder-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge mysql-innodb-cluster: charm: ch:mysql-innodb-cluster num_units: 3 - options: - source: *openstack-origin to: - '0' - '1' - '2' - channel: latest/edge + channel: 8.0/edge keystone: charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin - channel: latest/edge + channel: zed/edge rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 - options: - source: *openstack-origin - channel: latest/edge + channel: 3.9/edge cinder: charm: ch:cinder @@ -56,26 +52,27 @@ applications: options: block-device: None glance-api-version: 2 - channel: latest/edge + openstack-origin: *openstack-origin + channel: zed/edge cinder-ceph: charm: ch:cinder-ceph num_units: 0 - channel: latest/edge + channel: zed/edge glance: charm: ch:glance num_units: 1 options: openstack-origin: *openstack-origin - channel: latest/edge + channel: zed/edge nova-compute: charm: ch:nova-compute num_units: 1 options: openstack-origin: *openstack-origin - channel: latest/edge + channel: zed/edge ceph-mon: charm: ch:ceph-mon diff --git a/src/tests/bundles/kinetic-zed.yaml b/src/tests/bundles/kinetic-zed.yaml index e093f8f..1631de1 100644 --- a/src/tests/bundles/kinetic-zed.yaml +++ b/src/tests/bundles/kinetic-zed.yaml @@ -17,13 +17,13 @@ applications: keystone-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge glance-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge cinder-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge mysql-innodb-cluster: charm: ch:mysql-innodb-cluster @@ -34,21 +34,19 @@ applications: - '0' - '1' - '2' - channel: latest/edge + channel: 8.0/edge keystone: charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin - channel: latest/edge + channel: zed/edge rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 - options: - source: *openstack-origin - channel: latest/edge + channel: 3.9/edge cinder: charm: ch:cinder @@ -56,26 +54,26 @@ applications: options: block-device: None glance-api-version: 2 - channel: latest/edge + channel: zed/edge cinder-ceph: charm: ch:cinder-ceph num_units: 0 - channel: latest/edge + channel: zed/edge glance: charm: ch:glance num_units: 1 options: openstack-origin: *openstack-origin - channel: latest/edge + channel: zed/edge nova-compute: charm: ch:nova-compute num_units: 1 options: openstack-origin: *openstack-origin - channel: latest/edge + channel: zed/edge ceph-mon: charm: ch:ceph-mon diff --git a/src/tests/bundles/lunar-antelope.yaml b/src/tests/bundles/lunar-antelope.yaml new file mode 100644 index 0000000..cd0d8d7 --- /dev/null +++ b/src/tests/bundles/lunar-antelope.yaml @@ -0,0 +1,246 @@ +variables: + openstack-origin: &openstack-origin distro + series: &series lunar + infra-series: &infra-series jammy + +local_overlay_enabled: False + +series: *series + +comment: +- 'machines section to decide order of deployment. database sooner = faster' +machines: + '0': + constraints: mem=3072M + series: *infra-series + '1': + constraints: mem=3072M + series: *infra-series + '2': + constraints: mem=3072M + series: *infra-series + '3': + series: *infra-series + '4': + '5': + '6': + '7': + '8': + '9': + '10': + '11': + '12': + '13': + '14': + '15': + '16': + '17': + '18': + '19': + '20': + '21': + +applications: + + keystone-mysql-router: + charm: ch:mysql-router + channel: latest/edge + glance-mysql-router: + charm: ch:mysql-router + channel: latest/edge + cinder-mysql-router: + charm: ch:mysql-router + channel: latest/edge + + mysql-innodb-cluster: + charm: ch:mysql-innodb-cluster + num_units: 3 + options: + # Reduce chances of spurious "super-read-only" failures, see lp:1882205 + expel-timeout: 20 + to: + - '0' + - '1' + - '2' + channel: 8.0.19/edge + series: *infra-series + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + to: + - '3' + channel: 3.9/edge + series: *infra-series + + keystone: + charm: ch:keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '4' + channel: 2023.1/edge + + cinder: + charm: ch:cinder + num_units: 1 + options: + block-device: None + glance-api-version: 2 + to: + - '5' + channel: 2023.1/edge + + cinder-ceph: + charm: ch:cinder-ceph + num_units: 0 + channel: 2023.1/edge + + glance: + charm: ch:glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '6' + channel: 2023.1/edge + + nova-compute: + charm: ch:nova-compute + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '7' + channel: 2023.1/edge + + ceph-mon: + charm: ch:ceph-mon + num_units: 3 + options: + source: *openstack-origin + monitor-count: '3' + expected-osd-count: 3 + to: + - '8' + - '9' + - '10' + channel: quincy/edge + + ceph-osd: + charm: ch:ceph-osd + num_units: 3 + storage: + osd-devices: 'cinder,10G' + options: + source: *openstack-origin + bluestore: False + use-direct-io: False + osd-devices: '/dev/test-non-existent' + to: + - '11' + - '12' + - '13' + channel: quincy/edge + + ceph-rbd-mirror: + series: *series + charm: ../../../ceph-rbd-mirror.charm + num_units: 1 + options: + source: *openstack-origin + to: + - '14' + + ceph-mon-b: + charm: ch:ceph-mon + num_units: 3 + options: + source: *openstack-origin + monitor-count: '3' + expected-osd-count: 3 + to: + - '15' + - '16' + - '17' + channel: quincy/edge + + ceph-osd-b: + charm: ch:ceph-osd + num_units: 3 + storage: + osd-devices: 'cinder,10G' + options: + source: *openstack-origin + bluestore: False + use-direct-io: False + osd-devices: '/dev/test-non-existent' + to: + - '18' + - '19' + - '20' + channel: quincy/edge + + ceph-rbd-mirror-b: + series: *series + charm: ../../../ceph-rbd-mirror.charm + num_units: 1 + options: + source: *openstack-origin + to: + - '21' + +relations: + +- - keystone:shared-db + - keystone-mysql-router:shared-db +- - keystone-mysql-router:db-router + - mysql-innodb-cluster:db-router + +- - glance:shared-db + - glance-mysql-router:shared-db +- - glance-mysql-router:db-router + - mysql-innodb-cluster:db-router + +- - cinder:shared-db + - cinder-mysql-router:shared-db +- - cinder-mysql-router:db-router + - mysql-innodb-cluster:db-router + +- - rabbitmq-server + - cinder + +- - 'keystone:identity-service' + - cinder +- - 'keystone:identity-service' + - glance + +- - cinder + - cinder-ceph +- - cinder-ceph:ceph + - ceph-mon:client + +- - nova-compute:ceph-access + - cinder-ceph:ceph-access +- - nova-compute:amqp + - rabbitmq-server:amqp + +- - glance:image-service + - nova-compute:image-service +- - glance + - ceph-mon + +- - ceph-mon:osd + - ceph-osd:mon +- - ceph-mon + - ceph-rbd-mirror:ceph-local +- - ceph-mon + - ceph-rbd-mirror-b:ceph-remote + +- - ceph-mon-b:osd + - ceph-osd-b:mon +- - ceph-mon-b + - ceph-rbd-mirror-b:ceph-local +- - ceph-mon-b + - ceph-rbd-mirror:ceph-remote