diff --git a/.gitignore b/.gitignore index 8f6cf84..658dcda 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ tags *.pyc func-results.json __pycache__ +*.charm diff --git a/.gitreview b/.gitreview index efa14f2..9056129 100644 --- a/.gitreview +++ b/.gitreview @@ -3,4 +3,4 @@ host=review.opendev.org port=29418 project=openstack/charm-swift-proxy.git -defaultbranch=stable/21.10 +defaultbranch=stable/wallaby diff --git a/.zuul.yaml b/.zuul.yaml index b3037e9..8cd637f 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,5 +1,4 @@ - project: templates: - - python35-charm-jobs - - openstack-python3-ussuri-jobs + - openstack-python3-wallaby-jobs - openstack-cover-jobs diff --git a/build-requirements.txt b/build-requirements.txt new file mode 100644 index 0000000..b6d2452 --- /dev/null +++ b/build-requirements.txt @@ -0,0 +1,7 @@ +# 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. diff --git a/charm-helpers-hooks.yaml b/charm-helpers-hooks.yaml index e0a82e4..f45214a 100644 --- a/charm-helpers-hooks.yaml +++ b/charm-helpers-hooks.yaml @@ -1,4 +1,4 @@ -repo: https://github.com/juju/charm-helpers@stable/21.10 +repo: https://github.com/juju/charm-helpers@stable/wallaby destination: charmhelpers include: - core diff --git a/charmcraft.yaml b/charmcraft.yaml new file mode 100644 index 0000000..db908a4 --- /dev/null +++ b/charmcraft.yaml @@ -0,0 +1,34 @@ +type: charm + +parts: + charm: + plugin: dump + source: . + prime: + - actions/* + - charmhelpers/* + - files/* + - hooks/* + - lib/* + - swift_manager/* + - templates/* + - actions.yaml + - config.yaml + - copyright + - hardening.yaml + - icon.svg + - LICENSE + - Makefile + - metadata.yaml + - README.md + +bases: + - build-on: + - name: ubuntu + channel: "20.04" + architectures: + - amd64 + run-on: + - name: ubuntu + channel: "20.04" + architectures: [amd64, s390x, ppc64el, arm64] diff --git a/metadata.yaml b/metadata.yaml index e75b34b..f56c34e 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -18,12 +18,7 @@ tags: - openstack - cache-proxy series: -- xenial -- bionic - focal -- groovy -- hirsute -- impish extra-bindings: public: admin: diff --git a/osci.yaml b/osci.yaml index f5caba5..fd64b48 100644 --- a/osci.yaml +++ b/osci.yaml @@ -1,102 +1,28 @@ - project: templates: - - charm-unit-jobs + - charm-unit-jobs-py38 check: jobs: - - test-s3api-impish-xena: - voting: false - - test-s3api-hirsute-wallaby - - test-s3api-focal-xena: - voting: false - test-s3api-focal-wallaby - test-s3api-focal-victoria - - test-s3api-focal-ussuri - - test-s3api-bionic-ussuri - - test-s3api-bionic-train - - test-s3api-bionic-stein - - test-s3api-bionic-queens - - xenial-mitaka_swift-proxy - - bionic-train-gr_swift-proxy + vars: + needs_charm_build: true + charm_build_name: swift-proxy + build_type: charmcraft -- job: - name: xenial-mitaka_swift-proxy - parent: xenial-mitaka - dependencies: &smoke-jobs - - test-s3api-focal-ussuri -- job: - name: test-s3api-bionic-queens - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: test-s3api:bionic-queens -- job: - name: test-s3api-bionic-rocky - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: test-s3api:bionic-rocky -- job: - name: test-s3api-bionic-stein - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: test-s3api:bionic-stein -- job: - name: test-s3api-bionic-train - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: test-s3api:bionic-train -- job: - name: bionic-train-gr_swift-proxy - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: swift_gr_region1:bionic-train-gr-r1 swift_gr_region2:bionic-train-gr-r2 -- job: - name: test-s3api-bionic-ussuri - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: test-s3api:bionic-ussuri -- job: - name: test-s3api-focal-ussuri - parent: func-target - dependencies: - - osci-lint - - tox-py35 - - tox-py36 - - tox-py37 - - tox-py38 - vars: - tox_extra_args: test-s3api:focal-ussuri - job: name: test-s3api-focal-victoria parent: func-target - dependencies: *smoke-jobs + dependencies: + - charm-build + - osci-lint + - tox-py38 vars: tox_extra_args: test-s3api:focal-victoria - job: name: test-s3api-focal-wallaby parent: func-target - dependencies: *smoke-jobs + dependencies: + - test-s3api-focal-victoria vars: tox_extra_args: test-s3api:focal-wallaby -- job: - name: test-s3api-focal-xena - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: test-s3api:focal-xena -- job: - name: test-s3api-hirsute-wallaby - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: test-s3api:hirsute-wallaby -- job: - name: test-s3api-impish-xena - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: test-s3api:impish-xena diff --git a/rename.sh b/rename.sh new file mode 100755 index 0000000..d0c35c9 --- /dev/null +++ b/rename.sh @@ -0,0 +1,13 @@ +#!/bin/bash +charm=$(grep "charm_build_name" osci.yaml | awk '{print $2}') +echo "renaming ${charm}_*.charm to ${charm}.charm" +echo -n "pwd: " +pwd +ls -al +echo "Removing bad downloaded charm maybe?" +if [[ -e "${charm}.charm" ]]; +then + rm "${charm}.charm" +fi +echo "Renaming charm here." +mv ${charm}_*.charm ${charm}.charm diff --git a/test-requirements.txt b/test-requirements.txt index 0a7e94a..42df531 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7,6 +7,7 @@ # requirements. They are intertwined. Also, Zaza itself should specify # all of its own requirements and if it doesn't, fix it there. # +pyparsing<3.0.0 # cffi needs pyparsing < 3.0.0. cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35. setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85 @@ -37,11 +38,12 @@ oslo.utils<=3.41.0;python_version<'3.6' 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@stable/21.10#egg=zaza -git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/21.10#egg=zaza.openstack +git+https://github.com/openstack-charmers/zaza.git@stable/wallaby#egg=zaza +git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/wallaby#egg=zaza.openstack # Needed for charm-glance: -git+https://opendev.org/openstack/tempest.git#egg=tempest;python_version>='3.6' +git+https://opendev.org/openstack/tempest.git#egg=tempest;python_version>='3.8' +tempest<31.0.0;python_version<'3.8' and python_version>='3.6' tempest<24.0.0;python_version<'3.6' croniter # needed for charm-rabbitmq-server unit tests diff --git a/tests/bundles/bionic-queens.yaml b/tests/bundles/bionic-queens.yaml deleted file mode 100644 index 4149d0e..0000000 --- a/tests/bundles/bionic-queens.yaml +++ /dev/null @@ -1,44 +0,0 @@ -series: bionic -applications: - swift-proxy: - charm: swift-proxy - series: bionic - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/bundles/bionic-rocky.yaml b/tests/bundles/bionic-rocky.yaml deleted file mode 100644 index f9e6613..0000000 --- a/tests/bundles/bionic-rocky.yaml +++ /dev/null @@ -1,51 +0,0 @@ -series: bionic -applications: - swift-proxy: - charm: swift-proxy - series: bionic - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - openstack-origin: cloud:bionic-rocky - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - source: cloud:bionic-rocky - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: cloud:bionic-rocky - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: cloud:bionic-rocky - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - openstack-origin: cloud:bionic-rocky - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/bundles/bionic-stein.yaml b/tests/bundles/bionic-stein.yaml deleted file mode 100644 index 02dc4fe..0000000 --- a/tests/bundles/bionic-stein.yaml +++ /dev/null @@ -1,51 +0,0 @@ -series: bionic -applications: - swift-proxy: - charm: swift-proxy - series: bionic - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - openstack-origin: cloud:bionic-stein - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - source: cloud:bionic-stein - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: cloud:bionic-stein - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: cloud:bionic-stein - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - openstack-origin: cloud:bionic-stein - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/bundles/bionic-train-gr-r1.yaml b/tests/bundles/bionic-train-gr-r1.yaml deleted file mode 100644 index b06cc8b..0000000 --- a/tests/bundles/bionic-train-gr-r1.yaml +++ /dev/null @@ -1,76 +0,0 @@ -series: bionic -local_overlay_enabled: false -applications: - swift-proxy-region1: - charm: ../../. - num_units: 1 - options: - region: RegionOne - zone-assignment: manual - replicas: 2 - enable-multi-region: true - swift-hash: "global-cluster" - read-affinity: "r1=100, r2=200" - write-affinity: "r1, r2" - write-affinity-node-count: '1' - openstack-origin: cloud:bionic-train - swift-storage-region1-zone1: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - options: - storage-region: 1 - zone: 1 - block-device: /etc/swift/storage.img|2G - openstack-origin: cloud:bionic-train - swift-storage-region1-zone2: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - options: - storage-region: 1 - zone: 2 - block-device: /etc/swift/storage.img|2G - openstack-origin: cloud:bionic-train - swift-storage-region1-zone3: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - options: - storage-region: 1 - zone: 3 - block-device: /etc/swift/storage.img|2G - openstack-origin: cloud:bionic-train - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - source: cloud:bionic-train - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: cloud:bionic-train - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: cloud:bionic-train -relations: - - - swift-proxy-region1:swift-storage - - swift-storage-region1-zone1:swift-storage - - - swift-proxy-region1:swift-storage - - swift-storage-region1-zone2:swift-storage - - - swift-proxy-region1:swift-storage - - swift-storage-region1-zone3:swift-storage - - - keystone:shared-db - - percona-cluster:shared-db - - - glance:shared-db - - percona-cluster:shared-db - - - glance:identity-service - - keystone:identity-service - - - swift-proxy-region1:identity-service - - keystone:identity-service - - - glance:object-store - - swift-proxy-region1:object-store diff --git a/tests/bundles/bionic-train-gr-r2.yaml b/tests/bundles/bionic-train-gr-r2.yaml deleted file mode 100644 index 3623d3b..0000000 --- a/tests/bundles/bionic-train-gr-r2.yaml +++ /dev/null @@ -1,47 +0,0 @@ -series: bionic -local_overlay_enabled: false -applications: - swift-proxy-region2: - charm: ../../. - num_units: 1 - options: - region: RegionTwo - zone-assignment: manual - replicas: 2 - enable-multi-region: true - swift-hash: "global-cluster" - read-affinity: "r1=100, r2=200" - write-affinity: "r1, r2" - write-affinity-node-count: '1' - openstack-origin: cloud:bionic-train - swift-storage-region2-zone1: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - options: - storage-region: 2 - zone: 1 - block-device: /etc/swift/storage.img|2G - openstack-origin: cloud:bionic-train - swift-storage-region2-zone2: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - options: - storage-region: 2 - zone: 2 - block-device: /etc/swift/storage.img|2G - openstack-origin: cloud:bionic-train - swift-storage-region2-zone3: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - options: - storage-region: 2 - zone: 3 - block-device: /etc/swift/storage.img|2G - openstack-origin: cloud:bionic-train -relations: - - - swift-proxy-region2:swift-storage - - swift-storage-region2-zone1:swift-storage - - - swift-proxy-region2:swift-storage - - swift-storage-region2-zone2:swift-storage - - - swift-proxy-region2:swift-storage - - swift-storage-region2-zone3:swift-storage diff --git a/tests/bundles/bionic-train.yaml b/tests/bundles/bionic-train.yaml deleted file mode 100644 index 05f0ca1..0000000 --- a/tests/bundles/bionic-train.yaml +++ /dev/null @@ -1,51 +0,0 @@ -series: bionic -applications: - swift-proxy: - charm: swift-proxy - series: bionic - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - openstack-origin: cloud:bionic-train - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - source: cloud:bionic-train - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: cloud:bionic-train - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: cloud:bionic-train - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - openstack-origin: cloud:bionic-train - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/bundles/bionic-ussuri.yaml b/tests/bundles/bionic-ussuri.yaml deleted file mode 100644 index 90f08e1..0000000 --- a/tests/bundles/bionic-ussuri.yaml +++ /dev/null @@ -1,51 +0,0 @@ -series: bionic -applications: - swift-proxy: - charm: swift-proxy - series: bionic - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - openstack-origin: cloud:bionic-ussuri - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - source: cloud:bionic-ussuri - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: cloud:bionic-ussuri - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: cloud:bionic-ussuri - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - openstack-origin: cloud:bionic-ussuri - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/bundles/focal-ussuri.yaml b/tests/bundles/focal-ussuri.yaml deleted file mode 100644 index 72c3f6a..0000000 --- a/tests/bundles/focal-ussuri.yaml +++ /dev/null @@ -1,99 +0,0 @@ -variables: - openstack-origin: &openstack-origin distro - -series: focal - -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': - -applications: - - keystone-mysql-router: - charm: cs:~openstack-charmers/mysql-router - glance-mysql-router: - charm: cs:~openstack-charmers/mysql-router - - mysql-innodb-cluster: - charm: cs:~openstack-charmers/mysql-innodb-cluster - num_units: 3 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '3' - - swift-proxy: - charm: swift-proxy - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - openstack-origin: *openstack-origin - to: - - '4' - - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '5' - - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - zone: 1 - openstack-origin: *openstack-origin - to: - - '6' - -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' - - - - 'glance:identity-service' - - 'keystone:identity-service' - - - - 'swift-proxy:identity-service' - - 'keystone:identity-service' - - - - 'swift-storage:swift-storage' - - 'swift-proxy:swift-storage' - - - - 'glance:object-store' - - 'swift-proxy:object-store' diff --git a/tests/bundles/focal-victoria.yaml b/tests/bundles/focal-victoria.yaml index 73f9773..e6e783c 100644 --- a/tests/bundles/focal-victoria.yaml +++ b/tests/bundles/focal-victoria.yaml @@ -1,3 +1,5 @@ +local_overlay_enabled: False + variables: openstack-origin: &openstack-origin cloud:focal-victoria @@ -20,12 +22,14 @@ machines: applications: keystone-mysql-router: - charm: cs:~openstack-charmers/mysql-router + charm: ch:mysql-router + channel: 8.0/edge glance-mysql-router: - charm: cs:~openstack-charmers/mysql-router + charm: ch:mysql-router + channel: 8.0/edge mysql-innodb-cluster: - charm: cs:~openstack-charmers/mysql-innodb-cluster + charm: ch:mysql-innodb-cluster num_units: 3 options: source: *openstack-origin @@ -33,18 +37,20 @@ applications: - '0' - '1' - '2' + channel: 8.0/edge keystone: expose: True - charm: cs:~openstack-charmers/keystone + charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin to: - '3' + channel: wallaby/edge swift-proxy: - charm: swift-proxy + charm: ../../swift-proxy.charm num_units: 1 options: zone-assignment: manual @@ -56,15 +62,16 @@ applications: glance: expose: True - charm: cs:~openstack-charmers/glance + charm: ch:glance num_units: 1 options: openstack-origin: *openstack-origin to: - '5' + channel: wallaby/edge swift-storage: - charm: cs:~openstack-charmers/swift-storage + charm: ch:swift-storage num_units: 1 storage: block-devices: 'cinder,10G' @@ -73,6 +80,7 @@ applications: openstack-origin: *openstack-origin to: - '6' + channel: wallaby/edge relations: diff --git a/tests/bundles/focal-wallaby.yaml b/tests/bundles/focal-wallaby.yaml index 3bac29c..d20b012 100644 --- a/tests/bundles/focal-wallaby.yaml +++ b/tests/bundles/focal-wallaby.yaml @@ -1,3 +1,5 @@ +local_overlay_enabled: False + variables: openstack-origin: &openstack-origin cloud:focal-wallaby @@ -20,12 +22,14 @@ machines: applications: keystone-mysql-router: - charm: cs:~openstack-charmers/mysql-router + charm: ch:mysql-router + channel: 8.0/edge glance-mysql-router: - charm: cs:~openstack-charmers/mysql-router + charm: ch:mysql-router + channel: 8.0/edge mysql-innodb-cluster: - charm: cs:~openstack-charmers/mysql-innodb-cluster + charm: ch:mysql-innodb-cluster num_units: 3 options: source: *openstack-origin @@ -33,18 +37,20 @@ applications: - '0' - '1' - '2' + channel: 8.0/edge keystone: expose: True - charm: cs:~openstack-charmers/keystone + charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin to: - '3' + channel: wallaby/edge swift-proxy: - charm: swift-proxy + charm: ../../swift-proxy.charm num_units: 1 options: zone-assignment: manual @@ -56,15 +62,16 @@ applications: glance: expose: True - charm: cs:~openstack-charmers/glance + charm: ch:glance num_units: 1 options: openstack-origin: *openstack-origin to: - '5' + channel: wallaby/edge swift-storage: - charm: cs:~openstack-charmers/swift-storage + charm: ch:swift-storage num_units: 1 storage: block-devices: 'cinder,10G' @@ -73,6 +80,7 @@ applications: openstack-origin: *openstack-origin to: - '6' + channel: wallaby/edge relations: diff --git a/tests/bundles/focal-xena.yaml b/tests/bundles/focal-xena.yaml deleted file mode 100644 index f703cec..0000000 --- a/tests/bundles/focal-xena.yaml +++ /dev/null @@ -1,99 +0,0 @@ -variables: - openstack-origin: &openstack-origin cloud:focal-xena - -series: focal - -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': - -applications: - - keystone-mysql-router: - charm: cs:~openstack-charmers/mysql-router - glance-mysql-router: - charm: cs:~openstack-charmers/mysql-router - - mysql-innodb-cluster: - charm: cs:~openstack-charmers/mysql-innodb-cluster - num_units: 3 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '3' - - swift-proxy: - charm: swift-proxy - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - openstack-origin: *openstack-origin - to: - - '4' - - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '5' - - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - zone: 1 - openstack-origin: *openstack-origin - to: - - '6' - -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' - - - - 'glance:identity-service' - - 'keystone:identity-service' - - - - 'swift-proxy:identity-service' - - 'keystone:identity-service' - - - - 'swift-storage:swift-storage' - - 'swift-proxy:swift-storage' - - - - 'glance:object-store' - - 'swift-proxy:object-store' diff --git a/tests/bundles/hirsute-wallaby.yaml b/tests/bundles/hirsute-wallaby.yaml deleted file mode 100644 index cd1326c..0000000 --- a/tests/bundles/hirsute-wallaby.yaml +++ /dev/null @@ -1,99 +0,0 @@ -variables: - openstack-origin: &openstack-origin distro - -series: hirsute - -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': - -applications: - - keystone-mysql-router: - charm: cs:~openstack-charmers/mysql-router - glance-mysql-router: - charm: cs:~openstack-charmers/mysql-router - - mysql-innodb-cluster: - charm: cs:~openstack-charmers/mysql-innodb-cluster - num_units: 3 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '3' - - swift-proxy: - charm: swift-proxy - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - openstack-origin: *openstack-origin - to: - - '4' - - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '5' - - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - zone: 1 - openstack-origin: *openstack-origin - to: - - '6' - -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' - - - - 'glance:identity-service' - - 'keystone:identity-service' - - - - 'swift-proxy:identity-service' - - 'keystone:identity-service' - - - - 'swift-storage:swift-storage' - - 'swift-proxy:swift-storage' - - - - 'glance:object-store' - - 'swift-proxy:object-store' diff --git a/tests/bundles/impish-xena.yaml b/tests/bundles/impish-xena.yaml deleted file mode 100644 index d32c6e9..0000000 --- a/tests/bundles/impish-xena.yaml +++ /dev/null @@ -1,99 +0,0 @@ -variables: - openstack-origin: &openstack-origin distro - -series: impish - -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': - -applications: - - keystone-mysql-router: - charm: cs:~openstack-charmers/mysql-router - glance-mysql-router: - charm: cs:~openstack-charmers/mysql-router - - mysql-innodb-cluster: - charm: cs:~openstack-charmers/mysql-innodb-cluster - num_units: 3 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '3' - - swift-proxy: - charm: swift-proxy - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - openstack-origin: *openstack-origin - to: - - '4' - - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '5' - - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - zone: 1 - openstack-origin: *openstack-origin - to: - - '6' - -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' - - - - 'glance:identity-service' - - 'keystone:identity-service' - - - - 'swift-proxy:identity-service' - - 'keystone:identity-service' - - - - 'swift-storage:swift-storage' - - 'swift-proxy:swift-storage' - - - - 'glance:object-store' - - 'swift-proxy:object-store' diff --git a/tests/bundles/trusty-mitaka.yaml b/tests/bundles/trusty-mitaka.yaml deleted file mode 100644 index 5eed7e2..0000000 --- a/tests/bundles/trusty-mitaka.yaml +++ /dev/null @@ -1,51 +0,0 @@ -series: trusty -applications: - swift-proxy: - charm: swift-proxy - series: trusty - num_units: 1 - options: - openstack-origin: cloud:trusty-mitaka - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - percona-cluster: - charm: cs:trusty/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - source: cloud:trusty-mitaka - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: cloud:trusty-mitaka - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: cloud:trusty-mitaka - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - openstack-origin: cloud:trusty-mitaka - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/bundles/xenial-mitaka.yaml b/tests/bundles/xenial-mitaka.yaml deleted file mode 100644 index 58997be..0000000 --- a/tests/bundles/xenial-mitaka.yaml +++ /dev/null @@ -1,44 +0,0 @@ -series: xenial -applications: - swift-proxy: - charm: swift-proxy - series: xenial - num_units: 1 - options: - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/bundles/xenial-ocata.yaml b/tests/bundles/xenial-ocata.yaml deleted file mode 100644 index b74eec0..0000000 --- a/tests/bundles/xenial-ocata.yaml +++ /dev/null @@ -1,51 +0,0 @@ -series: xenial -applications: - swift-proxy: - charm: swift-proxy - series: xenial - num_units: 1 - options: - openstack-origin: cloud:xenial-ocata - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - source: cloud:xenial-ocata - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: cloud:xenial-ocata - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: cloud:xenial-ocata - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - openstack-origin: cloud:xenial-ocata - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/bundles/xenial-pike.yaml b/tests/bundles/xenial-pike.yaml deleted file mode 100644 index 68b72b0..0000000 --- a/tests/bundles/xenial-pike.yaml +++ /dev/null @@ -1,51 +0,0 @@ -series: xenial -applications: - swift-proxy: - charm: swift-proxy - series: xenial - num_units: 1 - options: - openstack-origin: cloud:xenial-pike - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - source: cloud:xenial-pike - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: cloud:xenial-pike - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: cloud:xenial-pike - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - openstack-origin: cloud:xenial-pike - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/bundles/xenial-queens.yaml b/tests/bundles/xenial-queens.yaml deleted file mode 100644 index 1351e40..0000000 --- a/tests/bundles/xenial-queens.yaml +++ /dev/null @@ -1,51 +0,0 @@ -series: xenial -applications: - swift-proxy: - charm: swift-proxy - series: xenial - num_units: 1 - options: - openstack-origin: cloud:xenial-queens - zone-assignment: manual - replicas: 1 - swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae - percona-cluster: - charm: cs:~openstack-charmers/percona-cluster - num_units: 1 - options: - dataset-size: 25% - max-connections: 1000 - source: cloud:xenial-queens - keystone: - expose: True - charm: cs:~openstack-charmers/keystone - num_units: 1 - options: - openstack-origin: cloud:xenial-queens - glance: - expose: True - charm: cs:~openstack-charmers/glance - num_units: 1 - options: - openstack-origin: cloud:xenial-queens - swift-storage: - charm: cs:~openstack-charmers/swift-storage - num_units: 1 - storage: - block-devices: 'cinder,10G' - options: - openstack-origin: cloud:xenial-queens - zone: 1 -relations: -- - keystone:shared-db - - percona-cluster:shared-db -- - glance:shared-db - - percona-cluster:shared-db -- - glance:identity-service - - keystone:identity-service -- - swift-proxy:identity-service - - keystone:identity-service -- - swift-storage:swift-storage - - swift-proxy:swift-storage -- - glance:object-store - - swift-proxy:object-store diff --git a/tests/tests.yaml b/tests/tests.yaml index 74c11bc..f888453 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -3,29 +3,11 @@ charm_name: swift-proxy gate_bundles: - test-s3api: focal-wallaby - test-s3api: focal-victoria - - test-s3api: focal-ussuri - - test-s3api: bionic-ussuri - - test-s3api: bionic-train - - test-s3api: bionic-stein - - test-s3api: bionic-rocky - - test-s3api: bionic-queens - - xenial-mitaka - - bionic-train-gr: - - swift_gr_region1: bionic-train-gr-r1 - - swift_gr_region2: bionic-train-gr-r2 -dev_bundles: - - test-s3api: impish-xena - - test-s3api: hirsute-wallaby - - test-s3api: focal-xena - - trusty-mitaka - - test-s3api: xenial-queens - - xenial-ocata - - xenial-pike +dev_bundles: [] smoke_bundles: - # Use no s3api test for smoke - - focal-ussuri + - focal-wallaby configure: - swift_gr_region1: @@ -42,7 +24,6 @@ tests: - zaza.openstack.charm_tests.swift.tests.SwiftGlobalReplicationTests tests_options: - force_deploy: - - impish-xena + force_deploy: [] policyd: - service: swift diff --git a/tox.ini b/tox.ini index ba4fd5b..c41077d 100644 --- a/tox.ini +++ b/tox.ini @@ -37,12 +37,22 @@ setenv = VIRTUAL_ENV={envdir} install_command = {toxinidir}/pip.sh install {opts} {packages} commands = stestr run --slowest {posargs} -allowlist_externals = juju +allowlist_externals = + charmcraft + rename.sh passenv = HOME TERM CS_* OS_* TEST_* deps = -r{toxinidir}/test-requirements.txt -[testenv:py35] -basepython = python3.5 +[testenv:build] +basepython = python3 +deps = -r{toxinidir}/build-requirements.txt +commands = + charmcraft clean + charmcraft -v build + {toxinidir}/rename.sh + +[testenv:py3] +basepython = python3 deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt @@ -50,21 +60,25 @@ deps = -r{toxinidir}/requirements.txt basepython = python3.6 deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt - -[testenv:py37] -basepython = python3.7 -deps = -r{toxinidir}/requirements.txt - -r{toxinidir}/test-requirements.txt +commands = stestr run --slowest {posargs} [testenv:py38] basepython = python3.8 deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt +commands = stestr run --slowest {posargs} -[testenv:py3] -basepython = python3 +[testenv:py39] +basepython = python3.9 deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt +commands = stestr run --slowest {posargs} + +[testenv:py310] +basepython = python3.10 +deps = -r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt +commands = stestr run --slowest {posargs} [testenv:pep8] basepython = python3