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.

Change-Id: I6be651732c1778e29c7cbe2bf767c60ceec356eb
This commit is contained in:
Liam Young 2022-06-09 11:35:49 +00:00
parent af6a5b53d0
commit 3fdc50faaa
19 changed files with 542 additions and 235 deletions

19
.gitignore vendored
View File

@ -1,8 +1,13 @@
build/ bin
.local/ .coverage
.testrepository/ .testrepository
.tox/ .tox
func-results.json *.sw[nop]
test-charm/ *.pyc
**/__pycache__ .unit-state.db
.stestr .stestr
__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

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

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 # 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!) # 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.git#egg=zaza
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,6 +4,7 @@ tests:
configure: configure:
- zaza.openstack.charm_tests.trilio.setup.basic_setup - zaza.openstack.charm_tests.trilio.setup.basic_setup
- zaza.openstack.charm_tests.vault.setup.auto_initialize - 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_cirros_image
- zaza.openstack.charm_tests.glance.setup.add_lts_image - zaza.openstack.charm_tests.glance.setup.add_lts_image
- zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network - zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network
@ -39,6 +40,7 @@ target_deploy_status:
trilio-data-mover: trilio-data-mover:
workload-status: blocked workload-status: blocked
workload-status-message: "nfs-shares configuration not set" 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: glance:
workload-status: waiting workload-status: waiting
workload-status-message: "Incomplete relations: storage-backend" 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 cryptography<3.4 # vault, keystone-saml-mellon
lxml # keystone-saml-mellon lxml # keystone-saml-mellon
hvac # vault, barbican-vault hvac # vault, barbican-vault
psutil # cinder-lvm

29
tox.ini
View File

@ -34,14 +34,27 @@ setenv = VIRTUAL_ENV={envdir}
LAYER_PATH={toxinidir}/layers LAYER_PATH={toxinidir}/layers
INTERFACE_PATH={toxinidir}/interfaces INTERFACE_PATH={toxinidir}/interfaces
JUJU_REPOSITORY={toxinidir}/build 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 = install_command =
{toxinidir}/pip.sh install {opts} {packages} {toxinidir}/pip.sh install {opts} {packages}
allowlist_externals =
charmcraft
bash
tox
rename.sh
deps = deps =
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
[testenv:build] [testenv:build]
basepython = python3 basepython = python3
deps = -r{toxinidir}/build-requirements.txt
commands =
charmcraft clean
charmcraft -v build
{toxinidir}/rename.sh
[testenv:build-reactive]
basepython = python3
commands = commands =
charm-build --log-level DEBUG --use-lock-file-branches -o {toxinidir}/build/builds src {posargs} 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] [testenv:pep8]
basepython = python3 basepython = python3
deps = flake8==3.9.2 deps = flake8==3.9.2
charm-tools==2.8.3 git+https://github.com/juju/charm-tools.git
commands = flake8 {posargs} src unit_tests 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] [testenv:cover]
# Technique based heavily upon # Technique based heavily upon
# https://github.com/openstack/nova/blob/master/tox.ini # https://github.com/openstack/nova/blob/master/tox.ini