Migrate charm to charmhub latest/edge track

Update to classic charms to build using charmcraft in CI

This update is to ensure that the Zuul Canonical CI builds the charm
before functional tests and ensure that that artifact is used for the
functional tests.  This is to try to ensure that the charm that gets
landed to the charmhub is the same charm that was tested with.

Bundle fix needed since z-o-t:
2bb4271530

Change-Id: I0067ff7941037b7e87dbfc1fb92b48bb380bb22d
Co-authored-by: Aurelien Lourot <aurelien.lourot@canonical.com>
This commit is contained in:
Alex Kavanagh 2022-01-27 17:06:39 +00:00 committed by Liam Young
parent 50417cdb32
commit 733f8d9791
27 changed files with 135 additions and 1088 deletions

1
.gitignore vendored
View File

@ -6,5 +6,6 @@ bin
tags tags
*.sw[nop] *.sw[nop]
*.pyc *.pyc
*.charm
func-results.json func-results.json
__pycache__ __pycache__

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.

29
charmcraft.yaml Normal file
View File

@ -0,0 +1,29 @@
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:
- name: ubuntu
channel: "20.04"
architectures:
- amd64

View File

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

View File

@ -1,111 +1,49 @@
- project: - project:
templates: templates:
- charm-yoga-unit-jobs - charm-unit-jobs-py38
- charm-unit-jobs-py39
check: check:
jobs: jobs:
- test-s3api-bionic-queens
- test-s3api-bionic-stein
- test-s3api-bionic-train
- test-s3api-bionic-ussuri
- focal-ussuri-gr_swift-proxy
- test-s3api-focal-ussuri
- test-s3api-focal-victoria
- test-s3api-focal-wallaby
- test-s3api-focal-xena - test-s3api-focal-xena
- test-s3api-focal-yoga: - test-s3api-focal-yoga:
voting: false voting: false
- test-s3api-hirsute-wallaby
- test-s3api-impish-xena: - test-s3api-impish-xena:
voting: false voting: false
- test-s3api-jammy-yoga: - test-s3api-jammy-yoga:
voting: false voting: false
vars:
needs_charm_build: true
charm_build_name: swift-proxy
build_type: charmcraft
- job:
name: test-s3api-bionic-queens
parent: func-target
dependencies: &smoke-jobs
- test-s3api-focal-ussuri
vars:
tox_extra_args: test-s3api:bionic-queens
- job:
name: test-s3api-bionic-rocky
parent: func-target
dependencies: *smoke-jobs
vars:
tox_extra_args: test-s3api:bionic-rocky
- job:
name: test-s3api-bionic-stein
parent: func-target
dependencies: *smoke-jobs
vars:
tox_extra_args: test-s3api:bionic-stein
- job:
name: test-s3api-bionic-train
parent: func-target
dependencies: *smoke-jobs
vars:
tox_extra_args: test-s3api:bionic-train
- job:
name: focal-ussuri-gr_swift-proxy
parent: func-target
dependencies: *smoke-jobs
vars:
tox_extra_args: swift_gr_region1:focal-ussuri-gr-r1 swift_gr_region2:focal-ussuri-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-py36
- tox-py38
- tox-py39
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: - job:
name: test-s3api-focal-xena name: test-s3api-focal-xena
parent: func-target parent: func-target
dependencies: *smoke-jobs dependencies:
- charm-build
- osci-lint
- tox-py38
- tox-py39
vars: vars:
tox_extra_args: test-s3api:focal-xena tox_extra_args: test-s3api:focal-xena
- job: - job:
name: test-s3api-focal-yoga name: test-s3api-focal-yoga
parent: func-target parent: func-target
dependencies: *smoke-jobs dependencies:
- test-s3api-focal-xena
vars: vars:
tox_extra_args: test-s3api:focal-yoga tox_extra_args: test-s3api:focal-yoga
- job:
name: test-s3api-hirsute-wallaby
parent: func-target
dependencies: *smoke-jobs
vars:
tox_extra_args: test-s3api:hirsute-wallaby
- job: - job:
name: test-s3api-impish-xena name: test-s3api-impish-xena
parent: func-target parent: func-target
dependencies: *smoke-jobs dependencies:
- test-s3api-focal-xena
vars: vars:
tox_extra_args: test-s3api:impish-xena tox_extra_args: test-s3api:impish-xena
- job: - job:
name: test-s3api-jammy-yoga name: test-s3api-jammy-yoga
parent: func-target parent: func-target
dependencies: *smoke-jobs dependencies:
- test-s3api-focal-xena
vars: vars:
tox_extra_args: test-s3api:jammy-yoga tox_extra_args: test-s3api:jammy-yoga

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

@ -1,44 +0,0 @@
series: bionic
applications:
swift-proxy:
charm: swift-proxy
series: bionic
num_units: 1
options:
zone-assignment: manual
replicas: 1
swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
percona-cluster:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
dataset-size: 25%
max-connections: 1000
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
num_units: 1
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
num_units: 1
swift-storage:
charm: cs:~openstack-charmers-next/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: bionic
applications:
swift-proxy:
charm: swift-proxy
series: bionic
num_units: 1
options:
zone-assignment: manual
replicas: 1
swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
openstack-origin: cloud:bionic-rocky
percona-cluster:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
dataset-size: 25%
max-connections: 1000
source: cloud:bionic-rocky
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: cloud:bionic-rocky
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: cloud:bionic-rocky
swift-storage:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
storage:
block-devices: 'cinder,10G'
options:
openstack-origin: cloud:bionic-rocky
zone: 1
relations:
- - keystone:shared-db
- percona-cluster:shared-db
- - glance:shared-db
- percona-cluster:shared-db
- - glance:identity-service
- keystone:identity-service
- - swift-proxy:identity-service
- keystone:identity-service
- - swift-storage:swift-storage
- swift-proxy:swift-storage
- - glance:object-store
- swift-proxy:object-store

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-stein
percona-cluster:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
dataset-size: 25%
max-connections: 1000
source: cloud:bionic-stein
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: cloud:bionic-stein
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: cloud:bionic-stein
swift-storage:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
storage:
block-devices: 'cinder,10G'
options:
openstack-origin: cloud:bionic-stein
zone: 1
relations:
- - keystone:shared-db
- percona-cluster:shared-db
- - glance:shared-db
- percona-cluster:shared-db
- - glance:identity-service
- keystone:identity-service
- - swift-proxy:identity-service
- keystone:identity-service
- - swift-storage:swift-storage
- swift-proxy:swift-storage
- - glance:object-store
- swift-proxy:object-store

View File

@ -1,76 +0,0 @@
series: bionic
local_overlay_enabled: false
applications:
swift-proxy-region1:
charm: ../../.
num_units: 1
options:
region: RegionOne
zone-assignment: manual
replicas: 2
enable-multi-region: true
swift-hash: "global-cluster"
read-affinity: "r1=100, r2=200"
write-affinity: "r1, r2"
write-affinity-node-count: '1'
openstack-origin: cloud:bionic-train
swift-storage-region1-zone1:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 1
zone: 1
block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train
swift-storage-region1-zone2:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 1
zone: 2
block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train
swift-storage-region1-zone3:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 1
zone: 3
block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train
percona-cluster:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
dataset-size: 25%
max-connections: 1000
source: cloud:bionic-train
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: cloud:bionic-train
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: cloud:bionic-train
relations:
- - swift-proxy-region1:swift-storage
- swift-storage-region1-zone1:swift-storage
- - swift-proxy-region1:swift-storage
- swift-storage-region1-zone2:swift-storage
- - swift-proxy-region1:swift-storage
- swift-storage-region1-zone3:swift-storage
- - keystone:shared-db
- percona-cluster:shared-db
- - glance:shared-db
- percona-cluster:shared-db
- - glance:identity-service
- keystone:identity-service
- - swift-proxy-region1:identity-service
- keystone:identity-service
- - glance:object-store
- swift-proxy-region1:object-store

View File

@ -1,47 +0,0 @@
series: bionic
local_overlay_enabled: false
applications:
swift-proxy-region2:
charm: ../../.
num_units: 1
options:
region: RegionTwo
zone-assignment: manual
replicas: 2
enable-multi-region: true
swift-hash: "global-cluster"
read-affinity: "r1=100, r2=200"
write-affinity: "r1, r2"
write-affinity-node-count: '1'
openstack-origin: cloud:bionic-train
swift-storage-region2-zone1:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 2
zone: 1
block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train
swift-storage-region2-zone2:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 2
zone: 2
block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train
swift-storage-region2-zone3:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 2
zone: 3
block-device: /etc/swift/storage.img|2G
openstack-origin: cloud:bionic-train
relations:
- - swift-proxy-region2:swift-storage
- swift-storage-region2-zone1:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region2-zone2:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region2-zone3:swift-storage

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-train
percona-cluster:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
dataset-size: 25%
max-connections: 1000
source: cloud:bionic-train
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: cloud:bionic-train
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: cloud:bionic-train
swift-storage:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
storage:
block-devices: 'cinder,10G'
options:
openstack-origin: cloud:bionic-train
zone: 1
relations:
- - keystone:shared-db
- percona-cluster:shared-db
- - glance:shared-db
- percona-cluster:shared-db
- - glance:identity-service
- keystone:identity-service
- - swift-proxy:identity-service
- keystone:identity-service
- - swift-storage:swift-storage
- swift-proxy:swift-storage
- - glance:object-store
- swift-proxy:object-store

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-next/percona-cluster
num_units: 1
options:
dataset-size: 25%
max-connections: 1000
source: cloud:bionic-ussuri
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: cloud:bionic-ussuri
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: cloud:bionic-ussuri
swift-storage:
charm: cs:~openstack-charmers-next/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,83 +0,0 @@
series: focal
local_overlay_enabled: false
applications:
keystone-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
glance-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: distro
swift-proxy-region1:
charm: ../../.
num_units: 1
options:
region: RegionOne
zone-assignment: manual
replicas: 2
enable-multi-region: true
swift-hash: "global-cluster"
read-affinity: "r1=100, r2=200"
write-affinity: "r1, r2"
write-affinity-node-count: '1'
openstack-origin: distro
swift-storage-region1-zone1:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 1
zone: 1
block-device: /etc/swift/storage.img|2G
openstack-origin: distro
swift-storage-region1-zone2:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 1
zone: 2
block-device: /etc/swift/storage.img|2G
openstack-origin: distro
swift-storage-region1-zone3:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 1
zone: 3
block-device: /etc/swift/storage.img|2G
openstack-origin: distro
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: distro
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: distro
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
- - swift-proxy-region1:swift-storage
- swift-storage-region1-zone1:swift-storage
- - swift-proxy-region1:swift-storage
- swift-storage-region1-zone2:swift-storage
- - swift-proxy-region1:swift-storage
- swift-storage-region1-zone3:swift-storage
- - glance:identity-service
- keystone:identity-service
- - swift-proxy-region1:identity-service
- keystone:identity-service
- - glance:object-store
- swift-proxy-region1:object-store

View File

@ -1,47 +0,0 @@
series: focal
local_overlay_enabled: false
applications:
swift-proxy-region2:
charm: ../../.
num_units: 1
options:
region: RegionTwo
zone-assignment: manual
replicas: 2
enable-multi-region: true
swift-hash: "global-cluster"
read-affinity: "r1=100, r2=200"
write-affinity: "r1, r2"
write-affinity-node-count: '1'
openstack-origin: distro
swift-storage-region2-zone1:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 2
zone: 1
block-device: /etc/swift/storage.img|2G
openstack-origin: distro
swift-storage-region2-zone2:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 2
zone: 2
block-device: /etc/swift/storage.img|2G
openstack-origin: distro
swift-storage-region2-zone3:
charm: cs:~openstack-charmers-next/swift-storage
num_units: 1
options:
storage-region: 2
zone: 3
block-device: /etc/swift/storage.img|2G
openstack-origin: distro
relations:
- - swift-proxy-region2:swift-storage
- swift-storage-region2-zone1:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region2-zone2:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region2-zone3:swift-storage

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-next/mysql-router
glance-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'
keystone:
expose: True
charm: cs:~openstack-charmers-next/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-next/glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
swift-storage:
charm: cs:~openstack-charmers-next/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-next/mysql-router
glance-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'
keystone:
expose: True
charm: cs:~openstack-charmers-next/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-next/glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
swift-storage:
charm: cs:~openstack-charmers-next/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-next/mysql-router
glance-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'
keystone:
expose: True
charm: cs:~openstack-charmers-next/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-next/glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
swift-storage:
charm: cs:~openstack-charmers-next/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

@ -20,12 +20,14 @@ machines:
applications: applications:
keystone-mysql-router: keystone-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router charm: ch:mysql-router
channel: latest/edge
glance-mysql-router: glance-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster: mysql-innodb-cluster:
charm: cs:~openstack-charmers-next/mysql-innodb-cluster charm: ch:mysql-innodb-cluster
num_units: 3 num_units: 3
options: options:
source: *openstack-origin source: *openstack-origin
@ -33,18 +35,20 @@ applications:
- '0' - '0'
- '1' - '1'
- '2' - '2'
channel: latest/edge
keystone: keystone:
expose: True expose: True
charm: cs:~openstack-charmers-next/keystone charm: ch:keystone
num_units: 1 num_units: 1
options: options:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '3' - '3'
channel: yoga/edge
swift-proxy: swift-proxy:
charm: swift-proxy charm: ../../swift-proxy.charm
num_units: 1 num_units: 1
options: options:
zone-assignment: manual zone-assignment: manual
@ -56,23 +60,25 @@ applications:
glance: glance:
expose: True expose: True
charm: cs:~openstack-charmers-next/glance charm: ch:glance
num_units: 1 num_units: 1
options: options:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '5' - '5'
channel: yoga/edge
swift-storage: swift-storage:
charm: cs:~openstack-charmers-next/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
storage: storage:
block-devices: 'cinder,10G' block-devices: 'cinder,2G,2'
options: options:
zone: 1 zone: 1
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '6' - '6'
channel: yoga/edge
relations: relations:

View File

@ -20,12 +20,14 @@ machines:
applications: applications:
keystone-mysql-router: keystone-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router charm: ch:mysql-router
channel: latest/edge
glance-mysql-router: glance-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster: mysql-innodb-cluster:
charm: cs:~openstack-charmers-next/mysql-innodb-cluster charm: ch:mysql-innodb-cluster
num_units: 3 num_units: 3
options: options:
source: *openstack-origin source: *openstack-origin
@ -33,18 +35,20 @@ applications:
- '0' - '0'
- '1' - '1'
- '2' - '2'
channel: latest/edge
keystone: keystone:
expose: True expose: True
charm: cs:~openstack-charmers-next/keystone charm: ch:keystone
num_units: 1 num_units: 1
options: options:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '3' - '3'
channel: yoga/edge
swift-proxy: swift-proxy:
charm: swift-proxy charm: ../../swift-proxy.charm
num_units: 1 num_units: 1
options: options:
zone-assignment: manual zone-assignment: manual
@ -56,23 +60,25 @@ applications:
glance: glance:
expose: True expose: True
charm: cs:~openstack-charmers-next/glance charm: ch:glance
num_units: 1 num_units: 1
options: options:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '5' - '5'
channel: yoga/edge
swift-storage: swift-storage:
charm: cs:~openstack-charmers-next/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
storage: storage:
block-devices: 'cinder,10G' block-devices: 'cinder,2G,2'
options: options:
zone: 1 zone: 1
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '6' - '6'
channel: yoga/edge
relations: relations:

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-next/mysql-router
glance-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'
keystone:
expose: True
charm: cs:~openstack-charmers-next/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-next/glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
swift-storage:
charm: cs:~openstack-charmers-next/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

@ -20,12 +20,14 @@ machines:
applications: applications:
keystone-mysql-router: keystone-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router charm: ch:mysql-router
channel: latest/edge
glance-mysql-router: glance-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster: mysql-innodb-cluster:
charm: cs:~openstack-charmers-next/mysql-innodb-cluster charm: ch:mysql-innodb-cluster
num_units: 3 num_units: 3
options: options:
source: *openstack-origin source: *openstack-origin
@ -33,18 +35,20 @@ applications:
- '0' - '0'
- '1' - '1'
- '2' - '2'
channel: latest/edge
keystone: keystone:
expose: True expose: True
charm: cs:~openstack-charmers-next/keystone charm: ch:keystone
num_units: 1 num_units: 1
options: options:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '3' - '3'
channel: yoga/edge
swift-proxy: swift-proxy:
charm: swift-proxy charm: ../../swift-proxy.charm
num_units: 1 num_units: 1
options: options:
zone-assignment: manual zone-assignment: manual
@ -56,23 +60,25 @@ applications:
glance: glance:
expose: True expose: True
charm: cs:~openstack-charmers-next/glance charm: ch:glance
num_units: 1 num_units: 1
options: options:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '5' - '5'
channel: yoga/edge
swift-storage: swift-storage:
charm: cs:~openstack-charmers-next/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
storage: storage:
block-devices: 'cinder,10G' block-devices: 'cinder,2G,2'
options: options:
zone: 1 zone: 1
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '6' - '6'
channel: yoga/edge
relations: relations:

View File

@ -20,12 +20,14 @@ machines:
applications: applications:
keystone-mysql-router: keystone-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router charm: ch:mysql-router
channel: latest/edge
glance-mysql-router: glance-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster: mysql-innodb-cluster:
charm: cs:~openstack-charmers-next/mysql-innodb-cluster charm: ch:mysql-innodb-cluster
num_units: 3 num_units: 3
options: options:
source: *openstack-origin source: *openstack-origin
@ -33,18 +35,20 @@ applications:
- '0' - '0'
- '1' - '1'
- '2' - '2'
channel: latest/edge
keystone: keystone:
expose: True expose: True
charm: cs:~openstack-charmers-next/keystone charm: ch:keystone
num_units: 1 num_units: 1
options: options:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '3' - '3'
channel: yoga/edge
swift-proxy: swift-proxy:
charm: swift-proxy charm: ../../swift-proxy.charm
num_units: 1 num_units: 1
options: options:
zone-assignment: manual zone-assignment: manual
@ -56,23 +60,25 @@ applications:
glance: glance:
expose: True expose: True
charm: cs:~openstack-charmers-next/glance charm: ch:glance
num_units: 1 num_units: 1
options: options:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '5' - '5'
channel: yoga/edge
swift-storage: swift-storage:
charm: cs:~openstack-charmers-next/swift-storage charm: ch:swift-storage
num_units: 1 num_units: 1
storage: storage:
block-devices: 'cinder,10G' block-devices: 'cinder,2G,2'
options: options:
zone: 1 zone: 1
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '6' - '6'
channel: yoga/edge
relations: relations:

View File

@ -1,28 +0,0 @@
applications:
keystone:
offers:
keystone:
endpoints:
- identity-service
swift-proxy-region1:
charm: {{ charm_location }}
offers:
swift-proxy-region1:
endpoints:
- swift-storage
- rings-distributor
swift-storage-region1-zone1:
offers:
swift-storage-region1-zone1:
endpoints:
- swift-storage
swift-storage-region1-zone2:
offers:
swift-storage-region1-zone2:
endpoints:
- swift-storage
swift-storage-region1-zone3:
offers:
swift-storage-region1-zone3:
endpoints:
- swift-storage

View File

@ -1,31 +0,0 @@
applications:
swift-proxy-region2:
charm: {{ charm_location }}
relations:
- - swift-proxy-region2:identity-service
- keystone:identity-service
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone1:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone2:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone3:swift-storage
- - swift-storage-region2-zone1:swift-storage
- swift-proxy-region1:swift-storage
- - swift-storage-region2-zone2:swift-storage
- swift-proxy-region1:swift-storage
- - swift-storage-region2-zone3:swift-storage
- swift-proxy-region1:swift-storage
- - swift-proxy-region2:rings-consumer
- swift-proxy-region1:rings-distributor
saas:
keystone:
url: admin/{{ swift_gr_region1 }}.keystone
swift-proxy-region1:
url: admin/{{ swift_gr_region1 }}.swift-proxy-region1
swift-storage-region1-zone1:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone1
swift-storage-region1-zone2:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone2
swift-storage-region1-zone3:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone3

View File

@ -1,31 +1,16 @@
charm_name: swift-proxy charm_name: swift-proxy
gate_bundles: gate_bundles:
- test-s3api: bionic-queens
- test-s3api: bionic-stein
- test-s3api: bionic-ussuri
- test-s3api: focal-ussuri
- focal-ussuri-gr:
- swift_gr_region1: focal-ussuri-gr-r1
- swift_gr_region2: focal-ussuri-gr-r2
- test-s3api: focal-victoria
- test-s3api: focal-wallaby
- test-s3api: focal-xena - test-s3api: focal-xena
- test-s3api: hirsute-wallaby
- test-s3api: impish-xena - test-s3api: impish-xena
dev_bundles: dev_bundles:
- test-s3api: bionic-rocky
- test-s3api: bionic-train
- bionic-train-gr:
- swift_gr_region1: bionic-train-gr-r1
- swift_gr_region2: bionic-train-gr-r2
- test-s3api: focal-yoga - test-s3api: focal-yoga
- test-s3api: jammy-yoga - test-s3api: jammy-yoga
smoke_bundles: smoke_bundles:
# Use no s3api test for smoke # Use no s3api test for smoke
- focal-ussuri - focal-xena
configure: configure:
- swift_gr_region1: - swift_gr_region1:
@ -44,7 +29,6 @@ tests:
tests_options: tests_options:
force_deploy: force_deploy:
- hirsute-wallaby
- impish-xena - impish-xena
- jammy-yoga - jammy-yoga
policyd: policyd:

12
tox.ini
View File

@ -37,10 +37,20 @@ 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:build]
basepython = python3
deps = -r{toxinidir}/build-requirements.txt
commands =
charmcraft clean
charmcraft -v build
{toxinidir}/rename.sh
[testenv:py35] [testenv:py35]
basepython = python3.5 basepython = python3.5
deps = -r{toxinidir}/requirements.txt deps = -r{toxinidir}/requirements.txt