Update to build using charmcraft

Due to a build problem with the reactive plugin, this change falls back
on overriding the steps and doing a manual build, but it also ensures
the CI system builds the charm using charmcraft.  Changes:

- add a build-requirements.txt
- modify charmcraft.yaml
- modify osci.yaml
    -> indicate build with charmcraft
- modify tox.ini
    -> tox -e build does charmcraft build/rename
    -> tox -e build-reactive does the reactive build
- modify bundles to use the <charm>.charm artifact in tests.
  and fix deprecation warning re: prefix
- tox inception to enable tox -e func-test in the CI
- Pin everything in wheelhouse.txt for bionic and focal support.
  This will need updating when the charm channels are created.

func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/770
Change-Id: Ie0f9e4a80b81eaeb91ce11b84a54c7ecc95cdff2
This commit is contained in:
Liam Young 2022-05-24 14:50:57 +00:00
parent eef2e6fbef
commit fa6223fa3a
20 changed files with 534 additions and 475 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@ __pycache__
func-results.json
tests/id_rsa_zaza
build
*.charm

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.

33
charmcraft.yaml Normal file
View File

@ -0,0 +1,33 @@
type: charm
parts:
charm:
build-packages:
- tox
- git
- python3-dev
override-build: |
apt-get install ca-certificates -y
tox -e build-reactive
override-stage: |
echo "Copying charm to staging area: $CHARMCRAFT_STAGE"
NAME=$(ls $CHARMCRAFT_PART_BUILD/build/builds)
cp -r $CHARMCRAFT_PART_BUILD/build/builds/$NAME/* $CHARMCRAFT_STAGE/
override-prime: |
# For some reason, the normal priming chokes on the fact that there's a
# hooks directory.
cp -r $CHARMCRAFT_STAGE/* .
bases:
- build-on:
- name: ubuntu
channel: "20.04"
architectures:
- amd64
run-on:
- name: ubuntu
channel: "20.04"
architectures: [amd64, s390x, ppc64el, arm64]
- name: ubuntu
channel: "22.04"
architectures: [amd64, s390x, ppc64el, arm64]

1
metadata.yaml Symbolic link
View File

@ -0,0 +1 @@
src/metadata.yaml

View File

@ -4,77 +4,76 @@
check:
jobs:
- charm-build
# Non-voting due to:
# https://bugs.launchpad.net/charm-trilio-dm-api/+bug/1952663
- bionic-queens-40_trilio-api
- bionic-stein-40_trilio-api:
voting: false
- bionic-stein-40_trilio-api
- bionic-queens-41_trilio-api
- bionic-stein-41_trilio-api:
voting: false
- bionic-stein-41_trilio-api
- bionic-train-40_trilio-api
- bionic-ussuri-40_trilio-api
# Non-voting due to:
# https://bugs.launchpad.net/charm-trilio-data-mover/+bug/1951999
- bionic-train-41_trilio-api:
voting: false
- bionic-ussuri-41_trilio-api:
voting: false
- bionic-train-41_trilio-api
- bionic-ussuri-41_trilio-api
- focal-ussuri-41_trilio-api
vars:
needs_charm_build: true
charm_build_name: trilio-dm-api
build_type: charmcraft
- job:
name: bionic-train-40_trilio-api
name: focal-ussuri-41_trilio-api
parent: func-target
dependencies:
- osci-lint
- tox-py36
- tox-py38
- tox-py39
- charm-build
vars:
tox_extra_args: focal-ussuri-41
- job:
name: bionic-ussuri-41_trilio-api
parent: func-target
dependencies:
- focal-ussuri-41_trilio-api
vars:
tox_extra_args: bionic-ussuri-41
- job:
name: bionic-train-41_trilio-api
parent: func-target
dependencies:
- focal-ussuri-41_trilio-api
vars:
tox_extra_args: bionic-train-41
- job:
name: bionic-train-40_trilio-api
parent: func-target
dependencies:
- bionic-ussuri-41_trilio-api
vars:
tox_extra_args: bionic-train-40
- job:
name: bionic-stein-41_trilio-api
parent: func-target
dependencies:
- bionic-train-41_trilio-api
vars:
tox_extra_args: bionic-stein-41
- job:
name: bionic-stein-40_trilio-api
parent: func-target
dependencies: &smoke-jobs
dependencies:
- bionic-train-40_trilio-api
vars:
tox_extra_args: bionic-stein-40
- job:
name: bionic-queens-40_trilio-api
parent: func-target
dependencies: *smoke-jobs
vars:
tox_extra_args: bionic-queens-40
- job:
name: bionic-ussuri-40_trilio-api
parent: func-target
dependencies: *smoke-jobs
vars:
tox_extra_args: bionic-ussuri-40
- job:
name: bionic-train-41_trilio-api
parent: func-target
dependencies: *smoke-jobs
vars:
tox_extra_args: bionic-train-41
- job:
name: bionic-stein-41_trilio-api
parent: func-target
dependencies: *smoke-jobs
vars:
tox_extra_args: bionic-stein-41
- job:
name: bionic-queens-41_trilio-api
parent: func-target
dependencies: *smoke-jobs
dependencies:
- bionic-stein-41_trilio-api
vars:
tox_extra_args: bionic-queens-41
- job:
name: bionic-ussuri-41_trilio-api
name: bionic-queens-40_trilio-api
parent: func-target
dependencies: *smoke-jobs
dependencies:
- bionic-stein-40_trilio-api
vars:
tox_extra_args: bionic-ussuri-41
tox_extra_args: bionic-queens-40

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

@ -4,6 +4,9 @@
# https://github.com/openstack-charmers/release-tools
#
# Need tox to be available from tox... inception yes, but its a workaround for now
tox
# Functional Test Requirements (let Zaza's dependencies solve all dependencies here!)
git+https://github.com/openstack-charmers/zaza.git#egg=zaza
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack

View File

@ -1,5 +1,11 @@
variables:
openstack-origin: &openstack-origin distro
openstack-charm-channel: &openstack-charm-channel 'queens/edge'
ceph-charm-channel: &ceph-charm-channel 'octopus/edge'
rabbit-charm-channel: &rabbit-charm-channel '3.8/edge'
mysql-charm-channel: &mysql-charm-channel '5.7/edge'
vault-charm-channel: &vault-charm-channel '1.7/edge'
trilio-charm-channel: &trilio-charm-channel 'latest/stable'
trilio-openstack-origin: &trilio-openstack-origin 'cloud:bionic-stein'
triliovault-pkg-source: &triliovault-pkg-source 'deb [trusted=yes] https://apt.fury.io/triliodata-4-0/ /'
@ -110,55 +116,63 @@ relations:
- 'mysql:shared-db'
applications:
glance:
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
cinder:
charm: cs:~openstack-charmers-next/cinder
charm: ch:cinder
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: "None"
glance-api-version: 2
keystone:
charm: cs:~openstack-charmers-next/keystone
series: bionic
charm: ch:keystone
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
charm: ch:percona-cluster
channel: *mysql-charm-channel
num_units: 1
options:
innodb-buffer-pool-size: 256M
max-connections: 1000
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
charm: ch:neutron-api
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
flat-network-providers: physnet1
neutron-security-groups: true
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
charm: ch:neutron-gateway
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
bridge-mappings: physnet1:br-ex
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
charm: ch:neutron-openvswitch
channel: *openstack-charm-channel
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
charm: ch:nova-cloud-controller
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
network-manager: Neutron
debug: true
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
charm: ch:nova-compute
channel: *openstack-charm-channel
num_units: 3
constraints: mem=4G
options:
@ -173,37 +187,42 @@ applications:
# Allow for more retries when testing ontop of openstack
config-flags: block_device_allocate_retries=120
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
charm: ch:rabbitmq-server
channel: *rabbit-charm-channel
num_units: 1
trilio-data-mover:
charm: cs:~openstack-charmers-next/trilio-data-mover
charm: ch:openstack-charmers-trilio-data-mover
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-dm-api:
charm: ../../../trilio-dm-api
charm: ../../../trilio-dm-api.charm
num_units: 1
options:
openstack-origin: *trilio-openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
trilio-horizon-plugin:
charm: cs:~openstack-charmers-next/trilio-horizon-plugin
charm: ch:openstack-charmers-trilio-horizon-plugin
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-wlm:
charm: cs:~openstack-charmers-next/trilio-wlm
series: bionic
charm: ch:openstack-charmers-trilio-wlm
channel: *trilio-charm-channel
num_units: 1
options:
openstack-origin: *trilio-openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
charm: ch:ceph-mon
channel: *ceph-charm-channel
num_units: 3
options:
source: *openstack-origin
expected-osd-count: 3
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
charm: ch:ceph-osd
channel: *ceph-charm-channel
constraints: mem=1G
num_units: 3
options:
@ -213,17 +232,20 @@ applications:
storage:
osd-devices: cinder,40G
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
charm: ch:cinder-ceph
channel: *openstack-charm-channel
vault:
charm: ch:vault
channel: *vault-charm-channel
num_units: 1
charm: cs:~openstack-charmers-next/vault
nfs-server-test-fixture:
charm: cs:~openstack-charmers-next/nfs-server-test-fixture
num_units: 1
storage:
share: cinder,40G
openstack-dashboard:
charm: cs:~openstack-charmers-next/openstack-dashboard
charm: ch:openstack-dashboard
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@ -1,5 +1,11 @@
variables:
openstack-origin: &openstack-origin distro
openstack-charm-channel: &openstack-charm-channel 'queens/edge'
ceph-charm-channel: &ceph-charm-channel 'octopus/edge'
rabbit-charm-channel: &rabbit-charm-channel '3.8/edge'
mysql-charm-channel: &mysql-charm-channel '5.7/edge'
vault-charm-channel: &vault-charm-channel '1.7/edge'
trilio-charm-channel: &trilio-charm-channel 'latest/stable'
trilio-openstack-origin: &trilio-openstack-origin 'cloud:bionic-stein'
triliovault-pkg-source: &triliovault-pkg-source 'deb [trusted=yes] https://apt.fury.io/triliodata-4-1/ /'
@ -110,55 +116,63 @@ relations:
- 'mysql:shared-db'
applications:
glance:
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
cinder:
charm: cs:~openstack-charmers-next/cinder
charm: ch:cinder
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: "None"
glance-api-version: 2
keystone:
charm: cs:~openstack-charmers-next/keystone
series: bionic
charm: ch:keystone
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
charm: ch:percona-cluster
channel: *mysql-charm-channel
num_units: 1
options:
innodb-buffer-pool-size: 256M
max-connections: 1000
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
charm: ch:neutron-api
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
flat-network-providers: physnet1
neutron-security-groups: true
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
charm: ch:neutron-gateway
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
bridge-mappings: physnet1:br-ex
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
charm: ch:neutron-openvswitch
channel: *openstack-charm-channel
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
charm: ch:nova-cloud-controller
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
network-manager: Neutron
debug: true
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
charm: ch:nova-compute
channel: *openstack-charm-channel
num_units: 3
constraints: mem=4G
options:
@ -173,37 +187,42 @@ applications:
# Allow for more retries when testing ontop of openstack
config-flags: block_device_allocate_retries=120
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
charm: ch:rabbitmq-server
channel: *rabbit-charm-channel
num_units: 1
trilio-data-mover:
charm: cs:~openstack-charmers-next/trilio-data-mover
charm: ch:openstack-charmers-trilio-data-mover
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-dm-api:
charm: ../../../trilio-dm-api
charm: ../../../trilio-dm-api.charm
num_units: 1
options:
openstack-origin: *trilio-openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
trilio-horizon-plugin:
charm: cs:~openstack-charmers-next/trilio-horizon-plugin
charm: ch:openstack-charmers-trilio-horizon-plugin
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-wlm:
charm: cs:~openstack-charmers-next/trilio-wlm
series: bionic
charm: ch:openstack-charmers-trilio-wlm
channel: *trilio-charm-channel
num_units: 1
options:
openstack-origin: *trilio-openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
charm: ch:ceph-mon
channel: *ceph-charm-channel
num_units: 3
options:
source: *openstack-origin
expected-osd-count: 3
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
charm: ch:ceph-osd
channel: *ceph-charm-channel
constraints: mem=1G
num_units: 3
options:
@ -213,17 +232,20 @@ applications:
storage:
osd-devices: cinder,40G
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
charm: ch:cinder-ceph
channel: *openstack-charm-channel
vault:
charm: ch:vault
channel: *vault-charm-channel
num_units: 1
charm: cs:~openstack-charmers-next/vault
nfs-server-test-fixture:
charm: cs:~openstack-charmers-next/nfs-server-test-fixture
num_units: 1
storage:
share: cinder,40G
openstack-dashboard:
charm: cs:~openstack-charmers-next/openstack-dashboard
charm: ch:openstack-dashboard
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@ -1,5 +1,11 @@
variables:
openstack-origin: &openstack-origin 'cloud:bionic-stein'
openstack-charm-channel: &openstack-charm-channel 'stein/edge'
ceph-charm-channel: &ceph-charm-channel 'octopus/edge'
rabbit-charm-channel: &rabbit-charm-channel '3.8/edge'
mysql-charm-channel: &mysql-charm-channel '5.7/edge'
vault-charm-channel: &vault-charm-channel '1.7/edge'
trilio-charm-channel: &trilio-charm-channel 'latest/stable'
triliovault-pkg-source: &triliovault-pkg-source 'deb [trusted=yes] https://apt.fury.io/triliodata-4-0/ /'
series: &series bionic
@ -109,55 +115,63 @@ relations:
- 'mysql:shared-db'
applications:
glance:
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
cinder:
charm: cs:~openstack-charmers-next/cinder
charm: ch:cinder
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: "None"
glance-api-version: 2
keystone:
charm: cs:~openstack-charmers-next/keystone
series: bionic
charm: ch:keystone
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
charm: ch:percona-cluster
channel: *mysql-charm-channel
num_units: 1
options:
innodb-buffer-pool-size: 256M
max-connections: 1000
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
charm: ch:neutron-api
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
flat-network-providers: physnet1
neutron-security-groups: true
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
charm: ch:neutron-gateway
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
bridge-mappings: physnet1:br-ex
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
charm: ch:neutron-openvswitch
channel: *openstack-charm-channel
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
charm: ch:nova-cloud-controller
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
network-manager: Neutron
debug: true
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
charm: ch:nova-compute
channel: *openstack-charm-channel
num_units: 3
constraints: mem=4G
options:
@ -172,35 +186,40 @@ applications:
# Allow for more retries when testing ontop of openstack
config-flags: block_device_allocate_retries=120
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
charm: ch:rabbitmq-server
channel: *rabbit-charm-channel
num_units: 1
trilio-data-mover:
charm: cs:~openstack-charmers-next/trilio-data-mover
charm: ch:openstack-charmers-trilio-data-mover
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-dm-api:
charm: ../../../trilio-dm-api
charm: ../../../trilio-dm-api.charm
num_units: 1
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-horizon-plugin:
charm: cs:~openstack-charmers-next/trilio-horizon-plugin
charm: ch:openstack-charmers-trilio-horizon-plugin
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-wlm:
charm: cs:~openstack-charmers-next/trilio-wlm
series: bionic
charm: ch:openstack-charmers-trilio-wlm
channel: *trilio-charm-channel
num_units: 1
options:
triliovault-pkg-source: *triliovault-pkg-source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
charm: ch:ceph-mon
channel: *ceph-charm-channel
num_units: 3
options:
source: *openstack-origin
expected-osd-count: 3
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
charm: ch:ceph-osd
channel: *ceph-charm-channel
constraints: mem=1G
num_units: 3
options:
@ -210,17 +229,20 @@ applications:
storage:
osd-devices: cinder,40G
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
charm: ch:cinder-ceph
channel: *openstack-charm-channel
vault:
charm: ch:vault
channel: *vault-charm-channel
num_units: 1
charm: cs:~openstack-charmers-next/vault
nfs-server-test-fixture:
charm: cs:~openstack-charmers-next/nfs-server-test-fixture
num_units: 1
storage:
share: cinder,40G
openstack-dashboard:
charm: cs:~openstack-charmers-next/openstack-dashboard
charm: ch:openstack-dashboard
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@ -1,5 +1,11 @@
variables:
openstack-origin: &openstack-origin 'cloud:bionic-stein'
openstack-charm-channel: &openstack-charm-channel 'stein/edge'
ceph-charm-channel: &ceph-charm-channel 'octopus/edge'
rabbit-charm-channel: &rabbit-charm-channel '3.8/edge'
mysql-charm-channel: &mysql-charm-channel '5.7/edge'
vault-charm-channel: &vault-charm-channel '1.7/edge'
trilio-charm-channel: &trilio-charm-channel 'latest/stable'
triliovault-pkg-source: &triliovault-pkg-source 'deb [trusted=yes] https://apt.fury.io/triliodata-4-1/ /'
series: &series bionic
@ -109,55 +115,63 @@ relations:
- 'mysql:shared-db'
applications:
glance:
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
cinder:
charm: cs:~openstack-charmers-next/cinder
charm: ch:cinder
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: "None"
glance-api-version: 2
keystone:
charm: cs:~openstack-charmers-next/keystone
series: bionic
charm: ch:keystone
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
charm: ch:percona-cluster
channel: *mysql-charm-channel
num_units: 1
options:
innodb-buffer-pool-size: 256M
max-connections: 1000
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
charm: ch:neutron-api
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
flat-network-providers: physnet1
neutron-security-groups: true
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
charm: ch:neutron-gateway
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
bridge-mappings: physnet1:br-ex
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
charm: ch:neutron-openvswitch
channel: *openstack-charm-channel
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
charm: ch:nova-cloud-controller
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
network-manager: Neutron
debug: true
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
charm: ch:nova-compute
channel: *openstack-charm-channel
num_units: 3
constraints: mem=4G
options:
@ -172,35 +186,40 @@ applications:
# Allow for more retries when testing ontop of openstack
config-flags: block_device_allocate_retries=120
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
charm: ch:rabbitmq-server
channel: *rabbit-charm-channel
num_units: 1
trilio-data-mover:
charm: cs:~openstack-charmers-next/trilio-data-mover
charm: ch:openstack-charmers-trilio-data-mover
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-dm-api:
charm: ../../../trilio-dm-api
charm: ../../../trilio-dm-api.charm
num_units: 1
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-horizon-plugin:
charm: cs:~openstack-charmers-next/trilio-horizon-plugin
charm: ch:openstack-charmers-trilio-horizon-plugin
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-wlm:
charm: cs:~openstack-charmers-next/trilio-wlm
series: bionic
charm: ch:openstack-charmers-trilio-wlm
channel: *trilio-charm-channel
num_units: 1
options:
triliovault-pkg-source: *triliovault-pkg-source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
charm: ch:ceph-mon
channel: *ceph-charm-channel
num_units: 3
options:
source: *openstack-origin
expected-osd-count: 3
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
charm: ch:ceph-osd
channel: *ceph-charm-channel
constraints: mem=1G
num_units: 3
options:
@ -210,17 +229,20 @@ applications:
storage:
osd-devices: cinder,40G
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
charm: ch:cinder-ceph
channel: *openstack-charm-channel
vault:
charm: ch:vault
channel: *vault-charm-channel
num_units: 1
charm: cs:~openstack-charmers-next/vault
nfs-server-test-fixture:
charm: cs:~openstack-charmers-next/nfs-server-test-fixture
num_units: 1
storage:
share: cinder,40G
openstack-dashboard:
charm: cs:~openstack-charmers-next/openstack-dashboard
charm: ch:openstack-dashboard
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@ -1,7 +1,14 @@
variables:
openstack-origin: &openstack-origin 'cloud:bionic-train'
openstack-charm-channel: &openstack-charm-channel 'train/edge'
ceph-charm-channel: &ceph-charm-channel 'octopus/edge'
rabbit-charm-channel: &rabbit-charm-channel '3.8/edge'
mysql-charm-channel: &mysql-charm-channel '5.7/edge'
vault-charm-channel: &vault-charm-channel '1.7/edge'
trilio-charm-channel: &trilio-charm-channel 'latest/stable'
triliovault-pkg-source: &triliovault-pkg-source 'deb [trusted=yes] https://apt.fury.io/triliodata-4-0/ /'
series: &series bionic
relations:
@ -117,55 +124,63 @@ relations:
- 'mysql:shared-db'
applications:
glance:
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
cinder:
charm: cs:~openstack-charmers-next/cinder
charm: ch:cinder
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: "None"
glance-api-version: 2
keystone:
charm: cs:~openstack-charmers-next/keystone
series: bionic
charm: ch:keystone
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
charm: ch:percona-cluster
channel: *mysql-charm-channel
num_units: 1
options:
innodb-buffer-pool-size: 256M
max-connections: 1000
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
charm: ch:neutron-api
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
flat-network-providers: physnet1
neutron-security-groups: true
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
charm: ch:neutron-gateway
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
bridge-mappings: physnet1:br-ex
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
charm: ch:neutron-openvswitch
channel: *openstack-charm-channel
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
charm: ch:nova-cloud-controller
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
network-manager: Neutron
debug: true
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
charm: ch:nova-compute
channel: *openstack-charm-channel
num_units: 3
constraints: mem=4G
options:
@ -180,37 +195,42 @@ applications:
# Allow for more retries when testing ontop of openstack
config-flags: block_device_allocate_retries=120
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
charm: ch:rabbitmq-server
channel: *rabbit-charm-channel
num_units: 1
trilio-data-mover:
charm: cs:~openstack-charmers-next/trilio-data-mover
charm: ch:openstack-charmers-trilio-data-mover
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-dm-api:
charm: ../../../trilio-dm-api
charm: ../../../trilio-dm-api.charm
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
trilio-horizon-plugin:
charm: cs:~openstack-charmers-next/trilio-horizon-plugin
charm: ch:openstack-charmers-trilio-horizon-plugin
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-wlm:
charm: cs:~openstack-charmers-next/trilio-wlm
series: bionic
charm: ch:openstack-charmers-trilio-wlm
channel: *trilio-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
charm: ch:ceph-mon
channel: *ceph-charm-channel
num_units: 3
options:
source: *openstack-origin
expected-osd-count: 3
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
charm: ch:ceph-osd
channel: *ceph-charm-channel
constraints: mem=1G
num_units: 3
options:
@ -220,12 +240,15 @@ applications:
storage:
osd-devices: cinder,40G
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
charm: ch:cinder-ceph
channel: *openstack-charm-channel
vault:
charm: ch:vault
channel: *vault-charm-channel
num_units: 1
charm: cs:~openstack-charmers-next/vault
placement:
charm: cs:~openstack-charmers-next/placement
charm: ch:placement
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
@ -235,7 +258,8 @@ applications:
storage:
share: cinder,40G
openstack-dashboard:
charm: cs:~openstack-charmers-next/openstack-dashboard
charm: ch:openstack-dashboard
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@ -1,7 +1,14 @@
variables:
openstack-origin: &openstack-origin 'cloud:bionic-train'
openstack-charm-channel: &openstack-charm-channel 'train/edge'
ceph-charm-channel: &ceph-charm-channel 'octopus/edge'
rabbit-charm-channel: &rabbit-charm-channel '3.8/edge'
mysql-charm-channel: &mysql-charm-channel '5.7/edge'
vault-charm-channel: &vault-charm-channel '1.7/edge'
trilio-charm-channel: &trilio-charm-channel 'latest/stable'
triliovault-pkg-source: &triliovault-pkg-source 'deb [trusted=yes] https://apt.fury.io/triliodata-4-1/ /'
series: &series bionic
relations:
@ -117,55 +124,63 @@ relations:
- 'mysql:shared-db'
applications:
glance:
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
cinder:
charm: cs:~openstack-charmers-next/cinder
charm: ch:cinder
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: "None"
glance-api-version: 2
keystone:
charm: cs:~openstack-charmers-next/keystone
series: bionic
charm: ch:keystone
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
charm: ch:percona-cluster
channel: *mysql-charm-channel
num_units: 1
options:
innodb-buffer-pool-size: 256M
max-connections: 1000
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
charm: ch:neutron-api
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
flat-network-providers: physnet1
neutron-security-groups: true
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
charm: ch:neutron-gateway
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
bridge-mappings: physnet1:br-ex
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
charm: ch:neutron-openvswitch
channel: *openstack-charm-channel
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
charm: ch:nova-cloud-controller
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
network-manager: Neutron
debug: true
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
charm: ch:nova-compute
channel: *openstack-charm-channel
num_units: 3
constraints: mem=4G
options:
@ -180,37 +195,42 @@ applications:
# Allow for more retries when testing ontop of openstack
config-flags: block_device_allocate_retries=120
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
charm: ch:rabbitmq-server
channel: *rabbit-charm-channel
num_units: 1
trilio-data-mover:
charm: cs:~openstack-charmers-next/trilio-data-mover
charm: ch:openstack-charmers-trilio-data-mover
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-dm-api:
charm: ../../../trilio-dm-api
charm: ../../../trilio-dm-api.charm
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
trilio-horizon-plugin:
charm: cs:~openstack-charmers-next/trilio-horizon-plugin
charm: ch:openstack-charmers-trilio-horizon-plugin
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-wlm:
charm: cs:~openstack-charmers-next/trilio-wlm
series: bionic
charm: ch:openstack-charmers-trilio-wlm
channel: *trilio-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
charm: ch:ceph-mon
channel: *ceph-charm-channel
num_units: 3
options:
source: *openstack-origin
expected-osd-count: 3
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
charm: ch:ceph-osd
channel: *ceph-charm-channel
constraints: mem=1G
num_units: 3
options:
@ -220,12 +240,15 @@ applications:
storage:
osd-devices: cinder,40G
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
charm: ch:cinder-ceph
channel: *openstack-charm-channel
vault:
charm: ch:vault
channel: *vault-charm-channel
num_units: 1
charm: cs:~openstack-charmers-next/vault
placement:
charm: cs:~openstack-charmers-next/placement
charm: ch:placement
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
@ -235,7 +258,8 @@ applications:
storage:
share: cinder,40G
openstack-dashboard:
charm: cs:~openstack-charmers-next/openstack-dashboard
charm: ch:openstack-dashboard
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@ -1,242 +0,0 @@
variables:
openstack-origin: &openstack-origin 'cloud:bionic-ussuri'
triliovault-pkg-source: &triliovault-pkg-source 'deb [trusted=yes] https://apt.fury.io/triliodata-4-0/ /'
series: &series bionic
relations:
- - 'nova-compute:amqp'
- 'rabbitmq-server:amqp'
- - 'neutron-gateway:amqp'
- 'rabbitmq-server:amqp'
- - 'neutron-gateway:amqp-nova'
- 'rabbitmq-server:amqp'
- - 'keystone:shared-db'
- 'mysql:shared-db'
- - 'cinder:identity-service'
- 'keystone:identity-service'
- - 'nova-cloud-controller:identity-service'
- 'keystone:identity-service'
- - 'glance:identity-service'
- 'keystone:identity-service'
- - 'neutron-api:identity-service'
- 'keystone:identity-service'
- - 'neutron-openvswitch:neutron-plugin-api'
- 'neutron-api:neutron-plugin-api'
- - 'cinder:shared-db'
- 'mysql:shared-db'
- - 'neutron-api:shared-db'
- 'mysql:shared-db'
- - 'cinder:amqp'
- 'rabbitmq-server:amqp'
- - 'neutron-api:amqp'
- 'rabbitmq-server:amqp'
- - 'neutron-gateway:neutron-plugin-api'
- 'neutron-api:neutron-plugin-api'
- - 'glance:shared-db'
- 'mysql:shared-db'
- - 'glance:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-cloud-controller:image-service'
- 'glance:image-service'
- - 'nova-compute:image-service'
- 'glance:image-service'
- - 'nova-cloud-controller:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-cloud-controller:quantum-network-service'
- 'neutron-gateway:quantum-network-service'
- - 'nova-compute:neutron-plugin'
- 'neutron-openvswitch:neutron-plugin'
- - 'neutron-openvswitch:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-cloud-controller:shared-db'
- 'mysql:shared-db'
- - 'nova-cloud-controller:neutron-api'
- 'neutron-api:neutron-api'
- - 'nova-cloud-controller:cloud-compute'
- 'nova-compute:cloud-compute'
- - 'trilio-wlm:shared-db'
- 'mysql:shared-db'
- - 'trilio-wlm:amqp'
- 'rabbitmq-server:amqp'
- - 'trilio-wlm:identity-service'
- 'keystone:identity-service'
- - 'glance:ceph'
- 'ceph-mon:client'
- - 'ceph-mon:osd'
- 'ceph-osd:mon'
- - 'ceph-osd:secrets-storage'
- 'vault:secrets'
- - 'cinder:storage-backend'
- 'cinder-ceph:storage-backend'
- - 'cinder-ceph:ceph'
- 'ceph-mon:client'
- - 'cinder-ceph:ceph-access'
- 'nova-compute:ceph-access'
- - 'vault:shared-db'
- 'mysql:shared-db'
- - 'vault:certificates'
- 'keystone:certificates'
- - 'vault:certificates'
- 'neutron-api:certificates'
- - 'vault:certificates'
- 'cinder:certificates'
- - 'vault:certificates'
- 'glance:certificates'
- - 'vault:certificates'
- 'nova-cloud-controller:certificates'
- - 'placement:shared-db'
- 'mysql:shared-db'
- - 'placement:identity-service'
- 'keystone:identity-service'
- - 'placement:placement'
- 'nova-cloud-controller:placement'
- - 'vault:certificates'
- 'placement:certificates'
- - 'vault:certificates'
- 'trilio-wlm:certificates'
- - 'trilio-data-mover:amqp'
- 'rabbitmq-server:amqp'
- - 'trilio-data-mover:juju-info'
- 'nova-compute:juju-info'
- - 'trilio-dm-api:identity-service'
- 'keystone:identity-service'
- - 'trilio-dm-api:shared-db'
- 'mysql:shared-db'
- - 'trilio-dm-api:amqp'
- 'rabbitmq-server:amqp'
- - 'trilio-dm-api:certificates'
- 'vault:certificates'
- - 'trilio-horizon-plugin:dashboard-plugin'
- 'openstack-dashboard:dashboard-plugin'
- - 'openstack-dashboard:identity-service'
- 'keystone:identity-service'
- - 'trilio-data-mover:ceph'
- 'ceph-mon:client'
- - 'trilio-data-mover:shared-db'
- 'mysql:shared-db'
applications:
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: *openstack-origin
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: "None"
glance-api-version: 2
keystone:
charm: cs:~openstack-charmers-next/keystone
series: bionic
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
innodb-buffer-pool-size: 256M
max-connections: 1000
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
num_units: 1
options:
openstack-origin: *openstack-origin
flat-network-providers: physnet1
neutron-security-groups: true
manage-neutron-plugin-legacy-mode: True
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
num_units: 1
options:
openstack-origin: *openstack-origin
bridge-mappings: physnet1:br-ex
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
network-manager: Neutron
debug: true
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
num_units: 3
constraints: mem=4G
options:
openstack-origin: *openstack-origin
config-flags: default_ephemeral_format=ext4
enable-live-migration: true
enable-resize: true
migration-auth-type: ssh
debug: true
cpu-model: kvm64
cpu-mode: custom
# Allow for more retries when testing ontop of openstack
config-flags: block_device_allocate_retries=120
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
trilio-data-mover:
charm: cs:~openstack-charmers-next/trilio-data-mover
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-dm-api:
charm: ../../../trilio-dm-api
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
trilio-horizon-plugin:
charm: cs:~openstack-charmers-next/trilio-horizon-plugin
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-wlm:
charm: cs:~openstack-charmers-next/trilio-wlm
series: bionic
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
source: *openstack-origin
expected-osd-count: 3
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
constraints: mem=1G
num_units: 3
options:
source: *openstack-origin
osd-encrypt-keymanager: vault
osd-encrypt: True
storage:
osd-devices: cinder,40G
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
vault:
num_units: 1
charm: cs:~openstack-charmers-next/vault
placement:
charm: cs:~openstack-charmers-next/placement
num_units: 1
options:
openstack-origin: *openstack-origin
nfs-server-test-fixture:
charm: cs:~openstack-charmers-next/nfs-server-test-fixture
num_units: 1
storage:
share: cinder,40G
openstack-dashboard:
charm: cs:~openstack-charmers-next/openstack-dashboard
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@ -1,7 +1,14 @@
variables:
openstack-origin: &openstack-origin 'cloud:bionic-ussuri'
openstack-charm-channel: &openstack-charm-channel 'ussuri/edge'
ceph-charm-channel: &ceph-charm-channel 'octopus/edge'
rabbit-charm-channel: &rabbit-charm-channel '3.8/edge'
mysql-charm-channel: &mysql-charm-channel '5.7/edge'
vault-charm-channel: &vault-charm-channel '1.7/edge'
trilio-charm-channel: &trilio-charm-channel 'latest/stable'
triliovault-pkg-source: &triliovault-pkg-source 'deb [trusted=yes] https://apt.fury.io/triliodata-4-1/ /'
series: &series bionic
relations:
@ -117,32 +124,36 @@ relations:
- 'mysql:shared-db'
applications:
glance:
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
cinder:
charm: cs:~openstack-charmers-next/cinder
charm: ch:cinder
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: "None"
glance-api-version: 2
keystone:
charm: cs:~openstack-charmers-next/keystone
series: bionic
charm: ch:keystone
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
charm: ch:percona-cluster
channel: *mysql-charm-channel
num_units: 1
options:
innodb-buffer-pool-size: 256M
max-connections: 1000
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
charm: ch:neutron-api
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
@ -150,23 +161,27 @@ applications:
neutron-security-groups: true
manage-neutron-plugin-legacy-mode: True
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
charm: ch:neutron-gateway
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
bridge-mappings: physnet1:br-ex
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
charm: ch:neutron-openvswitch
channel: *openstack-charm-channel
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
charm: ch:nova-cloud-controller
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
network-manager: Neutron
debug: true
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
charm: ch:nova-compute
channel: *openstack-charm-channel
num_units: 3
constraints: mem=4G
options:
@ -181,37 +196,42 @@ applications:
# Allow for more retries when testing ontop of openstack
config-flags: block_device_allocate_retries=120
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
charm: ch:rabbitmq-server
channel: *rabbit-charm-channel
num_units: 1
trilio-data-mover:
charm: cs:~openstack-charmers-next/trilio-data-mover
charm: ch:openstack-charmers-trilio-data-mover
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-dm-api:
charm: ../../../trilio-dm-api
charm: ../../../trilio-dm-api.charm
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
trilio-horizon-plugin:
charm: cs:~openstack-charmers-next/trilio-horizon-plugin
charm: ch:openstack-charmers-trilio-horizon-plugin
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-wlm:
charm: cs:~openstack-charmers-next/trilio-wlm
series: bionic
charm: ch:openstack-charmers-trilio-wlm
channel: *trilio-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
charm: ch:ceph-mon
channel: *ceph-charm-channel
num_units: 3
options:
source: *openstack-origin
expected-osd-count: 3
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
charm: ch:ceph-osd
channel: *ceph-charm-channel
constraints: mem=1G
num_units: 3
options:
@ -221,12 +241,15 @@ applications:
storage:
osd-devices: cinder,40G
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
charm: ch:cinder-ceph
channel: *openstack-charm-channel
vault:
charm: ch:vault
channel: *vault-charm-channel
num_units: 1
charm: cs:~openstack-charmers-next/vault
placement:
charm: cs:~openstack-charmers-next/placement
charm: ch:placement
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
@ -236,7 +259,8 @@ applications:
storage:
share: cinder,40G
openstack-dashboard:
charm: cs:~openstack-charmers-next/openstack-dashboard
charm: ch:openstack-dashboard
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@ -1,5 +1,11 @@
variables:
openstack-origin: &openstack-origin distro
openstack-charm-channel: &openstack-charm-channel 'ussuri/edge'
ceph-charm-channel: &ceph-charm-channel 'octopus/edge'
rabbit-charm-channel: &rabbit-charm-channel '3.9/edge'
mysql-charm-channel: &mysql-charm-channel '8.0/edge'
vault-charm-channel: &vault-charm-channel '1.7/edge'
trilio-charm-channel: &trilio-charm-channel 'latest/stable'
triliovault-pkg-source: &triliovault-pkg-source 'deb [trusted=yes] https://apt.fury.io/triliodata-4-1/ /'
series: &series focal
@ -143,50 +149,65 @@ relations:
- 'mysql-innodb-cluster:db-router'
applications:
keystone-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
cinder-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
neutron-api-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
glance-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
nova-cloud-controller-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
trilio-dm-api-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
trilio-dm-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
trilio-wlm-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
vault-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
placement-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
charm: ch:mysql-router
channel: *mysql-charm-channel
mysql-innodb-cluster:
charm: cs:~openstack-charmers-next/mysql-innodb-cluster
charm: ch:mysql-innodb-cluster
channel: *mysql-charm-channel
num_units: 3
options:
source: *openstack-origin
glance:
charm: cs:~openstack-charmers-next/glance
charm: ch:glance
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
cinder:
charm: cs:~openstack-charmers-next/cinder
charm: ch:cinder
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: "None"
glance-api-version: 2
keystone:
charm: cs:~openstack-charmers-next/keystone
charm: ch:keystone
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
charm: ch:neutron-api
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
@ -194,25 +215,29 @@ applications:
neutron-security-groups: true
manage-neutron-plugin-legacy-mode: True
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
charm: ch:neutron-gateway
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
bridge-mappings: physnet1:br-ex
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
charm: ch:neutron-openvswitch
channel: *openstack-charm-channel
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
charm: ch:nova-cloud-controller
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
network-manager: Neutron
debug: true
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
charm: ch:nova-compute
channel: *openstack-charm-channel
num_units: 3
consussurits: mem=4G
constraints: mem=4G
options:
openstack-origin: *openstack-origin
config-flags: default_ephemeral_format=ext4
@ -225,37 +250,43 @@ applications:
# Allow for more retries when testing ontop of openstack
config-flags: block_device_allocate_retries=120
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
charm: ch:rabbitmq-server
channel: *rabbit-charm-channel
num_units: 1
trilio-data-mover:
charm: cs:~openstack-charmers-next/trilio-data-mover
charm: ch:openstack-charmers-trilio-data-mover
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-dm-api:
charm: ../../../trilio-dm-api
charm: ../../../trilio-dm-api.charm
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
trilio-horizon-plugin:
charm: cs:~openstack-charmers-next/trilio-horizon-plugin
charm: ch:openstack-charmers-trilio-horizon-plugin
channel: *trilio-charm-channel
options:
triliovault-pkg-source: *triliovault-pkg-source
trilio-wlm:
charm: cs:~openstack-charmers-next/trilio-wlm
charm: ch:openstack-charmers-trilio-wlm
channel: *trilio-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
triliovault-pkg-source: *triliovault-pkg-source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
charm: ch:ceph-mon
channel: *ceph-charm-channel
num_units: 3
options:
source: *openstack-origin
expected-osd-count: 3
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
consussurits: mem=1G
charm: ch:ceph-osd
channel: *ceph-charm-channel
constraints: mem=1G
num_units: 3
options:
source: *openstack-origin
@ -264,12 +295,15 @@ applications:
storage:
osd-devices: cinder,40G
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
charm: ch:cinder-ceph
channel: *openstack-charm-channel
vault:
charm: ch:vault
channel: *vault-charm-channel
num_units: 1
charm: cs:~openstack-charmers-next/vault
placement:
charm: cs:~openstack-charmers-next/placement
charm: ch:placement
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin
@ -279,7 +313,8 @@ applications:
storage:
share: cinder,40G
openstack-dashboard:
charm: cs:~openstack-charmers-next/openstack-dashboard
charm: ch:openstack-dashboard
channel: *openstack-charm-channel
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@ -6,6 +6,7 @@ configure:
- zaza.openstack.charm_tests.trilio.setup.python2_workaround
- zaza.openstack.charm_tests.trilio.setup.basic_setup
- zaza.openstack.charm_tests.vault.setup.auto_initialize
- zaza.openstack.charm_tests.trilio.setup.restart_tvault_contego
- zaza.openstack.charm_tests.glance.setup.add_cirros_image
- zaza.openstack.charm_tests.glance.setup.add_lts_image
- zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network
@ -13,12 +14,14 @@ configure:
- zaza.openstack.charm_tests.nova.setup.manage_ssh_key
- zaza.openstack.charm_tests.trilio.setup.basic_setup
- zaza.openstack.charm_tests.vault.setup.auto_initialize
- zaza.openstack.charm_tests.trilio.setup.restart_tvault_contego
- zaza.openstack.charm_tests.glance.setup.add_cirros_image
- zaza.openstack.charm_tests.glance.setup.add_lts_image
- zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network
- zaza.openstack.charm_tests.nova.setup.create_flavors
- zaza.openstack.charm_tests.nova.setup.manage_ssh_key
gate_bundles:
- focal-ussuri-41
- bionic-stein-40
- bionic-stein-41
- bionic-train-40
@ -46,10 +49,10 @@ target_deploy_status:
workload-status-message: "Ceph broker request incomplete"
trilio-wlm:
workload-status: blocked
workload-status-message: "nfs-shares configuration not set"
workload-status-message-regex: "^.*configuration not set|Unit is ready"
trilio-data-mover:
workload-status: blocked
workload-status-message: "nfs-shares configuration not set"
workload-status-message-regex: "^.*configuration not set|Unit is ready|Services not running that should be: tvault-contego"
glance:
workload-status: waiting
workload-status-message: "Incomplete relations: storage-backend"

View File

@ -1,4 +1,24 @@
# Temporary pins to reflects existing charm builds. Need updating when
# channels and tracks are setup.
# flit_core tactival workaround to ensure the wheel is not present irrespective of
# the build env as the flit_core wheel causes a pip failure.
flit_core;python_version >= '4.0'
pyaml==20.4.0
PyYAML==5.2
setuptools==41.6.0
netifaces==0.11.0
six==1.16.0
pbr==5.6.0
psutil==5.8.0
dnspython==1.16.0
pip==18.1
wheel==0.33.6
Tempita==0.4
Jinja2==2.10.1
charms.reactive==1.4.1
netaddr==0.7.19
setuptools_scm==1.17.0
MarkupSafe==1.1.1
git+https://github.com/juju/charm-helpers.git@d404354d1d350e66dcb43bdb5a72c504583497f9#egg=charmhelpers
git+https://opendev.org/openstack/charms.openstack.git@6c8eb01162edef5e3f8e3af6cb90905e8b2a3065#egg=charms.openstack
git+https://opendev.org/openstack/charms.openstack.git#egg=charms.openstack
git+https://github.com/juju/charm-helpers.git#egg=charmhelpers

View File

@ -51,3 +51,4 @@ pbr==5.6.0 # vault
cryptography<3.4 # vault, keystone-saml-mellon
lxml # keystone-saml-mellon
hvac # vault, barbican-vault
psutil # cinder-lvm

29
tox.ini
View File

@ -34,14 +34,27 @@ setenv = VIRTUAL_ENV={envdir}
LAYER_PATH={toxinidir}/layers
INTERFACE_PATH={toxinidir}/interfaces
JUJU_REPOSITORY={toxinidir}/build
passenv = http_proxy https_proxy INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY
passenv = no_proxy http_proxy https_proxy INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY
install_command =
{toxinidir}/pip.sh install {opts} {packages}
allowlist_externals =
charmcraft
bash
tox
rename.sh
deps =
-r{toxinidir}/requirements.txt
[testenv:build]
basepython = python3
deps = -r{toxinidir}/build-requirements.txt
commands =
charmcraft clean
charmcraft -v build
{toxinidir}/rename.sh
[testenv:build-reactive]
basepython = python3
commands =
charm-build --log-level DEBUG --use-lock-file-branches -o {toxinidir}/build/builds src {posargs}
@ -83,9 +96,21 @@ commands = stestr run --slowest {posargs}
[testenv:pep8]
basepython = python3
deps = flake8==3.9.2
charm-tools==2.8.3
git+https://github.com/juju/charm-tools.git
commands = flake8 {posargs} src unit_tests
[testenv:func-target]
# Hack to get functional tests working in the charmcraft
# world. We should fix this.
basepython = python3
passenv = HOME TERM CS_* OS_* TEST_*
deps = -r{toxinidir}/src/test-requirements.txt
changedir = {toxinidir}/src
commands =
bash -c "if [ ! -f ../*.charm ]; then echo 'Charm does not exist. Run tox -e build'; exit 1; fi"
tox --version
tox -e func-target {posargs}
[testenv:cover]
# Technique based heavily upon
# https://github.com/openstack/nova/blob/master/tox.ini