From 3679b8811f66e8a7fa2144fca99c921a099c3348 Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Fri, 29 Oct 2021 17:00:41 -0400 Subject: [PATCH] Add yoga bundles and release-tool syncs * charm-helpers sync for classic charms * pin pyparsing for aodhclient * pin cffi for py35 * add non-voting focal-yoga bundle * add non-voting jammy-yoga bundle * add series metadata for jammy * switch xena bundles to voting * run focal-ussuri as smoke tests * remove trusty, xenial, and groovy metadata and tests Change-Id: I6cb91fec3168eb03d6b22ff941023e2a73a1a3e0 --- osci.yaml | 16 +- requirements.txt | 1 + .../focal-yoga-pacemaker-remote-ssl.yaml | 391 ++++++++++++++++++ ...l => jammy-yoga-pacemaker-remote-ssl.yaml} | 2 +- ...> focal-yoga-pacemaker-remote-ssl.yaml.j2} | 0 .../jammy-yoga-pacemaker-remote-ssl.yaml.j2 | 4 + src/tests/tests.yaml | 14 +- test-requirements.txt | 2 + 8 files changed, 419 insertions(+), 11 deletions(-) create mode 100644 src/tests/bundles/focal-yoga-pacemaker-remote-ssl.yaml rename src/tests/bundles/{groovy-victoria-pacemaker-remote-ssl.yaml => jammy-yoga-pacemaker-remote-ssl.yaml} (99%) rename src/tests/bundles/overlays/{groovy-victoria-pacemaker-remote-ssl.yaml.j2 => focal-yoga-pacemaker-remote-ssl.yaml.j2} (100%) create mode 100644 src/tests/bundles/overlays/jammy-yoga-pacemaker-remote-ssl.yaml.j2 diff --git a/osci.yaml b/osci.yaml index 8806a81..edc5d67 100644 --- a/osci.yaml +++ b/osci.yaml @@ -10,12 +10,14 @@ - focal-ussuri-pacemaker-remote-ssl_masakari - focal-victoria-pacemaker-remote-ssl_masakari - focal-wallaby-pacemaker-remote-ssl_masakari - - focal-xena-pacemaker-remote-ssl_masakari: + - focal-xena-pacemaker-remote-ssl_masakari + - focal-yoga-pacemaker-remote-ssl_masakari: voting: false - - groovy-victoria-pacemaker-remote-ssl_masakari - hirsute-wallaby-pacemaker-remote-ssl_masakari - impish-xena-pacemaker-remote-ssl_masakari: voting: false + - jammy-yoga-pacemaker-remote-ssl_masakari: + voting: false vars: needs_charm_build: true charm_build_name: masakari @@ -69,11 +71,11 @@ vars: tox_extra_args: focal-xena-pacemaker-remote-ssl - job: - name: groovy-victoria-pacemaker-remote-ssl_masakari + name: focal-yoga-pacemaker-remote-ssl_masakari parent: func-target dependencies: *smoke-jobs vars: - tox_extra_args: groovy-victoria-pacemaker-remote-ssl + tox_extra_args: focal-yoga-pacemaker-remote-ssl - job: name: hirsute-wallaby-pacemaker-remote-ssl_masakari parent: func-target @@ -86,3 +88,9 @@ dependencies: *smoke-jobs vars: tox_extra_args: impish-xena-pacemaker-remote-ssl +- job: + name: jammy-yoga-pacemaker-remote-ssl_masakari + parent: func-target + dependencies: *smoke-jobs + vars: + tox_extra_args: jammy-yoga-pacemaker-remote-ssl diff --git a/requirements.txt b/requirements.txt index b786b42..a68620f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,6 +9,7 @@ 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. charm-tools==2.8.3 simplejson diff --git a/src/tests/bundles/focal-yoga-pacemaker-remote-ssl.yaml b/src/tests/bundles/focal-yoga-pacemaker-remote-ssl.yaml new file mode 100644 index 0000000..a2de60b --- /dev/null +++ b/src/tests/bundles/focal-yoga-pacemaker-remote-ssl.yaml @@ -0,0 +1,391 @@ +variables: + openstack-origin: &openstack-origin cloud:focal-yoga + +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': + '7': + '8': + constraints: mem=4096M + '9': + constraints: mem=4096M + '10': + constraints: mem=4096M + '11': + '12': + '13': + '14': + '15': + '16': + '17': + '18': + '19': + '20': + '21': + '22': + '23': + +applications: + + keystone-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + cinder-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + neutron-api-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + glance-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + nova-cloud-controller-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + masakari-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + vault-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + placement-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + + mysql-innodb-cluster: + charm: cs:~openstack-charmers-next/mysql-innodb-cluster + num_units: 3 + options: + source: *openstack-origin + to: + - '0' + - '1' + - '2' + + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '3' + + cinder: + charm: cs:~openstack-charmers-next/cinder + num_units: 1 + options: + openstack-origin: *openstack-origin + block-device: "None" + glance-api-version: 2 + to: + - '4' + + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + admin-password: openstack + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '5' + + neutron-api: + charm: cs:~openstack-charmers-next/neutron-api + num_units: 1 + options: + manage-neutron-plugin-legacy-mode: true + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '6' + + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '7' + + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + num_units: 0 + + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + debug: true + to: + - '23' + + nova-compute: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 3 + constraints: mem=4G + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + debug: true + cpu-model: kvm64 + cpu-mode: custom + # Allow for more retries when testing ontop of openstack + config-flags: block_device_allocate_retries=120 + to: + - '8' + - '9' + - '10' + + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + to: + - '11' + + masakari: + charm: ../../../masakari + series: focal + num_units: 3 + options: + openstack-origin: *openstack-origin + to: + - '12' + - '13' + - '14' + + ceph-mon: + charm: cs:~openstack-charmers-next/ceph-mon + num_units: 3 + options: + source: *openstack-origin + expected-osd-count: 3 + to: + - '15' + - '16' + - '17' + + ceph-osd: + charm: cs:~openstack-charmers-next/ceph-osd + constraints: mem=1G + num_units: 3 + options: + source: *openstack-origin + storage: + osd-devices: cinder,40G + to: + - '18' + - '19' + - '20' + + cinder-ceph: + charm: cs:~openstack-charmers-next/cinder-ceph + + masakari-monitors: + charm: cs:~openstack-charmers-next/masakari-monitors + + hacluster: + charm: cs:~openstack-charmers-next/hacluster + options: + corosync_transport: unicast + cluster_count: 3 + + pacemaker-remote: + charm: cs:~openstack-charmers-next/pacemaker-remote + options: + enable-stonith: False + enable-resources: False + + vault: + num_units: 1 + charm: cs:~openstack-charmers-next/vault + to: + - '21' + + placement: + charm: cs:~openstack-charmers-next/placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '22' + +relations: + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-gateway:amqp-nova' + - 'rabbitmq-server:amqp' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'cinder:identity-service' + - 'keystone:identity-service' + + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + + - - 'glance:identity-service' + - 'keystone:identity-service' + + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + + - - 'neutron-openvswitch:neutron-plugin-api' + - 'neutron-api:neutron-plugin-api' + + - - 'cinder:shared-db' + - 'cinder-mysql-router:shared-db' + - - 'cinder-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'neutron-api:shared-db' + - 'neutron-api-mysql-router:shared-db' + - - 'neutron-api-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'cinder:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-gateway:neutron-plugin-api' + - 'neutron-api:neutron-plugin-api' + + - - 'glance:shared-db' + - 'glance-mysql-router:shared-db' + - - 'glance-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'glance:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + + - - 'nova-compute:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' + + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:shared-db' + - 'nova-cloud-controller-mysql-router:shared-db' + - - 'nova-cloud-controller-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'nova-cloud-controller:neutron-api' + - 'neutron-api:neutron-api' + + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + + - - 'masakari:shared-db' + - 'masakari-mysql-router:shared-db' + - - 'masakari-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'masakari:amqp' + - 'rabbitmq-server:amqp' + + - - 'masakari:identity-service' + - 'keystone:identity-service' + + - - 'glance:ceph' + - 'ceph-mon:client' + + - - 'ceph-mon:osd' + - 'ceph-osd:mon' + + - - 'cinder:storage-backend' + - 'cinder-ceph:storage-backend' + + - - 'cinder-ceph:ceph' + - 'ceph-mon:client' + + - - 'cinder-ceph:ceph-access' + - 'nova-compute:ceph-access' + + - - 'nova-compute:juju-info' + - 'masakari-monitors:container' + + - - 'masakari:ha' + - 'hacluster:ha' + + - - 'keystone:identity-credentials' + - 'masakari-monitors:identity-credentials' + + - - 'nova-compute:juju-info' + - 'pacemaker-remote:juju-info' + + - - 'hacluster:pacemaker-remote' + - 'pacemaker-remote:pacemaker-remote' + + - - 'vault:shared-db' + - 'vault-mysql-router:shared-db' + - - 'vault-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'vault:certificates' + - 'keystone:certificates' + + - - 'vault:certificates' + - 'neutron-api:certificates' + + - - 'vault:certificates' + - 'cinder:certificates' + + - - 'vault:certificates' + - 'glance:certificates' + + - - 'vault:certificates' + - 'nova-cloud-controller:certificates' + + - - 'vault:certificates' + - 'masakari:certificates' + + - - 'placement:shared-db' + - 'placement-mysql-router:shared-db' + - - 'placement-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'placement:identity-service' + - 'keystone:identity-service' + + - - 'placement:placement' + - 'nova-cloud-controller:placement' + + - - 'vault:certificates' + - 'placement:certificates' diff --git a/src/tests/bundles/groovy-victoria-pacemaker-remote-ssl.yaml b/src/tests/bundles/jammy-yoga-pacemaker-remote-ssl.yaml similarity index 99% rename from src/tests/bundles/groovy-victoria-pacemaker-remote-ssl.yaml rename to src/tests/bundles/jammy-yoga-pacemaker-remote-ssl.yaml index f2e70b3..b1ac405 100644 --- a/src/tests/bundles/groovy-victoria-pacemaker-remote-ssl.yaml +++ b/src/tests/bundles/jammy-yoga-pacemaker-remote-ssl.yaml @@ -1,7 +1,7 @@ variables: openstack-origin: &openstack-origin distro -series: groovy +series: jammy comment: - 'machines section to decide order of deployment. database sooner = faster' diff --git a/src/tests/bundles/overlays/groovy-victoria-pacemaker-remote-ssl.yaml.j2 b/src/tests/bundles/overlays/focal-yoga-pacemaker-remote-ssl.yaml.j2 similarity index 100% rename from src/tests/bundles/overlays/groovy-victoria-pacemaker-remote-ssl.yaml.j2 rename to src/tests/bundles/overlays/focal-yoga-pacemaker-remote-ssl.yaml.j2 diff --git a/src/tests/bundles/overlays/jammy-yoga-pacemaker-remote-ssl.yaml.j2 b/src/tests/bundles/overlays/jammy-yoga-pacemaker-remote-ssl.yaml.j2 new file mode 100644 index 0000000..a63e04a --- /dev/null +++ b/src/tests/bundles/overlays/jammy-yoga-pacemaker-remote-ssl.yaml.j2 @@ -0,0 +1,4 @@ +applications: + masakari: + options: + vip: '{{ OS_VIP00 }}' diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index cbff33c..95ea0e0 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -14,20 +14,21 @@ configure: gate_bundles: - bionic-stein-pacemaker-remote-ssl - - bionic-train-pacemaker-remote-ssl - bionic-ussuri-pacemaker-remote-ssl - focal-ussuri-pacemaker-remote-ssl - focal-victoria-pacemaker-remote-ssl - focal-wallaby-pacemaker-remote-ssl - - groovy-victoria-pacemaker-remote-ssl + - focal-xena-pacemaker-remote-ssl + - hirsute-wallaby-pacemaker-remote-ssl + - impish-xena-pacemaker-remote-ssl dev_bundles: # Rocky disabled until https://review.opendev.org/#/c/647756/ lands in # packaging - bionic-rocky-pacemaker-remote-ssl - - focal-xena-pacemaker-remote-ssl - - hirsute-wallaby-pacemaker-remote-ssl - - impish-xena-pacemaker-remote-ssl + - bionic-train-pacemaker-remote-ssl + - focal-yoga-pacemaker-remote-ssl + - jammy-yoga-pacemaker-remote-ssl smoke_bundles: - focal-ussuri-pacemaker-remote-ssl @@ -51,5 +52,6 @@ target_deploy_status: tests_options: force_deploy: - - groovy-victoria-pacemaker-remote-ssl + - hirsute-wallaby-pacemaker-remote-ssl - impish-xena-pacemaker-remote-ssl + - jammy-yoga-pacemaker-remote-ssl diff --git a/test-requirements.txt b/test-requirements.txt index af069e1..bb1307f 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -3,6 +3,8 @@ # choices of *requirements.txt files for OpenStack Charms: # 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