From 745fa81330a32932264309632dbbf26174e45b72 Mon Sep 17 00:00:00 2001 From: Alex Kavanagh Date: Mon, 27 Sep 2021 14:29:16 +0100 Subject: [PATCH] Add xena bundles - add non-voting focal-xena bundle - add non-voting impish-xena bundle - rebuild to pick up charm-helpers changes - update tox/pip.sh to ensure setuptools<50.0.0 - updates from for templates' bug links - gate on focal-ussuri instead of bionic-stein Change-Id: Iaa0345ee9b6e0a16c9b6d07b54bea1eeb3a4d664 Co-authored-by: Aurelien Lourot --- osci.yaml | 58 ++++- pip.sh | 18 ++ rebuild | 2 +- src/templates/mitaka/manila.conf | 2 +- src/templates/pike/manila.conf | 2 +- src/templates/queens/manila.conf | 2 +- src/templates/rocky/manila.conf | 2 +- src/tests/bundles/focal-wallaby.yaml | 319 +++++++++++++++++++++++++ src/tests/bundles/focal-xena.yaml | 319 +++++++++++++++++++++++++ src/tests/bundles/hirsute-wallaby.yaml | 319 +++++++++++++++++++++++++ src/tests/bundles/impish-xena.yaml | 319 +++++++++++++++++++++++++ src/tests/tests.yaml | 18 +- src/tox.ini | 4 +- tox.ini | 17 +- 14 files changed, 1380 insertions(+), 21 deletions(-) create mode 100755 pip.sh create mode 100644 src/tests/bundles/focal-wallaby.yaml create mode 100644 src/tests/bundles/focal-xena.yaml create mode 100644 src/tests/bundles/hirsute-wallaby.yaml create mode 100644 src/tests/bundles/impish-xena.yaml diff --git a/osci.yaml b/osci.yaml index 597c1a5..84afbd8 100644 --- a/osci.yaml +++ b/osci.yaml @@ -9,12 +9,24 @@ - ganesha-bionic-ussuri - ganesha-focal-ussuri - ganesha-focal-victoria - - ganesha-groovy-victoria + # Wallaby is currently broken because of a change in the default token + # type requirements in manila's policy.json that the charm / tests need + # to learn to handle + - ganesha-focal-wallaby: + voting: false + - ganesha-focal-xena: + voting: false + - ganesha-groovy-victoria: + voting: false + - ganesha-hirsute-wallaby: + voting: false + - ganesha-impish-xena: + voting: false vars: needs_charm_build: true charm_build_name: manila - job: - name: ganesha-bionic-stein + name: ganesha-focal-ussuri parent: func-target dependencies: - osci-lint @@ -23,12 +35,18 @@ - tox-py37 - tox-py38 vars: - tox_extra_args: ganesha:bionic-stein + tox_extra_args: ganesha:focal-ussuri - job: name: bionic-queens_manila parent: bionic-queens dependencies: &smoke-jobs - - ganesha-bionic-stein + - ganesha-focal-ussuri +- job: + name: ganesha-bionic-stein + parent: func-target + dependencies: *smoke-jobs + vars: + tox_extra_args: ganesha:bionic-stein - job: name: ganesha-bionic-train parent: func-target @@ -41,21 +59,39 @@ dependencies: *smoke-jobs vars: tox_extra_args: ganesha:bionic-ussuri -- job: - name: ganesha-focal-ussuri - parent: func-target - dependencies: *smoke-jobs - vars: - tox_extra_args: ganesha:focal-ussuri - job: name: ganesha-focal-victoria parent: func-target dependencies: *smoke-jobs vars: tox_extra_args: ganesha:focal-victoria +- job: + name: ganesha-focal-wallaby + parent: func-target + dependencies: *smoke-jobs + vars: + tox_extra_args: ganesha:focal-wallaby +- job: + name: ganesha-focal-xena + parent: func-target + dependencies: *smoke-jobs + vars: + tox_extra_args: ganesha:focal-xena - job: name: ganesha-groovy-victoria parent: func-target dependencies: *smoke-jobs vars: - tox_extra_args: ganesha:groovy-victoria \ No newline at end of file + tox_extra_args: ganesha:groovy-victoria +- job: + name: ganesha-hirsute-wallaby + parent: func-target + dependencies: *smoke-jobs + vars: + tox_extra_args: ganesha:hirsute-wallaby +- job: + name: ganesha-impish-xena + parent: func-target + dependencies: *smoke-jobs + vars: + tox_extra_args: ganesha:impish-xena diff --git a/pip.sh b/pip.sh new file mode 100755 index 0000000..9a7e6b0 --- /dev/null +++ b/pip.sh @@ -0,0 +1,18 @@ +#!/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/rebuild b/rebuild index d1a4574..33e0446 100644 --- a/rebuild +++ b/rebuild @@ -2,4 +2,4 @@ # when dependencies of the charm change, # but nothing in the charm needs to. # simply change the uuid to something new -fa0d18c6-b3eb-11eb-9691-07f26964f64e +53cf1d5c-1178-11ec-8ac2-bb3a2551099e diff --git a/src/templates/mitaka/manila.conf b/src/templates/mitaka/manila.conf index c43af91..1964c40 100644 --- a/src/templates/mitaka/manila.conf +++ b/src/templates/mitaka/manila.conf @@ -1,7 +1,7 @@ # Note that the original manila.conf file is extensive and has many options # that the charm does not set. Please refer to that file if there are options # that you think the charm should set, but doesn't, or provide options for. -# Please file a bug at: https://bugs.launchpad.net/charm-barbican/+filebug for +# Please file a bug at: https://bugs.launchpad.net/charm-manila/+filebug for # any changes you need made or intend to modify in the charm. [DEFAULT] diff --git a/src/templates/pike/manila.conf b/src/templates/pike/manila.conf index 0089ae7..76c933d 100644 --- a/src/templates/pike/manila.conf +++ b/src/templates/pike/manila.conf @@ -1,7 +1,7 @@ # Note that the original manila.conf file is extensive and has many options # that the charm does not set. Please refer to that file if there are options # that you think the charm should set, but doesn't, or provide options for. -# Please file a bug at: https://bugs.launchpad.net/charm-barbican/+filebug for +# Please file a bug at: https://bugs.launchpad.net/charm-manila/+filebug for # any changes you need made or intend to modify in the charm. [DEFAULT] diff --git a/src/templates/queens/manila.conf b/src/templates/queens/manila.conf index 0089ae7..76c933d 100644 --- a/src/templates/queens/manila.conf +++ b/src/templates/queens/manila.conf @@ -1,7 +1,7 @@ # Note that the original manila.conf file is extensive and has many options # that the charm does not set. Please refer to that file if there are options # that you think the charm should set, but doesn't, or provide options for. -# Please file a bug at: https://bugs.launchpad.net/charm-barbican/+filebug for +# Please file a bug at: https://bugs.launchpad.net/charm-manila/+filebug for # any changes you need made or intend to modify in the charm. [DEFAULT] diff --git a/src/templates/rocky/manila.conf b/src/templates/rocky/manila.conf index 0089ae7..76c933d 100644 --- a/src/templates/rocky/manila.conf +++ b/src/templates/rocky/manila.conf @@ -1,7 +1,7 @@ # Note that the original manila.conf file is extensive and has many options # that the charm does not set. Please refer to that file if there are options # that you think the charm should set, but doesn't, or provide options for. -# Please file a bug at: https://bugs.launchpad.net/charm-barbican/+filebug for +# Please file a bug at: https://bugs.launchpad.net/charm-manila/+filebug for # any changes you need made or intend to modify in the charm. [DEFAULT] diff --git a/src/tests/bundles/focal-wallaby.yaml b/src/tests/bundles/focal-wallaby.yaml new file mode 100644 index 0000000..ded7798 --- /dev/null +++ b/src/tests/bundles/focal-wallaby.yaml @@ -0,0 +1,319 @@ +variables: + openstack-origin: &openstack-origin cloud:focal-wallaby + +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': + '9': + '10': + '11': + '12': + '13': + '14': + '15': + # 16 and 17 are nova compute units + '16': + constraints: mem=8G + '17': + constraints: mem=8G + '18': + '19': + '20': + '21': + '22': + '23': + +services: + + manila-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + manila-ganesha-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + keystone-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + neutron-api-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + nova-cloud-controller-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + glance-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' + + manila-ganesha: + num_units: 1 + charm: cs:~openstack-charmers-next/manila-ganesha + options: + openstack-origin: *openstack-origin + to: + - '3' + + ceph-mon: + charm: cs:~openstack-charmers-next/ceph-mon + num_units: 3 + options: + source: *openstack-origin + to: + - '4' + - '5' + - '6' + + ceph-osd: + charm: cs:~openstack-charmers-next/ceph-osd + num_units: 3 + options: + source: *openstack-origin + storage: + osd-devices: 'cinder,10G' + to: + - '7' + - '8' + - '9' + + ceph-fs: + charm: cs:~openstack-charmers-next/ceph-fs + num_units: 2 + options: + source: *openstack-origin + to: + - '10' + - '11' + + manila: + charm: ../../../manila + num_units: 3 + options: + default-share-backend: cephfsnfs1 + share-protocols: NFS + openstack-origin: *openstack-origin + to: + - '12' + - '13' + - '14' + + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + to: + - '15' + + nova-compute: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 2 + storage: + ephemeral-device: '40G' + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + to: + - '16' + - '17' + + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '18' + + neutron-api: + charm: cs:~openstack-charmers-next/neutron-api + num_units: 1 + options: + manage-neutron-plugin-legacy-mode: true + neutron-plugin: ovs + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + to: + - '19' + + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: *openstack-origin + to: + - '20' + + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '21' + + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '22' + + placement: + charm: cs:~openstack-charmers-next/placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '23' + + nrpe: + charm: cs:nrpe + +relations: + - - 'ceph-mon' + - 'ceph-osd' + + - - 'ceph-mon' + - 'ceph-fs' + + - - 'ceph-mon' + - 'manila-ganesha' + + - - 'manila:shared-db' + - 'manila-mysql-router:shared-db' + - - 'manila-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'manila-ganesha' + - 'rabbitmq-server' + + - - 'manila-ganesha' + - 'keystone' + + - - 'manila' + - 'manila-ganesha' + + - - 'manila-ganesha:shared-db' + - 'manila-ganesha-mysql-router:shared-db' + - - 'manila-ganesha-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'manila' + - 'rabbitmq-server' + + - - 'manila' + - 'keystone' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-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' + + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-api:neutron-api' + - 'nova-cloud-controller:neutron-api' + + - - 'neutron-api:neutron-plugin-api' + - 'neutron-gateway:neutron-plugin-api' + + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + + - - 'nova-cloud-controller:shared-db' + - 'nova-cloud-controller-mysql-router:shared-db' + - - 'nova-cloud-controller-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + + - - '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:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-compute:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' + + - - 'placement:placement' + - 'nova-cloud-controller:placement' + + - - 'placement:amqp' + - 'rabbitmq-server:amqp' + + - - 'placement:shared-db' + - 'placement-mysql-router:shared-db' + - - 'placement-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'placement:identity-service' + - 'keystone:identity-service' + + - - 'nrpe:nrpe-external-master' + - 'manila:nrpe-external-master' diff --git a/src/tests/bundles/focal-xena.yaml b/src/tests/bundles/focal-xena.yaml new file mode 100644 index 0000000..3c74fc3 --- /dev/null +++ b/src/tests/bundles/focal-xena.yaml @@ -0,0 +1,319 @@ +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': + '7': + '8': + '9': + '10': + '11': + '12': + '13': + '14': + '15': + # 16 and 17 are nova compute units + '16': + constraints: mem=8G + '17': + constraints: mem=8G + '18': + '19': + '20': + '21': + '22': + '23': + +services: + + manila-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + manila-ganesha-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + keystone-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + neutron-api-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + nova-cloud-controller-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + glance-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' + + manila-ganesha: + num_units: 1 + charm: cs:~openstack-charmers-next/manila-ganesha + options: + openstack-origin: *openstack-origin + to: + - '3' + + ceph-mon: + charm: cs:~openstack-charmers-next/ceph-mon + num_units: 3 + options: + source: *openstack-origin + to: + - '4' + - '5' + - '6' + + ceph-osd: + charm: cs:~openstack-charmers-next/ceph-osd + num_units: 3 + options: + source: *openstack-origin + storage: + osd-devices: 'cinder,10G' + to: + - '7' + - '8' + - '9' + + ceph-fs: + charm: cs:~openstack-charmers-next/ceph-fs + num_units: 2 + options: + source: *openstack-origin + to: + - '10' + - '11' + + manila: + charm: ../../../manila + num_units: 3 + options: + default-share-backend: cephfsnfs1 + share-protocols: NFS + openstack-origin: *openstack-origin + to: + - '12' + - '13' + - '14' + + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + to: + - '15' + + nova-compute: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 2 + storage: + ephemeral-device: '40G' + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + to: + - '16' + - '17' + + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '18' + + neutron-api: + charm: cs:~openstack-charmers-next/neutron-api + num_units: 1 + options: + manage-neutron-plugin-legacy-mode: true + neutron-plugin: ovs + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + to: + - '19' + + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: *openstack-origin + to: + - '20' + + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '21' + + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '22' + + placement: + charm: cs:~openstack-charmers-next/placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '23' + + nrpe: + charm: cs:nrpe + +relations: + - - 'ceph-mon' + - 'ceph-osd' + + - - 'ceph-mon' + - 'ceph-fs' + + - - 'ceph-mon' + - 'manila-ganesha' + + - - 'manila:shared-db' + - 'manila-mysql-router:shared-db' + - - 'manila-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'manila-ganesha' + - 'rabbitmq-server' + + - - 'manila-ganesha' + - 'keystone' + + - - 'manila' + - 'manila-ganesha' + + - - 'manila-ganesha:shared-db' + - 'manila-ganesha-mysql-router:shared-db' + - - 'manila-ganesha-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'manila' + - 'rabbitmq-server' + + - - 'manila' + - 'keystone' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-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' + + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-api:neutron-api' + - 'nova-cloud-controller:neutron-api' + + - - 'neutron-api:neutron-plugin-api' + - 'neutron-gateway:neutron-plugin-api' + + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + + - - 'nova-cloud-controller:shared-db' + - 'nova-cloud-controller-mysql-router:shared-db' + - - 'nova-cloud-controller-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + + - - '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:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-compute:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' + + - - 'placement:placement' + - 'nova-cloud-controller:placement' + + - - 'placement:amqp' + - 'rabbitmq-server:amqp' + + - - 'placement:shared-db' + - 'placement-mysql-router:shared-db' + - - 'placement-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'placement:identity-service' + - 'keystone:identity-service' + + - - 'nrpe:nrpe-external-master' + - 'manila:nrpe-external-master' diff --git a/src/tests/bundles/hirsute-wallaby.yaml b/src/tests/bundles/hirsute-wallaby.yaml new file mode 100644 index 0000000..d6dae34 --- /dev/null +++ b/src/tests/bundles/hirsute-wallaby.yaml @@ -0,0 +1,319 @@ +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': + '7': + '8': + '9': + '10': + '11': + '12': + '13': + '14': + '15': + # 16 and 17 are nova compute units + '16': + constraints: mem=8G + '17': + constraints: mem=8G + '18': + '19': + '20': + '21': + '22': + '23': + +services: + + manila-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + manila-ganesha-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + keystone-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + neutron-api-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + nova-cloud-controller-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + glance-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' + + manila-ganesha: + num_units: 1 + charm: cs:~openstack-charmers-next/manila-ganesha + options: + openstack-origin: *openstack-origin + to: + - '3' + + ceph-mon: + charm: cs:~openstack-charmers-next/ceph-mon + num_units: 3 + options: + source: *openstack-origin + to: + - '4' + - '5' + - '6' + + ceph-osd: + charm: cs:~openstack-charmers-next/ceph-osd + num_units: 3 + options: + source: *openstack-origin + storage: + osd-devices: 'cinder,10G' + to: + - '7' + - '8' + - '9' + + ceph-fs: + charm: cs:~openstack-charmers-next/ceph-fs + num_units: 2 + options: + source: *openstack-origin + to: + - '10' + - '11' + + manila: + charm: ../../../manila + num_units: 3 + options: + default-share-backend: cephfsnfs1 + share-protocols: NFS + openstack-origin: *openstack-origin + to: + - '12' + - '13' + - '14' + + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + to: + - '15' + + nova-compute: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 2 + storage: + ephemeral-device: '40G' + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + to: + - '16' + - '17' + + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '18' + + neutron-api: + charm: cs:~openstack-charmers-next/neutron-api + num_units: 1 + options: + manage-neutron-plugin-legacy-mode: true + neutron-plugin: ovs + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + to: + - '19' + + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: *openstack-origin + to: + - '20' + + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '21' + + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '22' + + placement: + charm: cs:~openstack-charmers-next/placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '23' + + nrpe: + charm: cs:nrpe + +relations: + - - 'ceph-mon' + - 'ceph-osd' + + - - 'ceph-mon' + - 'ceph-fs' + + - - 'ceph-mon' + - 'manila-ganesha' + + - - 'manila:shared-db' + - 'manila-mysql-router:shared-db' + - - 'manila-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'manila-ganesha' + - 'rabbitmq-server' + + - - 'manila-ganesha' + - 'keystone' + + - - 'manila' + - 'manila-ganesha' + + - - 'manila-ganesha:shared-db' + - 'manila-ganesha-mysql-router:shared-db' + - - 'manila-ganesha-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'manila' + - 'rabbitmq-server' + + - - 'manila' + - 'keystone' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-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' + + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-api:neutron-api' + - 'nova-cloud-controller:neutron-api' + + - - 'neutron-api:neutron-plugin-api' + - 'neutron-gateway:neutron-plugin-api' + + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + + - - 'nova-cloud-controller:shared-db' + - 'nova-cloud-controller-mysql-router:shared-db' + - - 'nova-cloud-controller-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + + - - '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:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-compute:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' + + - - 'placement:placement' + - 'nova-cloud-controller:placement' + + - - 'placement:amqp' + - 'rabbitmq-server:amqp' + + - - 'placement:shared-db' + - 'placement-mysql-router:shared-db' + - - 'placement-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'placement:identity-service' + - 'keystone:identity-service' + + - - 'nrpe:nrpe-external-master' + - 'manila:nrpe-external-master' diff --git a/src/tests/bundles/impish-xena.yaml b/src/tests/bundles/impish-xena.yaml new file mode 100644 index 0000000..8b039d0 --- /dev/null +++ b/src/tests/bundles/impish-xena.yaml @@ -0,0 +1,319 @@ +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': + '7': + '8': + '9': + '10': + '11': + '12': + '13': + '14': + '15': + # 16 and 17 are nova compute units + '16': + constraints: mem=8G + '17': + constraints: mem=8G + '18': + '19': + '20': + '21': + '22': + '23': + +services: + + manila-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + manila-ganesha-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + keystone-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + neutron-api-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + nova-cloud-controller-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + glance-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' + + manila-ganesha: + num_units: 1 + charm: cs:~openstack-charmers-next/manila-ganesha + options: + openstack-origin: *openstack-origin + to: + - '3' + + ceph-mon: + charm: cs:~openstack-charmers-next/ceph-mon + num_units: 3 + options: + source: *openstack-origin + to: + - '4' + - '5' + - '6' + + ceph-osd: + charm: cs:~openstack-charmers-next/ceph-osd + num_units: 3 + options: + source: *openstack-origin + storage: + osd-devices: 'cinder,10G' + to: + - '7' + - '8' + - '9' + + ceph-fs: + charm: cs:~openstack-charmers-next/ceph-fs + num_units: 2 + options: + source: *openstack-origin + to: + - '10' + - '11' + + manila: + charm: ../../../manila + num_units: 3 + options: + default-share-backend: cephfsnfs1 + share-protocols: NFS + openstack-origin: *openstack-origin + to: + - '12' + - '13' + - '14' + + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + to: + - '15' + + nova-compute: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 2 + storage: + ephemeral-device: '40G' + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + to: + - '16' + - '17' + + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '18' + + neutron-api: + charm: cs:~openstack-charmers-next/neutron-api + num_units: 1 + options: + manage-neutron-plugin-legacy-mode: true + neutron-plugin: ovs + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + to: + - '19' + + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: *openstack-origin + to: + - '20' + + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '21' + + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '22' + + placement: + charm: cs:~openstack-charmers-next/placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '23' + + nrpe: + charm: cs:nrpe + +relations: + - - 'ceph-mon' + - 'ceph-osd' + + - - 'ceph-mon' + - 'ceph-fs' + + - - 'ceph-mon' + - 'manila-ganesha' + + - - 'manila:shared-db' + - 'manila-mysql-router:shared-db' + - - 'manila-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'manila-ganesha' + - 'rabbitmq-server' + + - - 'manila-ganesha' + - 'keystone' + + - - 'manila' + - 'manila-ganesha' + + - - 'manila-ganesha:shared-db' + - 'manila-ganesha-mysql-router:shared-db' + - - 'manila-ganesha-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'manila' + - 'rabbitmq-server' + + - - 'manila' + - 'keystone' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-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' + + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-api:neutron-api' + - 'nova-cloud-controller:neutron-api' + + - - 'neutron-api:neutron-plugin-api' + - 'neutron-gateway:neutron-plugin-api' + + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + + - - 'nova-cloud-controller:shared-db' + - 'nova-cloud-controller-mysql-router:shared-db' + - - 'nova-cloud-controller-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + + - - '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:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-compute:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' + + - - 'placement:placement' + - 'nova-cloud-controller:placement' + + - - 'placement:amqp' + - 'rabbitmq-server:amqp' + + - - 'placement:shared-db' + - 'placement-mysql-router:shared-db' + - - 'placement-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'placement:identity-service' + - 'keystone:identity-service' + + - - 'nrpe:nrpe-external-master' + - 'manila:nrpe-external-master' diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index e97f8b6..50d51de 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -9,24 +9,35 @@ gate_bundles: - ganesha: bionic-ussuri - ganesha: focal-ussuri - ganesha: focal-victoria -- ganesha: groovy-victoria dev_bundles: # Manila doesn't support mod-wsgi before Pike # - xenial-mitaka # - xenial-ocata - xenial-pike - xenial-queens +# Wallaby is currently broken because of a change in the default token-type +# requirements in manila's policy.json that the charm / tests need to learn to +# handle +- ganesha: focal-wallaby +- ganesha: focal-xena +- ganesha: groovy-victoria +- ganesha: hirsute-wallaby +- ganesha: impish-xena + smoke_bundles: -- ganesha: bionic-stein +- ganesha: focal-ussuri + target_deploy_status: nrpe: workload-status: blocked workload-status-message: "Nagios server not configured or related" + tests: - zaza.openstack.charm_tests.manila.tests.ManilaTests - ganesha: - zaza.openstack.charm_tests.manila.tests.ManilaTests - zaza.openstack.charm_tests.manila_ganesha.tests.ManilaGaneshaTests + configure: - zaza.openstack.charm_tests.keystone.setup.add_demo_user - ganesha: @@ -36,11 +47,14 @@ configure: - zaza.openstack.charm_tests.nova.setup.manage_ssh_key - zaza.openstack.charm_tests.keystone.setup.add_demo_user - zaza.openstack.charm_tests.manila_ganesha.setup.setup_ganesha_share_type + configure_options: configure_gateway_ext_port_use_juju_wait: False + tests_options: force_deploy: # NOTE(lourot): this is needed because the NRPE charm isn't available on # non-LTS Ubuntu series. See lp:1933643 - groovy-victoria - hirsute-wallaby + - impish-xena diff --git a/src/tox.ini b/src/tox.ini index e763047..b40d295 100644 --- a/src/tox.ini +++ b/src/tox.ini @@ -22,12 +22,12 @@ skip_missing_interpreters = False requires = pip < 20.3 virtualenv < 20.0 # NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci -minversion = 3.2.0 +minversion = 3.18.0 [testenv] setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 -whitelist_externals = juju +allowlist_externals = juju passenv = HOME TERM CS_* OS_* TEST_* deps = -r{toxinidir}/test-requirements.txt install_command = diff --git a/tox.ini b/tox.ini index 5c81801..22159df 100644 --- a/tox.ini +++ b/tox.ini @@ -11,6 +11,21 @@ envlist = pep8,py3 sitepackages = False # NOTE: Avoid false positives by not skipping missing interpreters. skip_missing_interpreters = False +# NOTES: +# * We avoid the new dependency resolver by pinning pip < 20.3, see +# https://github.com/pypa/pip/issues/9187 +# * Pinning dependencies requires tox >= 3.2.0, see +# https://tox.readthedocs.io/en/latest/config.html#conf-requires +# * It is also necessary to pin virtualenv as a newer virtualenv would still +# lead to fetching the latest pip in the func* tox targets, see +# https://stackoverflow.com/a/38133283 +requires = + pip < 20.3 + virtualenv < 20.0 + setuptools<50.0.0 + +# NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci +minversion = 3.18.0 [testenv] setenv = VIRTUAL_ENV={envdir} @@ -21,7 +36,7 @@ setenv = VIRTUAL_ENV={envdir} JUJU_REPOSITORY={toxinidir}/build passenv = http_proxy https_proxy INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY install_command = - pip install {opts} {packages} + {toxinidir}/pip.sh install {opts} {packages} deps = -r{toxinidir}/requirements.txt