From ff317f99fc18ac3d8ef9b97f32621b6956c19f50 Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Fri, 10 Jun 2022 20:14:48 +0000 Subject: [PATCH] Add Kinetic and Zed support * sync charm-helpers to classic charms * change openstack-origin/source default to zed * align testing with zed * add new zed bundles * add zed bundles to tests.yaml * add zed tests to osci.yaml and .zuul.yaml * update build-on and run-on bases * add bindep.txt for py310 * sync tox.ini and requirements.txt for ruamel * use charmcraft_channel 2.0/stable * move interface/layer env vars to charmcraft.yaml * fix gss mirror_list and odr retrofit-uca-pocket * use local charm overlay for HA config instead of manually managing symlinks Depends-On: https://review.opendev.org/c/openstack/charm-octavia/+/858919 Change-Id: I759b60939a4fe2c9599d34e2ff64649426ffbf62 --- .zuul.yaml | 2 +- bindep.txt | 4 + charmcraft.yaml | 75 ++++++++++++------- osci.yaml | 70 ++++++++--------- requirements.txt | 17 +---- src/metadata.yaml | 2 +- src/tests/bundles/jammy-yoga-ha-ovn.yaml | 41 +++++----- src/tests/bundles/jammy-yoga-ha.yaml | 43 +++++------ ...yoga-ha-ovn.yaml => jammy-zed-ha-ovn.yaml} | 52 ++++++------- .../{focal-xena-ha.yaml => jammy-zed-ha.yaml} | 73 +++++++----------- ...na-ha-ovn.yaml => kinetic-zed-ha-ovn.yaml} | 51 +++++++------ ...focal-yoga-ha.yaml => kinetic-zed-ha.yaml} | 53 +++++++------ .../overlays/focal-xena-ha-ovn.yaml.j2 | 1 - .../bundles/overlays/focal-xena-ha.yaml.j2 | 1 - .../overlays/focal-yoga-ha-ovn.yaml.j2 | 1 - .../bundles/overlays/focal-yoga-ha.yaml.j2 | 1 - .../overlays/jammy-yoga-ha-ovn.yaml.j2 | 1 - .../bundles/overlays/jammy-yoga-ha.yaml.j2 | 1 - src/tests/tests.yaml | 24 +++--- test-requirements.txt | 19 +---- tox.ini | 28 +------ 21 files changed, 256 insertions(+), 304 deletions(-) create mode 100644 bindep.txt rename src/tests/bundles/{focal-yoga-ha-ovn.yaml => jammy-zed-ha-ovn.yaml} (88%) rename src/tests/bundles/{focal-xena-ha.yaml => jammy-zed-ha.yaml} (84%) rename src/tests/bundles/{focal-xena-ha-ovn.yaml => kinetic-zed-ha-ovn.yaml} (89%) rename src/tests/bundles/{focal-yoga-ha.yaml => kinetic-zed-ha.yaml} (88%) delete mode 120000 src/tests/bundles/overlays/focal-xena-ha-ovn.yaml.j2 delete mode 120000 src/tests/bundles/overlays/focal-xena-ha.yaml.j2 delete mode 120000 src/tests/bundles/overlays/focal-yoga-ha-ovn.yaml.j2 delete mode 120000 src/tests/bundles/overlays/focal-yoga-ha.yaml.j2 delete mode 120000 src/tests/bundles/overlays/jammy-yoga-ha-ovn.yaml.j2 delete mode 120000 src/tests/bundles/overlays/jammy-yoga-ha.yaml.j2 diff --git a/.zuul.yaml b/.zuul.yaml index 7ffc71cb..23bf5f62 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,4 +1,4 @@ - project: templates: - - openstack-python3-charm-yoga-jobs + - openstack-python3-charm-zed-jobs - openstack-cover-jobs diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 00000000..17575d9f --- /dev/null +++ b/bindep.txt @@ -0,0 +1,4 @@ +libffi-dev [platform:dpkg] +libpq-dev [platform:dpkg] +libxml2-dev [platform:dpkg] +libxslt1-dev [platform:dpkg] diff --git a/charmcraft.yaml b/charmcraft.yaml index 25ad5793..b1efa0e1 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -14,6 +14,8 @@ parts: - cargo build-environment: - MAKEFLAGS: -j$(nproc) + - CHARM_INTERFACES_DIR: /root/project/interfaces/ + - CHARM_LAYERS_DIR: /root/project/layers/ override-build: | apt-get install ca-certificates -y tox -e build-reactive @@ -26,31 +28,52 @@ parts: # hooks directory. cp -r $CRAFT_STAGE/* . # Charmcraft looks for this specific entry point. - mkdir src - ln -sf ../hooks/start src/charm.py + mkdir -p src + touch src/charm.py + chmod +x src/charm.py bases: - - name: ubuntu - channel: "20.04" - architectures: [amd64] - - name: ubuntu - channel: "20.04" - architectures: [arm64] - - name: ubuntu - channel: "20.04" - architectures: [ppc64el] - - name: ubuntu - channel: "20.04" - architectures: [s390x] - - name: ubuntu - channel: "22.04" - architectures: [amd64] - - name: ubuntu - channel: "22.04" - architectures: [arm64] - - name: ubuntu - channel: "22.04" - architectures: [ppc64el] - - name: ubuntu - channel: "22.04" - architectures: [s390x] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [amd64] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [amd64] + - name: ubuntu + channel: "22.10" + architectures: [amd64] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [arm64] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [arm64] + - name: ubuntu + channel: "22.10" + architectures: [arm64] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [ppc64el] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [ppc64el] + - name: ubuntu + channel: "22.10" + architectures: [ppc64el] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [s390x] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [s390x] + - name: ubuntu + channel: "22.10" + architectures: [s390x] diff --git a/osci.yaml b/osci.yaml index 70970996..07578e8a 100644 --- a/osci.yaml +++ b/osci.yaml @@ -1,18 +1,17 @@ - project: templates: - - charm-unit-jobs-py38 - charm-unit-jobs-py310 check: jobs: - - focal-xena-ha - - focal-xena-ha-ovn - - focal-yoga-ha: + - jammy-yoga-ha + - jammy-yoga-ha-ovn + - jammy-zed-ha: voting: false - - focal-yoga-ha-ovn: + - jammy-zed-ha-ovn: voting: false - - jammy-yoga-ha: + - kinetic-zed-ha: voting: false - - jammy-yoga-ha-ovn: + - kinetic-zed: voting: false vars: needs_charm_build: true @@ -21,46 +20,47 @@ charmcraft_channel: 2.0/stable - job: - name: focal-xena-ha + name: jammy-yoga-ha parent: func-target dependencies: - osci-lint - - tox-py38 + - name: tox-py310 + soft: true - charm-build vars: - tox_extra_args: focal-xena-ha -- job: - name: focal-xena-ha-ovn - parent: func-target - dependencies: - - focal-xena-ha - vars: - tox_extra_args: focal-xena-ha-ovn -- job: - name: focal-yoga-ha - parent: func-target - dependencies: - - focal-xena-ha - vars: - tox_extra_args: focal-yoga-ha -- job: - name: focal-yoga-ha-ovn - parent: func-target - dependencies: - - focal-xena-ha - vars: - tox_extra_args: focal-yoga-ha-ovn + tox_extra_args: jammy-yoga-ha - job: name: jammy-yoga-ha-ovn parent: func-target dependencies: - - focal-xena-ha + - jammy-yoga-ha vars: tox_extra_args: jammy-yoga-ha-ovn - job: - name: jammy-yoga-ha + name: jammy-zed-ha parent: func-target dependencies: - - focal-xena-ha + - jammy-yoga-ha vars: - tox_extra_args: jammy-yoga-ha + tox_extra_args: jammy-zed-ha +- job: + name: jammy-zed-ha-ovn + parent: func-target + dependencies: + - jammy-yoga-ha + vars: + tox_extra_args: jammy-zed-ha-ovn +- job: + name: kinetic-zed-ha + parent: func-target + dependencies: + - jammy-yoga-ha + vars: + tox_extra_args: kinetic-zed-ha +- job: + name: kinetic-zed-ha-ovn + parent: func-target + dependencies: + - jammy-yoga-ha + vars: + tox_extra_args: kinetic-zed-ha-ovn diff --git a/requirements.txt b/requirements.txt index bfad2562..218e4a89 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,22 +3,7 @@ # 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 -# Build requirements -cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35. -cryptography<3.4 -git+https://github.com/juju/charm-tools#egg=charm-tools +git+https://github.com/juju/charm-tools.git simplejson - -# Newer versions use keywords that didn't exist in python 3.5 yet (e.g. -# "ModuleNotFoundError") -# 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 -importlib-metadata<3.0.0; python_version < '3.6' -importlib-resources<3.0.0; python_version < '3.6' diff --git a/src/metadata.yaml b/src/metadata.yaml index abeb6cba..002ca987 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -18,8 +18,8 @@ description: | tags: - openstack series: -- focal - jammy +- kinetic subordinate: false provides: nrpe-external-master: diff --git a/src/tests/bundles/jammy-yoga-ha-ovn.yaml b/src/tests/bundles/jammy-yoga-ha-ovn.yaml index 43dc5b88..e4b4bd6e 100644 --- a/src/tests/bundles/jammy-yoga-ha-ovn.yaml +++ b/src/tests/bundles/jammy-yoga-ha-ovn.yaml @@ -1,7 +1,7 @@ variables: openstack-origin: &openstack-origin distro -local_overlay_enabled: False +local_overlay_enabled: True series: &series jammy relations: @@ -105,39 +105,39 @@ applications: num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge keystone: charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge octavia-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge keystone-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge nova-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge glance-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge neutron-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge placement-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge vault-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge mysql-innodb-cluster: constraints: mem=3072M charm: ch:mysql-innodb-cluster num_units: 3 - channel: 8.0/edge + channel: latest/edge neutron-api: constraints: cores=4 charm: ch:neutron-api @@ -148,7 +148,7 @@ applications: flat-network-providers: physnet1 enable-ml2-port-security: True neutron-security-groups: True - channel: yoga/edge + channel: latest/edge nova-cloud-controller: constraints: mem=7168M charm: ch:nova-cloud-controller @@ -157,7 +157,7 @@ applications: openstack-origin: *openstack-origin debug: True network-manager: Neutron - channel: yoga/edge + channel: latest/edge nova-compute: constraints: mem=7168M charm: ch:nova-compute @@ -165,11 +165,11 @@ applications: options: openstack-origin: *openstack-origin debug: True - channel: yoga/edge + channel: latest/edge hacluster-octavia: series: *series charm: ch:hacluster - channel: 2.4/edge + channel: latest/edge ovn-chassis-octavia: series: *series charm: ch:ovn-chassis @@ -177,7 +177,7 @@ applications: octavia: constraints: cores=8 series: *series - charm: ../../../octavia_ubuntu-22.04-amd64.charm + charm: ../../../octavia_ubuntu-22.04-amd64_ubuntu-22.10-amd64.charm num_units: 3 options: openstack-origin: *openstack-origin @@ -186,7 +186,7 @@ applications: rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 - channel: 3.9/edge + channel: latest/edge glance-simplestreams-sync: charm: ch:glance-simplestreams-sync num_units: 1 @@ -204,6 +204,7 @@ applications: charm: ch:octavia-diskimage-retrofit options: amp-image-tag: 'octavia-amphora' + retrofit-uca-pocket: yoga retrofit-series: *series channel: latest/edge placement: @@ -213,10 +214,10 @@ applications: options: openstack-origin: *openstack-origin debug: true - channel: yoga/edge + channel: latest/edge neutron-api-plugin-ovn: charm: ch:neutron-api-plugin-ovn - channel: yoga/edge + channel: latest/edge ovn-central: constraints: mem=3072M charm: ch:ovn-central @@ -230,4 +231,4 @@ applications: vault: charm: ch:vault num_units: 1 - channel: 1.7/edge + channel: latest/edge diff --git a/src/tests/bundles/jammy-yoga-ha.yaml b/src/tests/bundles/jammy-yoga-ha.yaml index 4f21b2eb..57c522ce 100644 --- a/src/tests/bundles/jammy-yoga-ha.yaml +++ b/src/tests/bundles/jammy-yoga-ha.yaml @@ -1,7 +1,7 @@ variables: openstack-origin: &openstack-origin distro -local_overlay_enabled: False +local_overlay_enabled: True series: &series jammy relations: @@ -97,39 +97,39 @@ applications: num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge keystone: charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge octavia-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge keystone-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge nova-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge glance-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge neutron-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge placement-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge vault-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge mysql-innodb-cluster: constraints: mem=3072M charm: ch:mysql-innodb-cluster num_units: 3 - channel: 8.0/edge + channel: latest/edge neutron-api: charm: ch:neutron-api num_units: 1 @@ -141,7 +141,7 @@ applications: neutron-security-groups: True enable-dvr: True manage-neutron-plugin-legacy-mode: True - channel: yoga/edge + channel: latest/edge neutron-openvswitch: series: *series charm: ch:neutron-openvswitch @@ -153,7 +153,7 @@ applications: prevent-arp-spoofing: False firewall-driver: openvswitch bridge-mappings: physnet1:br-ex - channel: yoga/edge + channel: latest/edge neutron-openvswitch-octavia: series: *series charm: ch:neutron-openvswitch @@ -162,7 +162,7 @@ applications: debug: True prevent-arp-spoofing: False firewall-driver: openvswitch - channel: yoga/edge + channel: latest/edge nova-cloud-controller: constraints: mem=7168M charm: ch:nova-cloud-controller @@ -171,7 +171,7 @@ applications: openstack-origin: *openstack-origin debug: True network-manager: Neutron - channel: yoga/edge + channel: latest/edge nova-compute: constraints: mem=7168M charm: ch:nova-compute @@ -179,16 +179,16 @@ applications: options: openstack-origin: *openstack-origin debug: True - channel: yoga/edge + channel: latest/edge hacluster-octavia: series: *series charm: ch:hacluster num_units: 0 - channel: 2.4/edge + channel: latest/edge octavia: constraints: cores=8 series: *series - charm: ../../../octavia_ubuntu-22.04-amd64.charm + charm: ../../../octavia_ubuntu-22.04-amd64_ubuntu-22.10-amd64.charm num_units: 3 options: openstack-origin: *openstack-origin @@ -198,7 +198,7 @@ applications: rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 - channel: 3.9/edge + channel: latest/edge glance-simplestreams-sync: charm: ch:glance-simplestreams-sync num_units: 1 @@ -216,6 +216,7 @@ applications: charm: ch:octavia-diskimage-retrofit options: amp-image-tag: 'octavia-amphora' + retrofit-uca-pocket: yoga retrofit-series: *series channel: latest/edge placement: @@ -225,8 +226,8 @@ applications: options: openstack-origin: *openstack-origin debug: true - channel: yoga/edge + channel: latest/edge vault: charm: ch:vault num_units: 1 - channel: 1.7/edge + channel: latest/edge diff --git a/src/tests/bundles/focal-yoga-ha-ovn.yaml b/src/tests/bundles/jammy-zed-ha-ovn.yaml similarity index 88% rename from src/tests/bundles/focal-yoga-ha-ovn.yaml rename to src/tests/bundles/jammy-zed-ha-ovn.yaml index 65f0bbe0..2f776971 100644 --- a/src/tests/bundles/focal-yoga-ha-ovn.yaml +++ b/src/tests/bundles/jammy-zed-ha-ovn.yaml @@ -1,9 +1,9 @@ variables: - openstack-origin: &openstack-origin cloud:focal-yoga + openstack-origin: &openstack-origin cloud:jammy-zed -local_overlay_enabled: False +local_overlay_enabled: True -series: &series focal +series: &series jammy relations: - - glance:image-service - nova-cloud-controller:image-service @@ -105,39 +105,39 @@ applications: num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge keystone: charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge octavia-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge keystone-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge nova-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge glance-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge neutron-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge placement-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge vault-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge mysql-innodb-cluster: constraints: mem=3072M charm: ch:mysql-innodb-cluster num_units: 3 - channel: 8.0.19/edge + channel: latest/edge neutron-api: constraints: cores=4 charm: ch:neutron-api @@ -148,7 +148,7 @@ applications: flat-network-providers: physnet1 enable-ml2-port-security: True neutron-security-groups: True - channel: yoga/edge + channel: latest/edge nova-cloud-controller: constraints: mem=7168M charm: ch:nova-cloud-controller @@ -157,7 +157,7 @@ applications: openstack-origin: *openstack-origin debug: True network-manager: Neutron - channel: yoga/edge + channel: latest/edge nova-compute: constraints: mem=7168M charm: ch:nova-compute @@ -165,11 +165,11 @@ applications: options: openstack-origin: *openstack-origin debug: True - channel: yoga/edge + channel: latest/edge hacluster-octavia: series: *series charm: ch:hacluster - channel: 2.0.3/edge + channel: latest/edge ovn-chassis-octavia: series: *series charm: ch:ovn-chassis @@ -177,7 +177,7 @@ applications: octavia: constraints: cores=8 series: *series - charm: ../../../octavia_ubuntu-20.04-amd64.charm + charm: ../../../octavia_ubuntu-22.04-amd64_ubuntu-22.10-amd64.charm num_units: 3 options: openstack-origin: *openstack-origin @@ -186,7 +186,7 @@ applications: rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 - channel: 3.8/edge + channel: latest/edge glance-simplestreams-sync: charm: ch:glance-simplestreams-sync num_units: 1 @@ -196,17 +196,17 @@ applications: name_prefix: 'ubuntu:released', path: 'streams/v1/index.sjson', max: 1, item_filters: [ - 'release~(focal)', + 'release~(jammy)', 'arch~(x86_64|amd64)', 'ftype~(disk1.img|disk.img)']}]" - channel: yoga/edge + channel: latest/edge octavia-diskimage-retrofit: charm: ch:octavia-diskimage-retrofit options: amp-image-tag: 'octavia-amphora' retrofit-series: *series - retrofit-uca-pocket: yoga - channel: yoga/edge + retrofit-uca-pocket: zed + channel: latest/edge placement: charm: ch:placement num_units: 1 @@ -214,10 +214,10 @@ applications: options: openstack-origin: *openstack-origin debug: true - channel: yoga/edge + channel: latest/edge neutron-api-plugin-ovn: charm: ch:neutron-api-plugin-ovn - channel: yoga/edge + channel: latest/edge ovn-central: constraints: mem=3072M charm: ch:ovn-central @@ -231,4 +231,4 @@ applications: vault: charm: ch:vault num_units: 1 - channel: 1.7/edge + channel: latest/edge diff --git a/src/tests/bundles/focal-xena-ha.yaml b/src/tests/bundles/jammy-zed-ha.yaml similarity index 84% rename from src/tests/bundles/focal-xena-ha.yaml rename to src/tests/bundles/jammy-zed-ha.yaml index 69f7fc93..5aa83d5a 100644 --- a/src/tests/bundles/focal-xena-ha.yaml +++ b/src/tests/bundles/jammy-zed-ha.yaml @@ -1,9 +1,9 @@ variables: - openstack-origin: &openstack-origin cloud:focal-xena + openstack-origin: &openstack-origin cloud:jammy-zed -local_overlay_enabled: False +local_overlay_enabled: True -series: &series focal +series: &series jammy relations: - - glance:image-service - nova-cloud-controller:image-service @@ -93,55 +93,44 @@ relations: - ["vault-mysql-router:db-router", "mysql-innodb-cluster:db-router"] applications: glance: - series: *series charm: ch:glance num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge keystone: - series: *series charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge octavia-mysql-router: - series: *series charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge keystone-mysql-router: - series: *series charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge nova-mysql-router: - series: *series charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge glance-mysql-router: - series: *series charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge neutron-mysql-router: - series: *series charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge placement-mysql-router: - series: *series charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge vault-mysql-router: - series: *series charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge mysql-innodb-cluster: - series: *series constraints: mem=3072M charm: ch:mysql-innodb-cluster num_units: 3 - channel: 8.0.19/edge + channel: latest/edge neutron-api: - series: *series charm: ch:neutron-api num_units: 1 options: @@ -152,7 +141,7 @@ applications: neutron-security-groups: True enable-dvr: True manage-neutron-plugin-legacy-mode: True - channel: yoga/edge + channel: latest/edge neutron-openvswitch: series: *series charm: ch:neutron-openvswitch @@ -164,7 +153,7 @@ applications: prevent-arp-spoofing: False firewall-driver: openvswitch bridge-mappings: physnet1:br-ex - channel: yoga/edge + channel: latest/edge neutron-openvswitch-octavia: series: *series charm: ch:neutron-openvswitch @@ -173,9 +162,8 @@ applications: debug: True prevent-arp-spoofing: False firewall-driver: openvswitch - channel: yoga/edge + channel: latest/edge nova-cloud-controller: - series: *series constraints: mem=7168M charm: ch:nova-cloud-controller num_units: 1 @@ -183,25 +171,23 @@ applications: openstack-origin: *openstack-origin debug: True network-manager: Neutron - channel: yoga/edge + channel: latest/edge nova-compute: - series: *series constraints: mem=7168M charm: ch:nova-compute num_units: 2 options: openstack-origin: *openstack-origin debug: True - channel: yoga/edge + channel: latest/edge hacluster-octavia: - series: *series charm: ch:hacluster num_units: 0 - channel: 2.0.3/edge + channel: latest/edge octavia: constraints: cores=8 series: *series - charm: ../../../octavia_ubuntu-20.04-amd64.charm + charm: ../../../octavia_ubuntu-22.04-amd64_ubuntu-22.10-amd64.charm num_units: 3 options: openstack-origin: *openstack-origin @@ -209,12 +195,10 @@ applications: loadbalancer-topology: 'ACTIVE_STANDBY' vip: 'ADD YOUR VIP HERE' rabbitmq-server: - series: *series charm: ch:rabbitmq-server num_units: 1 - channel: 3.8/edge + channel: latest/edge glance-simplestreams-sync: - series: *series charm: ch:glance-simplestreams-sync num_units: 1 options: @@ -223,29 +207,26 @@ applications: name_prefix: 'ubuntu:released', path: 'streams/v1/index.sjson', max: 1, item_filters: [ - 'release~(focal)', + 'release~(jammy)', 'arch~(x86_64|amd64)', 'ftype~(disk1.img|disk.img)']}]" - channel: yoga/edge + channel: latest/edge octavia-diskimage-retrofit: - series: *series charm: ch:octavia-diskimage-retrofit options: amp-image-tag: 'octavia-amphora' retrofit-series: *series - retrofit-uca-pocket: xena - channel: yoga/edge + retrofit-uca-pocket: zed + channel: latest/edge placement: - series: *series charm: ch:placement num_units: 1 constraints: mem=1G options: openstack-origin: *openstack-origin debug: true - channel: yoga/edge + channel: latest/edge vault: - series: *series charm: ch:vault num_units: 1 - channel: 1.7/edge + channel: latest/edge diff --git a/src/tests/bundles/focal-xena-ha-ovn.yaml b/src/tests/bundles/kinetic-zed-ha-ovn.yaml similarity index 89% rename from src/tests/bundles/focal-xena-ha-ovn.yaml rename to src/tests/bundles/kinetic-zed-ha-ovn.yaml index 87879351..a45afdc1 100644 --- a/src/tests/bundles/focal-xena-ha-ovn.yaml +++ b/src/tests/bundles/kinetic-zed-ha-ovn.yaml @@ -1,9 +1,9 @@ variables: - openstack-origin: &openstack-origin cloud:focal-xena + openstack-origin: &openstack-origin distro -local_overlay_enabled: False +local_overlay_enabled: True -series: &series focal +series: &series kinetic relations: - - glance:image-service - nova-cloud-controller:image-service @@ -105,39 +105,39 @@ applications: num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge keystone: charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge octavia-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge keystone-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge nova-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge glance-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge neutron-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge placement-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge vault-mysql-router: charm: ch:mysql-router - channel: 8.0/edge + channel: latest/edge mysql-innodb-cluster: constraints: mem=3072M charm: ch:mysql-innodb-cluster num_units: 3 - channel: 8.0/edge + channel: latest/edge neutron-api: constraints: cores=4 charm: ch:neutron-api @@ -148,7 +148,7 @@ applications: flat-network-providers: physnet1 enable-ml2-port-security: True neutron-security-groups: True - channel: yoga/edge + channel: latest/edge nova-cloud-controller: constraints: mem=7168M charm: ch:nova-cloud-controller @@ -157,7 +157,7 @@ applications: openstack-origin: *openstack-origin debug: True network-manager: Neutron - channel: yoga/edge + channel: latest/edge nova-compute: constraints: mem=7168M charm: ch:nova-compute @@ -165,11 +165,11 @@ applications: options: openstack-origin: *openstack-origin debug: True - channel: yoga/edge + channel: latest/edge hacluster-octavia: series: *series charm: ch:hacluster - channel: 2.0.3/edge + channel: latest/edge ovn-chassis-octavia: series: *series charm: ch:ovn-chassis @@ -179,7 +179,7 @@ applications: octavia: constraints: cores=8 series: *series - charm: ../../../octavia_ubuntu-20.04-amd64.charm + charm: ../../../octavia_ubuntu-22.04-amd64_ubuntu-22.10-amd64.charm num_units: 3 options: openstack-origin: *openstack-origin @@ -188,7 +188,7 @@ applications: rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 - channel: 3.8/edge + channel: latest/edge glance-simplestreams-sync: charm: ch:glance-simplestreams-sync num_units: 1 @@ -198,17 +198,16 @@ applications: name_prefix: 'ubuntu:released', path: 'streams/v1/index.sjson', max: 1, item_filters: [ - 'release~(focal)', + 'release~(kinetic)', 'arch~(x86_64|amd64)', 'ftype~(disk1.img|disk.img)']}]" - channel: yoga/edge + channel: latest/edge octavia-diskimage-retrofit: charm: ch:octavia-diskimage-retrofit options: amp-image-tag: 'octavia-amphora' retrofit-series: *series - retrofit-uca-pocket: xena - channel: yoga/edge + channel: latest/edge placement: charm: ch:placement num_units: 1 @@ -216,10 +215,10 @@ applications: options: openstack-origin: *openstack-origin debug: true - channel: yoga/edge + channel: latest/edge neutron-api-plugin-ovn: charm: ch:neutron-api-plugin-ovn - channel: yoga/edge + channel: latest/edge ovn-central: constraints: mem=3072M charm: ch:ovn-central @@ -235,4 +234,4 @@ applications: vault: charm: ch:vault num_units: 1 - channel: 1.7/edge + channel: latest/edge diff --git a/src/tests/bundles/focal-yoga-ha.yaml b/src/tests/bundles/kinetic-zed-ha.yaml similarity index 88% rename from src/tests/bundles/focal-yoga-ha.yaml rename to src/tests/bundles/kinetic-zed-ha.yaml index a4a424fd..e8136022 100644 --- a/src/tests/bundles/focal-yoga-ha.yaml +++ b/src/tests/bundles/kinetic-zed-ha.yaml @@ -1,9 +1,9 @@ variables: - openstack-origin: &openstack-origin cloud:focal-yoga + openstack-origin: &openstack-origin distro -local_overlay_enabled: False +local_overlay_enabled: True -series: &series focal +series: &series kinetic relations: - - glance:image-service - nova-cloud-controller:image-service @@ -97,39 +97,39 @@ applications: num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge keystone: charm: ch:keystone num_units: 1 options: openstack-origin: *openstack-origin - channel: yoga/edge + channel: latest/edge octavia-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge keystone-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge nova-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge glance-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge neutron-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge placement-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge vault-mysql-router: charm: ch:mysql-router - channel: 8.0.19/edge + channel: latest/edge mysql-innodb-cluster: constraints: mem=3072M charm: ch:mysql-innodb-cluster num_units: 3 - channel: 8.0.19/edge + channel: latest/edge neutron-api: charm: ch:neutron-api num_units: 1 @@ -141,7 +141,7 @@ applications: neutron-security-groups: True enable-dvr: True manage-neutron-plugin-legacy-mode: True - channel: yoga/edge + channel: latest/edge neutron-openvswitch: series: *series charm: ch:neutron-openvswitch @@ -153,7 +153,7 @@ applications: prevent-arp-spoofing: False firewall-driver: openvswitch bridge-mappings: physnet1:br-ex - channel: yoga/edge + channel: latest/edge neutron-openvswitch-octavia: series: *series charm: ch:neutron-openvswitch @@ -162,7 +162,7 @@ applications: debug: True prevent-arp-spoofing: False firewall-driver: openvswitch - channel: yoga/edge + channel: latest/edge nova-cloud-controller: constraints: mem=7168M charm: ch:nova-cloud-controller @@ -171,7 +171,7 @@ applications: openstack-origin: *openstack-origin debug: True network-manager: Neutron - channel: yoga/edge + channel: latest/edge nova-compute: constraints: mem=7168M charm: ch:nova-compute @@ -179,15 +179,15 @@ applications: options: openstack-origin: *openstack-origin debug: True - channel: yoga/edge + channel: latest/edge hacluster-octavia: charm: ch:hacluster num_units: 0 - channel: 2.0.3/edge + channel: latest/edge octavia: constraints: cores=8 series: *series - charm: ../../../octavia_ubuntu-20.04-amd64.charm + charm: ../../../octavia_ubuntu-22.04-amd64_ubuntu-22.10-amd64.charm num_units: 3 options: openstack-origin: *openstack-origin @@ -197,7 +197,7 @@ applications: rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 - channel: 3.8/edge + channel: latest/edge glance-simplestreams-sync: charm: ch:glance-simplestreams-sync num_units: 1 @@ -207,17 +207,16 @@ applications: name_prefix: 'ubuntu:released', path: 'streams/v1/index.sjson', max: 1, item_filters: [ - 'release~(focal)', + 'release~(kinetic)', 'arch~(x86_64|amd64)', 'ftype~(disk1.img|disk.img)']}]" - channel: yoga/edge + channel: latest/edge octavia-diskimage-retrofit: charm: ch:octavia-diskimage-retrofit options: amp-image-tag: 'octavia-amphora' retrofit-series: *series - retrofit-uca-pocket: yoga - channel: yoga/edge + channel: latest/edge placement: charm: ch:placement num_units: 1 @@ -225,8 +224,8 @@ applications: options: openstack-origin: *openstack-origin debug: true - channel: yoga/edge + channel: latest/edge vault: charm: ch:vault num_units: 1 - channel: 1.7/edge + channel: latest/edge diff --git a/src/tests/bundles/overlays/focal-xena-ha-ovn.yaml.j2 b/src/tests/bundles/overlays/focal-xena-ha-ovn.yaml.j2 deleted file mode 120000 index a5e5915d..00000000 --- a/src/tests/bundles/overlays/focal-xena-ha-ovn.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -local-charm-overlay.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/focal-xena-ha.yaml.j2 b/src/tests/bundles/overlays/focal-xena-ha.yaml.j2 deleted file mode 120000 index a5e5915d..00000000 --- a/src/tests/bundles/overlays/focal-xena-ha.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -local-charm-overlay.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/focal-yoga-ha-ovn.yaml.j2 b/src/tests/bundles/overlays/focal-yoga-ha-ovn.yaml.j2 deleted file mode 120000 index a5e5915d..00000000 --- a/src/tests/bundles/overlays/focal-yoga-ha-ovn.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -local-charm-overlay.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/focal-yoga-ha.yaml.j2 b/src/tests/bundles/overlays/focal-yoga-ha.yaml.j2 deleted file mode 120000 index a5e5915d..00000000 --- a/src/tests/bundles/overlays/focal-yoga-ha.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -local-charm-overlay.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/jammy-yoga-ha-ovn.yaml.j2 b/src/tests/bundles/overlays/jammy-yoga-ha-ovn.yaml.j2 deleted file mode 120000 index a5e5915d..00000000 --- a/src/tests/bundles/overlays/jammy-yoga-ha-ovn.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -local-charm-overlay.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/jammy-yoga-ha.yaml.j2 b/src/tests/bundles/overlays/jammy-yoga-ha.yaml.j2 deleted file mode 120000 index a5e5915d..00000000 --- a/src/tests/bundles/overlays/jammy-yoga-ha.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -local-charm-overlay.yaml.j2 \ No newline at end of file diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index 660ee52f..0c3e4743 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -1,18 +1,20 @@ charm_name: octavia gate_bundles: -- focal-xena-ha-ovn -- focal-xena-ha - -smoke_bundles: -- focal-xena-ha - -dev_bundles: -- focal-yoga-ha-ovn -- focal-yoga-ha - jammy-yoga-ha-ovn - jammy-yoga-ha +smoke_bundles: +- jammy-yoga-ha + +dev_bundles: +- jammy-yoga-ha-ovn +- jammy-yoga-ha +- jammy-zed-ha-ovn +- jammy-zed-ha +- kinetic-zed-ha-ovn +- kinetic-zed-ha + comment: | The `bionic-rocky-lxd` bundle currently fails due to a bug in LXD. @@ -72,5 +74,5 @@ tests_options: policyd: service: octavia force_deploy: - - jammy-yoga-ha-ovn - - jammy-yoga-ha + - kinetic-zed-ha-ovn + - kinetic-zed-ha diff --git a/test-requirements.txt b/test-requirements.txt index a11a7d07..3f84ab4b 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4,7 +4,6 @@ # https://github.com/openstack-charmers/release-tools # pyparsing<3.0.0 # aodhclient is pinned in zaza and needs pyparsing < 3.0.0, but cffi also needs it, so pin here. -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 stestr>=2.2.0 @@ -13,25 +12,10 @@ stestr>=2.2.0 # https://github.com/mtreinish/stestr/issues/145 cliff<3.0.0 -# Dependencies of stestr. Newer versions use keywords that didn't exist in -# python 3.5 yet (e.g. "ModuleNotFoundError") -importlib-metadata<3.0.0; python_version < '3.6' -importlib-resources<3.0.0; python_version < '3.6' - -# Some Zuul nodes sometimes pull newer versions of these dependencies which -# dropped support for python 3.5: -osprofiler<2.7.0;python_version<'3.6' -stevedore<1.31.0;python_version<'3.6' -debtcollector<1.22.0;python_version<'3.6' -oslo.utils<=3.41.0;python_version<'3.6' - requests>=2.18.4 charms.reactive -# Newer mock seems to have some syntax which is newer than python3.5 (e.g. -# f'{something}' -mock>=1.2,<4.0.0; python_version < '3.6' -mock>=1.2; python_version >= '3.6' +mock>=1.2 nose>=1.3.7 coverage>=3.6 @@ -52,3 +36,4 @@ cryptography<3.4 # vault, keystone-saml-mellon lxml # keystone-saml-mellon hvac # vault, barbican-vault psutil # cinder-lvm +pyopenssl<=22.0.0 diff --git a/tox.ini b/tox.ini index 8d80d43f..6df34e5b 100644 --- a/tox.ini +++ b/tox.ini @@ -19,10 +19,8 @@ minversion = 3.18.0 setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 TERM=linux - LAYER_PATH={toxinidir}/layers - INTERFACE_PATH={toxinidir}/interfaces JUJU_REPOSITORY={toxinidir}/build -passenv = http_proxy https_proxy INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY +passenv = no_proxy http_proxy https_proxy JUJU_REPOSITORY install_command = {toxinidir}/pip.sh install {opts} {packages} allowlist_externals = @@ -54,28 +52,8 @@ basepython = python3 deps = -r{toxinidir}/test-requirements.txt commands = stestr run --slowest {posargs} -[testenv:py35] -basepython = python3.5 -deps = -r{toxinidir}/test-requirements.txt -commands = stestr run --slowest {posargs} - -[testenv:py37] -basepython = python3.7 -deps = -r{toxinidir}/test-requirements.txt -commands = stestr run --slowest {posargs} - -[testenv:py36] -basepython = python3.6 -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 +[testenv:py310] +basepython = python3.10 deps = -r{toxinidir}/test-requirements.txt commands = stestr run --slowest {posargs}