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
*.sw[nop]
*.pyc
*.charm
func-results.json
__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
- cache-proxy
series:
- bionic
- focal
- groovy
- hirsute
- impish
extra-bindings:
public:

View File

@ -1,111 +1,49 @@
- project:
templates:
- charm-yoga-unit-jobs
- charm-unit-jobs-py38
- charm-unit-jobs-py39
check:
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-yoga:
voting: false
- test-s3api-hirsute-wallaby
- test-s3api-impish-xena:
voting: false
- test-s3api-jammy-yoga:
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:
name: test-s3api-focal-xena
parent: func-target
dependencies: *smoke-jobs
dependencies:
- charm-build
- osci-lint
- tox-py38
- tox-py39
vars:
tox_extra_args: test-s3api:focal-xena
- job:
name: test-s3api-focal-yoga
parent: func-target
dependencies: *smoke-jobs
dependencies:
- test-s3api-focal-xena
vars:
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:
name: test-s3api-impish-xena
parent: func-target
dependencies: *smoke-jobs
dependencies:
- test-s3api-focal-xena
vars:
tox_extra_args: test-s3api:impish-xena
- job:
name: test-s3api-jammy-yoga
parent: func-target
dependencies: *smoke-jobs
dependencies:
- test-s3api-focal-xena
vars:
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:
keystone-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: cs:~openstack-charmers-next/mysql-innodb-cluster
charm: ch:mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
@ -33,18 +35,20 @@ applications:
- '0'
- '1'
- '2'
channel: latest/edge
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
channel: yoga/edge
swift-proxy:
charm: swift-proxy
charm: ../../swift-proxy.charm
num_units: 1
options:
zone-assignment: manual
@ -56,23 +60,25 @@ applications:
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
channel: yoga/edge
swift-storage:
charm: cs:~openstack-charmers-next/swift-storage
charm: ch:swift-storage
num_units: 1
storage:
block-devices: 'cinder,10G'
block-devices: 'cinder,2G,2'
options:
zone: 1
openstack-origin: *openstack-origin
to:
- '6'
channel: yoga/edge
relations:

View File

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

View File

@ -20,12 +20,14 @@ machines:
applications:
keystone-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: cs:~openstack-charmers-next/mysql-innodb-cluster
charm: ch:mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
@ -33,18 +35,20 @@ applications:
- '0'
- '1'
- '2'
channel: latest/edge
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
channel: yoga/edge
swift-proxy:
charm: swift-proxy
charm: ../../swift-proxy.charm
num_units: 1
options:
zone-assignment: manual
@ -56,23 +60,25 @@ applications:
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
channel: yoga/edge
swift-storage:
charm: cs:~openstack-charmers-next/swift-storage
charm: ch:swift-storage
num_units: 1
storage:
block-devices: 'cinder,10G'
block-devices: 'cinder,2G,2'
options:
zone: 1
openstack-origin: *openstack-origin
to:
- '6'
channel: yoga/edge
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
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: hirsute-wallaby
- test-s3api: impish-xena
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: jammy-yoga
smoke_bundles:
# Use no s3api test for smoke
- focal-ussuri
- focal-xena
configure:
- swift_gr_region1:
@ -44,7 +29,6 @@ tests:
tests_options:
force_deploy:
- hirsute-wallaby
- impish-xena
- jammy-yoga
policyd:

12
tox.ini
View File

@ -37,10 +37,20 @@ setenv = VIRTUAL_ENV={envdir}
install_command =
{toxinidir}/pip.sh install {opts} {packages}
commands = stestr run --slowest {posargs}
allowlist_externals = juju
allowlist_externals =
charmcraft
rename.sh
passenv = HOME TERM CS_* OS_* TEST_*
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]
basepython = python3.5
deps = -r{toxinidir}/requirements.txt