diff --git a/charmcraft.yaml b/charmcraft.yaml index 366bcbe..34da566 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -2,28 +2,33 @@ type: charm parts: charm: - source: src/ plugin: reactive - build-snaps: - - charm + reactive-charm-build-arguments: + - --binary-wheels-from-source build-packages: - tox - git - python3-dev + - libffi-dev + source: src/ + build-snaps: + - charm/latest/edge build-environment: - - CHARM_INTERFACES_DIR: /root/project/interfaces/ - - CHARM_LAYERS_DIR: /root/project/layers/ + - CHARM_INTERFACES_DIR: $CRAFT_PROJECT_DIR/interfaces/ + - CHARM_LAYERS_DIR: $CRAFT_PROJECT_DIR/layers/ -bases: - - build-on: - - name: ubuntu - channel: "20.04" - architectures: - - amd64 - run-on: - - name: ubuntu - channel: "20.04" - architectures: [amd64, s390x, ppc64el, arm64] - - name: ubuntu - channel: "22.04" - architectures: [amd64, s390x, ppc64el, arm64] +base: ubuntu@24.04 +build-base: ubuntu@24.04 +platforms: + amd64: + build-on: amd64 + build-for: amd64 + arm64: + build-on: arm64 + build-for: arm64 + s390x: + build-on: s390x + build-for: s390x + ppc64el: + build-on: ppc64el + build-for: ppc64el diff --git a/osci.yaml b/osci.yaml index a2050c2..7e2af6f 100644 --- a/osci.yaml +++ b/osci.yaml @@ -7,4 +7,4 @@ needs_charm_build: true charm_build_name: ceph-rbd-mirror build_type: charmcraft - charmcraft_channel: 2.x/stable + charmcraft_channel: 3.x/beta diff --git a/requirements.txt b/requirements.txt index b3dc23f..2908128 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,13 +1,3 @@ -# 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 *requirements.txt files for OpenStack Charms: -# https://github.com/openstack-charmers/release-tools -# -# NOTE(lourot): This might look like a duplication of test-requirements.txt but -# some tox targets use only test-requirements.txt whereas charm-build uses only -# requirements.txt -setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85 - # NOTE: newer versions of cryptography require a Rust compiler to build, # see # * https://github.com/openstack-charmers/zaza/issues/421 diff --git a/src/build.lock b/src/build.lock new file mode 100644 index 0000000..542fa4a --- /dev/null +++ b/src/build.lock @@ -0,0 +1,264 @@ +{ + "locks": [ + { + "type": "layer", + "item": "layer:leadership", + "url": "https://git.launchpad.net/layer-leadership", + "vcs": null, + "branch": "cc5bd3f49b2fa5e6c3ab2336763c313ec8bf083f", + "commit": "cc5bd3f49b2fa5e6c3ab2336763c313ec8bf083f" + }, + { + "type": "layer", + "item": "layer:options", + "url": "https://github.com/juju-solutions/layer-options.git", + "vcs": null, + "branch": "fcdcea4e5de3e1556c24e6704607862d0ba00a56", + "commit": "fcdcea4e5de3e1556c24e6704607862d0ba00a56" + }, + { + "type": "layer", + "item": "layer:basic", + "url": "https://github.com/juju-solutions/layer-basic.git", + "vcs": null, + "branch": "24324f8dab91bb304f7400dadc263ac6106268cb", + "commit": "24324f8dab91bb304f7400dadc263ac6106268cb" + }, + { + "type": "layer", + "item": "layer:openstack", + "url": "https://github.com/openstack/charm-layer-openstack", + "vcs": null, + "branch": "7c671b0696977f455616565d956895b2f890464b", + "commit": "7c671b0696977f455616565d956895b2f890464b" + }, + { + "type": "layer", + "item": "layer:ceph", + "url": "https://github.com/openstack/charm-layer-ceph.git", + "vcs": null, + "branch": "17d40abd8d9ec3b8c32756ca981c80c4733c016f", + "commit": "17d40abd8d9ec3b8c32756ca981c80c4733c016f" + }, + { + "type": "layer", + "item": "ceph-rbd-mirror", + "url": null, + "vcs": null, + "branch": "881e21bdc16cecd62c1c2d9ba470c5f4ee600fdc", + "commit": "881e21bdc16cecd62c1c2d9ba470c5f4ee600fdc" + }, + { + "type": "layer", + "item": "interface:tls-certificates", + "url": "https://github.com/juju-solutions/interface-tls-certificates", + "vcs": null, + "branch": "da891c403864482688ec767a964218e5857f0e49", + "commit": "da891c403864482688ec767a964218e5857f0e49" + }, + { + "type": "layer", + "item": "interface:ceph-rbd-mirror", + "url": "https://github.com/openstack/charm-interface-ceph-rbd-mirror.git", + "vcs": null, + "branch": "d746757302beb385384f9c647afe68ce764bb3b7", + "commit": "d746757302beb385384f9c647afe68ce764bb3b7" + }, + { + "type": "layer", + "item": "interface:nrpe-external-master", + "url": "https://github.com/canonical/nrpe-external-master-interface", + "vcs": null, + "branch": "c58fe7b01a151d933681b5bf67e47ad3de65eeaa", + "commit": "c58fe7b01a151d933681b5bf67e47ad3de65eeaa" + }, + { + "type": "python_module", + "package": "pip", + "vcs": null, + "version": "22.0.4" + }, + { + "type": "python_module", + "package": "flit_scm", + "vcs": null, + "version": "1.7.0" + }, + { + "type": "python_module", + "package": "setuptools_scm", + "vcs": null, + "version": "6.4.2" + }, + { + "type": "python_module", + "package": "MarkupSafe", + "vcs": null, + "version": "2.1.5" + }, + { + "type": "python_module", + "package": "pluggy", + "vcs": null, + "version": "1.5.0" + }, + { + "type": "python_module", + "package": "calver", + "vcs": null, + "version": "2022.6.26" + }, + { + "type": "python_module", + "package": "Cython", + "vcs": null, + "version": "0.29.37" + }, + { + "type": "python_module", + "package": "charms.reactive", + "url": "git+https://github.com/canonical/charms.reactive.git", + "branch": "f7debc39e623a3a73673ba1f7e4cb5bc7ae9ecd9", + "version": "f7debc39e623a3a73673ba1f7e4cb5bc7ae9ecd9", + "vcs": "git" + }, + { + "type": "python_module", + "package": "packaging", + "vcs": null, + "version": "24.1" + }, + { + "type": "python_module", + "package": "pyudev", + "vcs": null, + "version": "0.24.3" + }, + { + "type": "python_module", + "package": "hatchling", + "vcs": null, + "version": "1.25.0" + }, + { + "type": "python_module", + "package": "pathspec", + "vcs": null, + "version": "0.12.1" + }, + { + "type": "python_module", + "package": "sniffio", + "vcs": null, + "version": "1.3.0" + }, + { + "type": "python_module", + "package": "charms.ceph", + "url": "git+https://github.com/openstack/charms.ceph.git", + "branch": "64f3c1b12b14545a76321469478fb456b379832d", + "version": "64f3c1b12b14545a76321469478fb456b379832d", + "vcs": "git" + }, + { + "type": "python_module", + "package": "pbr", + "vcs": null, + "version": "6.0.0" + }, + { + "type": "python_module", + "package": "dnspython", + "vcs": null, + "version": "2.6.1" + }, + { + "type": "python_module", + "package": "anyio", + "vcs": null, + "version": "3.6.2" + }, + { + "type": "python_module", + "package": "netaddr", + "vcs": null, + "version": "0.7.19" + }, + { + "type": "python_module", + "package": "tomli", + "vcs": null, + "version": "2.0.1" + }, + { + "type": "python_module", + "package": "PyYAML", + "vcs": null, + "version": "6.0.1" + }, + { + "type": "python_module", + "package": "charmhelpers", + "url": "git+https://github.com/juju/charm-helpers.git", + "branch": "1b2d4dc8f8effd79d782241a32a0485af1f01e73", + "version": "1b2d4dc8f8effd79d782241a32a0485af1f01e73", + "vcs": "git" + }, + { + "type": "python_module", + "package": "idna", + "vcs": null, + "version": "3.7" + }, + { + "type": "python_module", + "package": "psutil", + "vcs": null, + "version": "6.0.0" + }, + { + "type": "python_module", + "package": "pyaml", + "vcs": null, + "version": "21.10.1" + }, + { + "type": "python_module", + "package": "netifaces", + "vcs": null, + "version": "0.11.0" + }, + { + "type": "python_module", + "package": "flit_core", + "vcs": null, + "version": "3.9.0" + }, + { + "type": "python_module", + "package": "trove_classifiers", + "vcs": null, + "version": "2024.7.2" + }, + { + "type": "python_module", + "package": "wheel", + "vcs": null, + "version": "0.43.0" + }, + { + "type": "python_module", + "package": "charms.openstack", + "url": "git+https://github.com/openstack/charms.openstack.git", + "branch": "355d65f64cc1dac133d885aa7cfc58b1804a0c30", + "version": "355d65f64cc1dac133d885aa7cfc58b1804a0c30", + "vcs": "git" + }, + { + "type": "python_module", + "package": "jinja2", + "vcs": null, + "version": "3.1.4" + } + ] +} diff --git a/src/metadata.yaml b/src/metadata.yaml index 1ed8ab6..930f2fe 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -16,8 +16,7 @@ tags: - file-servers - misc series: -- focal -- jammy +- noble extra-bindings: public: cluster: diff --git a/src/tests/bundles/focal-yoga.yaml b/src/tests/bundles/focal-yoga.yaml deleted file mode 100644 index 9b8f51b..0000000 --- a/src/tests/bundles/focal-yoga.yaml +++ /dev/null @@ -1,187 +0,0 @@ -variables: - openstack-origin: &openstack-origin cloud:focal-yoga - -local_overlay_enabled: False - -series: &series focal - -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 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - channel: latest/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: yoga/edge - - rabbitmq-server: - charm: ch:rabbitmq-server - num_units: 1 - options: - source: *openstack-origin - channel: latest/edge - - cinder: - charm: ch:cinder - num_units: 1 - options: - block-device: None - glance-api-version: 2 - openstack-origin: *openstack-origin - channel: yoga/edge - - cinder-ceph: - charm: ch:cinder-ceph - num_units: 0 - channel: yoga/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: yoga/edge - - nova-compute: - charm: ch:nova-compute - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: yoga/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-antelope.yaml b/src/tests/bundles/jammy-antelope.yaml deleted file mode 100644 index f8a08de..0000000 --- a/src/tests/bundles/jammy-antelope.yaml +++ /dev/null @@ -1,184 +0,0 @@ -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-bobcat.yaml b/src/tests/bundles/jammy-bobcat.yaml deleted file mode 100644 index a6a37e0..0000000 --- a/src/tests/bundles/jammy-bobcat.yaml +++ /dev/null @@ -1,180 +0,0 @@ -variables: - openstack-origin: &openstack-origin cloud:jammy-bobcat - 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: 8.0/edge - glance-mysql-router: - charm: ch:mysql-router - channel: 8.0/edge - cinder-mysql-router: - charm: ch:mysql-router - channel: 8.0/edge - - mysql-innodb-cluster: - charm: ch:mysql-innodb-cluster - num_units: 3 - to: - - '0' - - '1' - - '2' - channel: 8.0/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: 2023.2/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.2/edge - - cinder-ceph: - charm: ch:cinder-ceph - num_units: 0 - channel: 2023.2/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: 2023.2/edge - - nova-compute: - charm: ch:nova-compute - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: 2023.2/edge - - ceph-mon: - charm: ch:ceph-mon - num_units: 3 - options: - expected-osd-count: 3 - source: *openstack-origin - channel: reef/edge - - ceph-osd: - charm: ch:ceph-osd - num_units: 3 - storage: - osd-devices: 'cinder,10G' - options: - source: *openstack-origin - osd-devices: '/dev/test-non-existent' - channel: reef/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: reef/edge - - ceph-osd-b: - charm: ch:ceph-osd - num_units: 3 - storage: - osd-devices: 'cinder,10G' - options: - source: *openstack-origin - osd-devices: '/dev/test-non-existent' - channel: reef/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-yoga.yaml b/src/tests/bundles/jammy-yoga.yaml deleted file mode 100644 index 8e85d4a..0000000 --- a/src/tests/bundles/jammy-yoga.yaml +++ /dev/null @@ -1,186 +0,0 @@ -variables: - openstack-origin: &openstack-origin distro - -local_overlay_enabled: False - -series: &series jammy - -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 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - channel: latest/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: yoga/edge - - rabbitmq-server: - charm: ch:rabbitmq-server - num_units: 1 - options: - source: *openstack-origin - channel: latest/edge - - cinder: - charm: ch:cinder - num_units: 1 - options: - block-device: None - glance-api-version: 2 - channel: yoga/edge - - cinder-ceph: - charm: ch:cinder-ceph - num_units: 0 - channel: yoga/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: yoga/edge - - nova-compute: - charm: ch:nova-compute - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: yoga/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-caracal.yaml b/src/tests/bundles/noble-caracal.yaml similarity index 96% rename from src/tests/bundles/jammy-caracal.yaml rename to src/tests/bundles/noble-caracal.yaml index 67f8968..8afd642 100644 --- a/src/tests/bundles/jammy-caracal.yaml +++ b/src/tests/bundles/noble-caracal.yaml @@ -1,6 +1,6 @@ variables: - openstack-origin: &openstack-origin cloud:jammy-caracal - series: &series jammy + openstack-origin: &openstack-origin distro + series: &series noble local_overlay_enabled: False @@ -73,7 +73,8 @@ applications: num_units: 1 options: openstack-origin: *openstack-origin - channel: latest/edge + channel: 2023.2/stable + series: jammy ceph-mon: charm: ch:ceph-mon diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index 62b39db..bab0272 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -1,22 +1,12 @@ charm_name: ceph-rbd-mirror -smoke_bundles: -- jammy-antelope gate_bundles: -- jammy-bobcat + - noble-caracal comment: | The e2e bundles are useful for development but adds no additional value to the functional tests. -dev_bundles: -- focal-yoga -- focal-yoga-image-mirroring -- jammy-yoga -- jammy-yoga-image-mirroring configure: - zaza.openstack.charm_tests.glance.setup.add_cirros_image tests: - zaza.openstack.charm_tests.ceph.rbd_mirror.tests.CephRBDMirrorTest - zaza.openstack.charm_tests.ceph.rbd_mirror.tests.CephRBDMirrorControlledFailoverTest - zaza.openstack.charm_tests.ceph.rbd_mirror.tests.CephRBDMirrorDisasterFailoverTest -tests_options: - force_deploy: - - jammy-caracal \ No newline at end of file diff --git a/src/wheelhouse.txt b/src/wheelhouse.txt index 04ab38c..2555245 100644 --- a/src/wheelhouse.txt +++ b/src/wheelhouse.txt @@ -1,4 +1,5 @@ git+https://github.com/juju/charm-helpers.git#egg=charmhelpers psutil -poetry-core git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack +# https://github.com/canonical/charms.reactive/pull/260 +git+https://github.com/canonical/charms.reactive.git#egg=charms.reactive diff --git a/tox.ini b/tox.ini index af776db..542eba2 100644 --- a/tox.ini +++ b/tox.ini @@ -12,16 +12,12 @@ sitepackages = False skip_missing_interpreters = False [testenv] -# We use tox mainly for virtual environment management for test requirements -# and do not install the charm code as a Python package into that environment. -# Ref: https://tox.wiki/en/latest/config.html#skip_install -skip_install = True setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 TERM=linux - JUJU_REPOSITORY={toxinidir}/build CHARM_LAYERS_DIR={toxinidir}/layers CHARM_INTERFACES_DIR={toxinidir}/interfaces + JUJU_REPOSITORY={toxinidir}/build passenv = no_proxy http_proxy @@ -39,10 +35,6 @@ deps = [testenv:build] basepython = python3 -# charmcraft clean is done to ensure that -# `tox -e build` always performs a clean, repeatable build. -# For faster rebuilds during development, -# directly run `charmcraft -v pack && ./rename.sh`. commands = charmcraft clean charmcraft -v pack @@ -52,7 +44,7 @@ commands = [testenv:build-reactive] basepython = python3 commands = - charm-build --log-level DEBUG --use-lock-file-branches -o {toxinidir}/build/builds src {posargs} + charm-build --log-level DEBUG --use-lock-file-branches --binary-wheels-from-source -o {toxinidir}/build/builds src {posargs} [testenv:add-build-lock-file] basepython = python3 @@ -61,22 +53,16 @@ commands = [testenv:py3] basepython = python3 -deps = -r{toxinidir}/test-requirements.txt -commands = stestr run --slowest {posargs} - -[testenv:py38] -basepython = python3.8 -deps = -r{toxinidir}/test-requirements.txt -commands = stestr run --slowest {posargs} - -[testenv:py39] -basepython = python3.9 -deps = -r{toxinidir}/test-requirements.txt +deps = + -c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt} + -r{toxinidir}/test-requirements.txt commands = stestr run --slowest {posargs} [testenv:py310] basepython = python3.10 -deps = -r{toxinidir}/test-requirements.txt +deps = + -c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt} + -r{toxinidir}/test-requirements.txt commands = stestr run --slowest {posargs} [testenv:pep8]