diff --git a/.gitreview b/.gitreview index 134c66e..c739d9b 100644 --- a/.gitreview +++ b/.gitreview @@ -2,3 +2,4 @@ host=review.opendev.org port=29418 project=openstack/charm-ceph-proxy.git +defaultbranch=stable/quincy.2 diff --git a/.zuul.yaml b/.zuul.yaml index 168494f..d6c1104 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -2,4 +2,5 @@ templates: - openstack-python3-charm-zed-jobs - openstack-python3-charm-yoga-jobs + - openstack-python3-charm-jobs diff --git a/charmcraft.yaml b/charmcraft.yaml index 09f0342..37cacbc 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -31,3 +31,9 @@ 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/config.yaml b/config.yaml index 6f6c9da..80f8564 100644 --- a/config.yaml +++ b/config.yaml @@ -10,7 +10,7 @@ options: Setting this to True will allow supporting services to log to syslog. source: type: string - default: zed + default: antelope description: | Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb url sources entry, diff --git a/metadata.yaml b/metadata.yaml index 22689a7..7854a2d 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -11,6 +11,8 @@ tags: - misc series: - jammy +- kinetic +- lunar extra-bindings: public: cluster: diff --git a/osci.yaml b/osci.yaml index 0f56379..2232b78 100644 --- a/osci.yaml +++ b/osci.yaml @@ -9,6 +9,8 @@ - jammy-yoga-ec - kinetic-zed-ec: voting: false + - lunar-antelope-ec: + voting: false vars: needs_charm_build: true charm_build_name: ceph-proxy @@ -31,3 +33,10 @@ - jammy-yoga-ec vars: tox_extra_args: erasure-coded:kinetic-zed-ec +- job: + name: lunar-antelope-ec + parent: func-target + dependencies: + - jammy-yoga-ec + vars: + tox_extra_args: erasure-coded:lunar-antelope-ec 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/test-requirements.txt b/test-requirements.txt index 4ef87dc..77482bc 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -20,8 +20,8 @@ cliff<3.0.0 coverage>=4.5.2 pyudev # for ceph-* charm unit tests (need to fix the ceph-* charm unit tests/mocking) -git+https://github.com/openstack-charmers/zaza.git#egg=zaza -git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack +git+https://github.com/openstack-charmers/zaza.git@stable/zed#egg=zaza +git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/zed#egg=zaza.openstack # Needed for charm-glance: git+https://opendev.org/openstack/tempest.git#egg=tempest diff --git a/tests/bundles/jammy-antelope.yaml b/tests/bundles/jammy-antelope.yaml new file mode 100644 index 0000000..8677eee --- /dev/null +++ b/tests/bundles/jammy-antelope.yaml @@ -0,0 +1,199 @@ +variables: + openstack-origin: &openstack-origin distro + +series: jammy + +comment: +- 'machines section to decide order of deployment. database sooner = faster' +machines: + '0': + constraints: mem=3072M + '1': + constraints: mem=3072M + '2': + constraints: mem=3072M + '3': + '4': + '5': + '6': + '7': + '8': + '9': + '10': + '11': + '12': + '13': + '14': + '15': + +applications: + + cinder-mysql-router: + charm: ch:mysql-router + channel: latest/edge + glance-mysql-router: + charm: ch:mysql-router + channel: latest/edge + keystone-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 + + ceph-mon: + charm: ch:ceph-mon + num_units: 3 + options: + expected-osd-count: 3 + source: *openstack-origin + to: + - '3' + - '4' + - '5' + channel: latest/edge + + ceph-osd: + charm: ch:ceph-osd + num_units: 3 + storage: + osd-devices: 10G + options: + source: *openstack-origin + to: + - '6' + - '7' + - '8' + channel: latest/edge + + ceph-proxy: + charm: ../../ceph-proxy.charm + num_units: 1 + options: + source: *openstack-origin + to: + - '9' + + ceph-radosgw: + charm: ch:ceph-radosgw + num_units: 1 + options: + source: *openstack-origin + to: + - '10' + channel: latest/edge + + cinder: + charm: ch:cinder + num_units: 1 + options: + openstack-origin: *openstack-origin + block-device: "" + ephemeral-unmount: "" + glance-api-version: 2 + overwrite: "false" + constraints: mem=2048 + to: + - '11' + channel: latest/edge + + cinder-ceph: + charm: ch:cinder-ceph + options: + restrict-ceph-pools: True + channel: latest/edge + + keystone: + charm: ch:keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + admin-password: openstack + constraints: mem=1024 + to: + - '12' + channel: latest/edge + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + constraints: mem=1024 + options: + source: *openstack-origin + to: + - '13' + channel: latest/edge + + glance: + charm: ch:glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '14' + channel: latest/edge + + nova-compute: + charm: ch:nova-compute + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '15' + channel: latest/edge + + +relations: + + - - 'ceph-osd:mon' + - 'ceph-mon:osd' + + - - 'ceph-proxy:radosgw' + - 'ceph-radosgw:mon' + + - - 'cinder:amqp' + - 'rabbitmq-server:amqp' + + - - 'cinder:shared-db' + - 'cinder-mysql-router:shared-db' + - - 'cinder-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'cinder:identity-service' + - 'keystone:identity-service' + + - - 'cinder-ceph:storage-backend' + - 'cinder:storage-backend' + + - - 'cinder-ceph:ceph' + - 'ceph-proxy:client' + + - - 'glance:image-service' + - 'nova-compute:image-service' + + - - 'glance:identity-service' + - 'keystone:identity-service' + + - - 'glance:shared-db' + - 'glance-mysql-router:shared-db' + - - 'glance-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'nova-compute:ceph-access' + - 'cinder-ceph:ceph-access' + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' diff --git a/tests/bundles/lunar-antelope-ec.yaml b/tests/bundles/lunar-antelope-ec.yaml new file mode 100644 index 0000000..f4fd5f4 --- /dev/null +++ b/tests/bundles/lunar-antelope-ec.yaml @@ -0,0 +1,228 @@ +variables: + openstack-origin: &openstack-origin distro + +series: lunar + +comment: +- 'machines section to decide order of deployment. database sooner = faster' +machines: + '0': + constraints: mem=3072M + '1': + constraints: mem=3072M + '2': + constraints: mem=3072M + '3': + '4': + '5': + '6': + '7': + '8': + '9': + '10': + '11': + '12': + '13': + '14': + '15': + '16': + '17': + '18': + +applications: + + cinder-mysql-router: + charm: ch:mysql-router + channel: latest/edge + glance-mysql-router: + charm: ch:mysql-router + channel: latest/edge + keystone-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 + + ceph-mon: + charm: ch:ceph-mon + num_units: 3 + options: + expected-osd-count: 3 + source: *openstack-origin + to: + - '3' + - '4' + - '5' + channel: latest/edge + + ceph-osd: + charm: ch:ceph-osd + num_units: 6 + storage: + osd-devices: 10G + options: + source: *openstack-origin + to: + - '6' + - '7' + - '8' + - '16' + - '17' + - '18' + channel: latest/edge + + ceph-proxy: + charm: ../../ceph-proxy.charm + num_units: 1 + options: + source: *openstack-origin + to: + - '9' + + ceph-radosgw: + charm: ch:ceph-radosgw + num_units: 1 + options: + source: *openstack-origin + pool-type: erasure-coded + ec-profile-k: 4 + ec-profile-m: 2 + to: + - '10' + channel: latest/edge + + cinder: + charm: ch:cinder + num_units: 1 + options: + openstack-origin: *openstack-origin + block-device: "" + ephemeral-unmount: "" + glance-api-version: 2 + overwrite: "false" + constraints: mem=2048 + to: + - '11' + channel: latest/edge + + cinder-ceph: + charm: ch:cinder-ceph + options: + restrict-ceph-pools: True + pool-type: erasure-coded + ec-profile-k: 4 + ec-profile-m: 2 + ec-profile-plugin: lrc + ec-profile-locality: 3 + channel: latest/edge + + keystone: + charm: ch:keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + admin-password: openstack + constraints: mem=1024 + to: + - '12' + channel: latest/edge + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + constraints: mem=1024 + options: + source: *openstack-origin + to: + - '13' + channel: latest/edge + + glance: + charm: ch:glance + num_units: 1 + options: + openstack-origin: *openstack-origin + pool-type: erasure-coded + ec-profile-k: 4 + ec-profile-m: 2 + ec-profile-plugin: jerasure + to: + - '14' + channel: latest/edge + + nova-compute: + charm: ch:nova-compute + num_units: 1 + options: + openstack-origin: *openstack-origin + pool-type: erasure-coded + ec-profile-k: 4 + ec-profile-m: 2 + ec-profile-plugin: isa + libvirt-image-backend: rbd + to: + - '15' + channel: latest/edge + + +relations: + + - - 'ceph-osd:mon' + - 'ceph-mon:osd' + + - - 'ceph-proxy:radosgw' + - 'ceph-radosgw:mon' + + - - 'cinder:amqp' + - 'rabbitmq-server:amqp' + + - - 'cinder:shared-db' + - 'cinder-mysql-router:shared-db' + - - 'cinder-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'cinder:identity-service' + - 'keystone:identity-service' + + - - 'cinder-ceph:storage-backend' + - 'cinder:storage-backend' + + - - 'cinder-ceph:ceph' + - 'ceph-proxy:client' + + - - 'glance:image-service' + - 'nova-compute:image-service' + + - - 'glance:identity-service' + - 'keystone:identity-service' + + - - 'glance:shared-db' + - 'glance-mysql-router:shared-db' + - - 'glance-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'glance:ceph' + - 'ceph-proxy:client' + + - - 'nova-compute:ceph-access' + - 'cinder-ceph:ceph-access' + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-compute:ceph' + - 'ceph-proxy:client' diff --git a/tests/bundles/lunar-antelope.yaml b/tests/bundles/lunar-antelope.yaml new file mode 100644 index 0000000..bf65396 --- /dev/null +++ b/tests/bundles/lunar-antelope.yaml @@ -0,0 +1,199 @@ +variables: + openstack-origin: &openstack-origin cloud:lunar-antelope + +series: lunar + +comment: +- 'machines section to decide order of deployment. database sooner = faster' +machines: + '0': + constraints: mem=3072M + '1': + constraints: mem=3072M + '2': + constraints: mem=3072M + '3': + '4': + '5': + '6': + '7': + '8': + '9': + '10': + '11': + '12': + '13': + '14': + '15': + +applications: + + cinder-mysql-router: + charm: ch:mysql-router + channel: latest/edge + glance-mysql-router: + charm: ch:mysql-router + channel: latest/edge + keystone-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 + + ceph-mon: + charm: ch:ceph-mon + num_units: 3 + options: + expected-osd-count: 3 + source: *openstack-origin + to: + - '3' + - '4' + - '5' + channel: latest/edge + + ceph-osd: + charm: ch:ceph-osd + num_units: 3 + storage: + osd-devices: 10G + options: + source: *openstack-origin + to: + - '6' + - '7' + - '8' + channel: latest/edge + + ceph-proxy: + charm: ../../ceph-proxy.charm + num_units: 1 + options: + source: *openstack-origin + to: + - '9' + + ceph-radosgw: + charm: ch:ceph-radosgw + num_units: 1 + options: + source: *openstack-origin + to: + - '10' + channel: latest/edge + + cinder: + charm: ch:cinder + num_units: 1 + options: + openstack-origin: *openstack-origin + block-device: "" + ephemeral-unmount: "" + glance-api-version: 2 + overwrite: "false" + constraints: mem=2048 + to: + - '11' + channel: latest/edge + + cinder-ceph: + charm: ch:cinder-ceph + options: + restrict-ceph-pools: True + channel: latest/edge + + keystone: + charm: ch:keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + admin-password: openstack + constraints: mem=1024 + to: + - '12' + channel: latest/edge + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + constraints: mem=1024 + options: + source: *openstack-origin + to: + - '13' + channel: latest/edge + + glance: + charm: ch:glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '14' + channel: latest/edge + + nova-compute: + charm: ch:nova-compute + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '15' + channel: latest/edge + + +relations: + + - - 'ceph-osd:mon' + - 'ceph-mon:osd' + + - - 'ceph-proxy:radosgw' + - 'ceph-radosgw:mon' + + - - 'cinder:amqp' + - 'rabbitmq-server:amqp' + + - - 'cinder:shared-db' + - 'cinder-mysql-router:shared-db' + - - 'cinder-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'cinder:identity-service' + - 'keystone:identity-service' + + - - 'cinder-ceph:storage-backend' + - 'cinder:storage-backend' + + - - 'cinder-ceph:ceph' + - 'ceph-proxy:client' + + - - 'glance:image-service' + - 'nova-compute:image-service' + + - - 'glance:identity-service' + - 'keystone:identity-service' + + - - 'glance:shared-db' + - 'glance-mysql-router:shared-db' + - - 'glance-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'nova-compute:ceph-access' + - 'cinder-ceph:ceph-access' + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' diff --git a/tests/tests.yaml b/tests/tests.yaml index ad74db7..ee84d3e 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -19,9 +19,13 @@ dev_bundles: - jammy-yoga - erasure-coded: jammy-yoga-ec - jammy-zed + - lunar-antelope - erasure-coded: jammy-zed-ec + - erasure-coded: lunar-antelope-ec - kinetic-zed + - jammy-antelope - erasure-coded: kinetic-zed-ec + - erasure-coded: jammy-antelope-ec smoke_bundles: - jammy-yoga @@ -49,4 +53,6 @@ target_deploy_status: tests_options: force_deploy: - kinetic-zed + - jammy-antelope - kinetic-zed-ec + - jammy-antelope-ec diff --git a/tox.ini b/tox.ini index bddbd1f..abaa3ae 100644 --- a/tox.ini +++ b/tox.ini @@ -26,6 +26,7 @@ requires = pip < 20.3 virtualenv < 20.0 setuptools < 50.0.0 + tox < 4.0.0 # NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci minversion = 3.18.0 @@ -35,7 +36,7 @@ setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 CHARM_DIR={envdir} install_command = - {toxinidir}/pip.sh install {opts} {packages} + pip install {opts} {packages} commands = stestr run --slowest {posargs} allowlist_externals = charmcraft