Charmhub migration for stable/train (bionic-only)

This is the main patch for the migration of the stable/21.10
charm to charmhub for the stable/train branch (train track on
charmhub).  This patch initially supports bionic from queens
to train, and does not support ussuri.  It supports upgrades
from bionic-queens to bionic-train (with each intermediate
step needed).  Crucially it does NOT set a default
openstack-origin, which means installing train/stable
without specifying the openstack-origin will result in a
bionic-queens installation.  This is intentional as the branch
covers queens to train.

func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/883
Change-Id: I86177cb20309fd42941df894cc9ee5a18c36c59f
This commit is contained in:
Alex Kavanagh
2022-06-23 12:24:52 +01:00
committed by gnuoy
parent cb6e0adb23
commit e391f954b3
30 changed files with 166 additions and 1027 deletions

1
.gitignore vendored
View File

@@ -8,3 +8,4 @@ tags
*.pyc *.pyc
func-results.json func-results.json
__pycache__ __pycache__
*.charm

View File

@@ -3,4 +3,4 @@ host=review.opendev.org
port=29418 port=29418
project=openstack/charm-swift-proxy.git project=openstack/charm-swift-proxy.git
defaultbranch=stable/21.10 defaultbranch=stable/train

View File

@@ -1,5 +1,5 @@
- project: - project:
templates: templates:
- python35-charm-jobs # note that this requires tox-py36 and tox-py37 targets
- openstack-python3-ussuri-jobs - openstack-python3-train-jobs
- openstack-cover-jobs - openstack-cover-jobs

7
build-requirements.txt Normal file
View File

@@ -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.

View File

@@ -1,4 +1,4 @@
repo: https://github.com/juju/charm-helpers@stable/21.10 repo: https://github.com/juju/charm-helpers@stable/train
destination: charmhelpers destination: charmhelpers
include: include:
- core - core

34
charmcraft.yaml Normal file
View File

@@ -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: "18.04"
architectures:
- amd64
run-on:
- name: ubuntu
channel: "18.04"
architectures: [amd64, s390x, ppc64el, arm64]

View File

@@ -18,12 +18,7 @@ tags:
- openstack - openstack
- cache-proxy - cache-proxy
series: series:
- xenial
- bionic - bionic
- focal
- groovy
- hirsute
- impish
extra-bindings: extra-bindings:
public: public:
admin: admin:

View File

@@ -1,102 +1,53 @@
- project: - project:
templates: templates:
- charm-unit-jobs - charm-unit-jobs-py36
- charm-train-functional-jobs
check: check:
jobs: 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-ussuri
- test-s3api-bionic-train - test-s3api-bionic-train
- test-s3api-bionic-stein - test-s3api-bionic-stein
- test-s3api-bionic-queens - test-s3api-bionic-queens
- xenial-mitaka_swift-proxy
- bionic-train-gr_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: - job:
name: test-s3api-bionic-queens name: test-s3api-bionic-queens
parent: func-target parent: func-target
dependencies: *smoke-jobs dependencies:
- osci-lint
- charm-build
- tox-py36
vars: vars:
tox_extra_args: test-s3api:bionic-queens tox_extra_args: test-s3api:bionic-queens
- job: - job:
name: test-s3api-bionic-rocky name: test-s3api-bionic-rocky
parent: func-target parent: func-target
dependencies: *smoke-jobs dependencies:
- test-s3api-bionic-queens
vars: vars:
tox_extra_args: test-s3api:bionic-rocky tox_extra_args: test-s3api:bionic-rocky
- job: - job:
name: test-s3api-bionic-stein name: test-s3api-bionic-stein
parent: func-target parent: func-target
dependencies: *smoke-jobs dependencies:
- test-s3api-bionic-queens
vars: vars:
tox_extra_args: test-s3api:bionic-stein tox_extra_args: test-s3api:bionic-stein
- job: - job:
name: test-s3api-bionic-train name: test-s3api-bionic-train
parent: func-target parent: func-target
dependencies: *smoke-jobs dependencies:
- test-s3api-bionic-queens
vars: vars:
tox_extra_args: test-s3api:bionic-train tox_extra_args: test-s3api:bionic-train
- job: - job:
name: bionic-train-gr_swift-proxy name: bionic-train-gr_swift-proxy
parent: func-target parent: func-target
dependencies: *smoke-jobs dependencies:
- test-s3api-bionic-queens
vars: vars:
tox_extra_args: swift_gr_region1:bionic-train-gr-r1 swift_gr_region2:bionic-train-gr-r2 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
vars:
tox_extra_args: test-s3api:focal-victoria
- job:
name: test-s3api-focal-wallaby
parent: func-target
dependencies: *smoke-jobs
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

13
rename.sh Executable file
View File

@@ -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

View File

@@ -7,6 +7,7 @@
# requirements. They are intertwined. Also, Zaza itself should specify # requirements. They are intertwined. Also, Zaza itself should specify
# all of its own requirements and if it doesn't, fix it there. # 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. 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 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 coverage>=4.5.2
pyudev # for ceph-* charm unit tests (need to fix the ceph-* charm unit tests/mocking) 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.git@stable/train#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-openstack-tests.git@stable/train#egg=zaza.openstack
# Needed for charm-glance: # 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' tempest<24.0.0;python_version<'3.6'
croniter # needed for charm-rabbitmq-server unit tests croniter # needed for charm-rabbitmq-server unit tests

View File

@@ -1,7 +1,9 @@
local_overlay_enabled: False
series: bionic series: bionic
applications: applications:
swift-proxy: swift-proxy:
charm: swift-proxy charm: ../../swift-proxy.charm
series: bionic series: bionic
num_units: 1 num_units: 1
options: options:
@@ -9,26 +11,30 @@ applications:
replicas: 1 replicas: 1
swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
percona-cluster: percona-cluster:
charm: cs:~openstack-charmers/percona-cluster charm: ch:percona-cluster
num_units: 1 num_units: 1
options: options:
dataset-size: 25% dataset-size: 25%
max-connections: 1000 max-connections: 1000
channel: 5.7/edge
keystone: keystone:
expose: True expose: True
charm: cs:~openstack-charmers/keystone charm: ch:keystone
num_units: 1 num_units: 1
channel: train/edge
glance: glance:
expose: True expose: True
charm: cs:~openstack-charmers/glance charm: ch:glance
num_units: 1 num_units: 1
channel: train/edge
swift-storage: swift-storage:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
storage: storage:
block-devices: 'cinder,10G' block-devices: 'cinder,10G'
options: options:
zone: 1 zone: 1
channel: train/edge
relations: relations:
- - keystone:shared-db - - keystone:shared-db
- percona-cluster:shared-db - percona-cluster:shared-db

View File

@@ -1,7 +1,9 @@
local_overlay_enabled: False
series: bionic series: bionic
applications: applications:
swift-proxy: swift-proxy:
charm: swift-proxy charm: ../../swift-proxy.charm
series: bionic series: bionic
num_units: 1 num_units: 1
options: options:
@@ -10,32 +12,36 @@ applications:
swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
openstack-origin: cloud:bionic-rocky openstack-origin: cloud:bionic-rocky
percona-cluster: percona-cluster:
charm: cs:~openstack-charmers/percona-cluster charm: ch:percona-cluster
num_units: 1 num_units: 1
options: options:
dataset-size: 25% dataset-size: 25%
max-connections: 1000 max-connections: 1000
source: cloud:bionic-rocky source: cloud:bionic-rocky
channel: 5.7/edge
keystone: keystone:
expose: True expose: True
charm: cs:~openstack-charmers/keystone charm: ch:keystone
num_units: 1 num_units: 1
options: options:
openstack-origin: cloud:bionic-rocky openstack-origin: cloud:bionic-rocky
channel: train/edge
glance: glance:
expose: True expose: True
charm: cs:~openstack-charmers/glance charm: ch:glance
num_units: 1 num_units: 1
options: options:
openstack-origin: cloud:bionic-rocky openstack-origin: cloud:bionic-rocky
channel: train/edge
swift-storage: swift-storage:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
storage: storage:
block-devices: 'cinder,10G' block-devices: 'cinder,10G'
options: options:
openstack-origin: cloud:bionic-rocky openstack-origin: cloud:bionic-rocky
zone: 1 zone: 1
channel: train/edge
relations: relations:
- - keystone:shared-db - - keystone:shared-db
- percona-cluster:shared-db - percona-cluster:shared-db

View File

@@ -1,7 +1,9 @@
local_overlay_enabled: False
series: bionic series: bionic
applications: applications:
swift-proxy: swift-proxy:
charm: swift-proxy charm: ../../swift-proxy.charm
series: bionic series: bionic
num_units: 1 num_units: 1
options: options:
@@ -10,32 +12,36 @@ applications:
swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
openstack-origin: cloud:bionic-stein openstack-origin: cloud:bionic-stein
percona-cluster: percona-cluster:
charm: cs:~openstack-charmers/percona-cluster charm: ch:percona-cluster
num_units: 1 num_units: 1
options: options:
dataset-size: 25% dataset-size: 25%
max-connections: 1000 max-connections: 1000
source: cloud:bionic-stein source: cloud:bionic-stein
channel: 5.7/edge
keystone: keystone:
expose: True expose: True
charm: cs:~openstack-charmers/keystone charm: ch:keystone
num_units: 1 num_units: 1
options: options:
openstack-origin: cloud:bionic-stein openstack-origin: cloud:bionic-stein
channel: train/edge
glance: glance:
expose: True expose: True
charm: cs:~openstack-charmers/glance charm: ch:glance
num_units: 1 num_units: 1
options: options:
openstack-origin: cloud:bionic-stein openstack-origin: cloud:bionic-stein
channel: train/edge
swift-storage: swift-storage:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
storage: storage:
block-devices: 'cinder,10G' block-devices: 'cinder,10G'
options: options:
openstack-origin: cloud:bionic-stein openstack-origin: cloud:bionic-stein
zone: 1 zone: 1
channel: train/edge
relations: relations:
- - keystone:shared-db - - keystone:shared-db
- percona-cluster:shared-db - percona-cluster:shared-db

View File

@@ -1,5 +1,5 @@
series: bionic series: bionic
local_overlay_enabled: false local_overlay_enabled: False
applications: applications:
swift-proxy-region1: swift-proxy-region1:
charm: ../../. charm: ../../.
@@ -15,48 +15,54 @@ applications:
write-affinity-node-count: '1' write-affinity-node-count: '1'
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
swift-storage-region1-zone1: swift-storage-region1-zone1:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
options: options:
storage-region: 1 storage-region: 1
zone: 1 zone: 1
block-device: /etc/swift/storage.img|2G block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
swift-storage-region1-zone2: swift-storage-region1-zone2:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
options: options:
storage-region: 1 storage-region: 1
zone: 2 zone: 2
block-device: /etc/swift/storage.img|2G block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
swift-storage-region1-zone3: swift-storage-region1-zone3:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
options: options:
storage-region: 1 storage-region: 1
zone: 3 zone: 3
block-device: /etc/swift/storage.img|2G block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
percona-cluster: percona-cluster:
charm: cs:~openstack-charmers/percona-cluster charm: ch:percona-cluster
num_units: 1 num_units: 1
options: options:
dataset-size: 25% dataset-size: 25%
max-connections: 1000 max-connections: 1000
source: cloud:bionic-train source: cloud:bionic-train
channel: 5.7/edge
keystone: keystone:
expose: True expose: True
charm: cs:~openstack-charmers/keystone charm: ch:keystone
num_units: 1 num_units: 1
options: options:
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
glance: glance:
expose: True expose: True
charm: cs:~openstack-charmers/glance charm: ch:glance
num_units: 1 num_units: 1
options: options:
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
relations: relations:
- - swift-proxy-region1:swift-storage - - swift-proxy-region1:swift-storage
- swift-storage-region1-zone1:swift-storage - swift-storage-region1-zone1:swift-storage

View File

@@ -1,5 +1,5 @@
series: bionic series: bionic
local_overlay_enabled: false local_overlay_enabled: False
applications: applications:
swift-proxy-region2: swift-proxy-region2:
charm: ../../. charm: ../../.
@@ -15,29 +15,32 @@ applications:
write-affinity-node-count: '1' write-affinity-node-count: '1'
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
swift-storage-region2-zone1: swift-storage-region2-zone1:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
options: options:
storage-region: 2 storage-region: 2
zone: 1 zone: 1
block-device: /etc/swift/storage.img|2G block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
swift-storage-region2-zone2: swift-storage-region2-zone2:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
options: options:
storage-region: 2 storage-region: 2
zone: 2 zone: 2
block-device: /etc/swift/storage.img|2G block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
swift-storage-region2-zone3: swift-storage-region2-zone3:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
options: options:
storage-region: 2 storage-region: 2
zone: 3 zone: 3
block-device: /etc/swift/storage.img|2G block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
relations: relations:
- - swift-proxy-region2:swift-storage - - swift-proxy-region2:swift-storage
- swift-storage-region2-zone1:swift-storage - swift-storage-region2-zone1:swift-storage

View File

@@ -1,7 +1,9 @@
local_overlay_enabled: False
series: bionic series: bionic
applications: applications:
swift-proxy: swift-proxy:
charm: swift-proxy charm: ../../swift-proxy.charm
series: bionic series: bionic
num_units: 1 num_units: 1
options: options:
@@ -10,32 +12,36 @@ applications:
swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
percona-cluster: percona-cluster:
charm: cs:~openstack-charmers/percona-cluster charm: ch:percona-cluster
num_units: 1 num_units: 1
options: options:
dataset-size: 25% dataset-size: 25%
max-connections: 1000 max-connections: 1000
source: cloud:bionic-train source: cloud:bionic-train
channel: 5.7/edge
keystone: keystone:
expose: True expose: True
charm: cs:~openstack-charmers/keystone charm: ch:keystone
num_units: 1 num_units: 1
options: options:
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
glance: glance:
expose: True expose: True
charm: cs:~openstack-charmers/glance charm: ch:glance
num_units: 1 num_units: 1
options: options:
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
channel: train/edge
swift-storage: swift-storage:
charm: cs:~openstack-charmers/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
storage: storage:
block-devices: 'cinder,10G' block-devices: 'cinder,10G'
options: options:
openstack-origin: cloud:bionic-train openstack-origin: cloud:bionic-train
zone: 1 zone: 1
channel: train/edge
relations: relations:
- - keystone:shared-db - - keystone:shared-db
- percona-cluster:shared-db - percona-cluster:shared-db

View File

@@ -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

View File

@@ -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'

View File

@@ -1,99 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:focal-victoria
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'

View File

@@ -1,99 +0,0 @@
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':
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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,31 +1,18 @@
charm_name: swift-proxy charm_name: swift-proxy
gate_bundles: 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-train
- test-s3api: bionic-stein - test-s3api: bionic-stein
- test-s3api: bionic-rocky - test-s3api: bionic-rocky
- test-s3api: bionic-queens - test-s3api: bionic-queens
- xenial-mitaka
- bionic-train-gr: - bionic-train-gr:
- swift_gr_region1: bionic-train-gr-r1 - swift_gr_region1: bionic-train-gr-r1
- swift_gr_region2: bionic-train-gr-r2 - swift_gr_region2: bionic-train-gr-r2
dev_bundles: dev_bundles: []
- test-s3api: impish-xena
- test-s3api: hirsute-wallaby
- test-s3api: focal-xena
- trusty-mitaka
- test-s3api: xenial-queens
- xenial-ocata
- xenial-pike
smoke_bundles: smoke_bundles:
# Use no s3api test for smoke bionic-train
- focal-ussuri
configure: configure:
- swift_gr_region1: - swift_gr_region1:
@@ -42,7 +29,6 @@ tests:
- zaza.openstack.charm_tests.swift.tests.SwiftGlobalReplicationTests - zaza.openstack.charm_tests.swift.tests.SwiftGlobalReplicationTests
tests_options: tests_options:
force_deploy: force_deploy: []
- impish-xena
policyd: policyd:
- service: swift - service: swift

24
tox.ini
View File

@@ -37,12 +37,22 @@ setenv = VIRTUAL_ENV={envdir}
install_command = install_command =
{toxinidir}/pip.sh install {opts} {packages} {toxinidir}/pip.sh install {opts} {packages}
commands = stestr run --slowest {posargs} commands = stestr run --slowest {posargs}
allowlist_externals = juju allowlist_externals =
charmcraft
rename.sh
passenv = HOME TERM CS_* OS_* TEST_* passenv = HOME TERM CS_* OS_* TEST_*
deps = -r{toxinidir}/test-requirements.txt deps = -r{toxinidir}/test-requirements.txt
[testenv:py35] [testenv:build]
basepython = python3.5 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 deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt
@@ -50,21 +60,21 @@ deps = -r{toxinidir}/requirements.txt
basepython = python3.6 basepython = python3.6
deps = -r{toxinidir}/requirements.txt deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:py37] [testenv:py37]
basepython = python3.7 basepython = python3.7
deps = -r{toxinidir}/requirements.txt deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:py38] [testenv:py38]
basepython = python3.8 basepython = python3.8
deps = -r{toxinidir}/requirements.txt deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:py3]
basepython = python3
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:pep8] [testenv:pep8]
basepython = python3 basepython = python3