Add functional tests, fixes and pep8
* Add functional tests * Explicitly set python 3 in the ironic API charm class * fix lint errors Change-Id: Ida24b071b2dee3b9205cccfc74a0e654a3c0b13f Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/450 Co-authored-by: Aurelien Lourot <aurelien.lourot@canonical.com>
This commit is contained in:
parent
123dabf212
commit
494ef4c91c
4
.gitreview
Normal file
4
.gitreview
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[gerrit]
|
||||||
|
host=review.opendev.org
|
||||||
|
port=29418
|
||||||
|
project=openstack/charm-ironic-api.git
|
4
.zuul.yaml
Normal file
4
.zuul.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
- project:
|
||||||
|
templates:
|
||||||
|
- openstack-python3-charm-jobs
|
||||||
|
- openstack-cover-jobs
|
@ -31,6 +31,7 @@ charms_openstack.charm.use_defaults('charm.default-select-release')
|
|||||||
def deployment_interface_ip(cls):
|
def deployment_interface_ip(cls):
|
||||||
return ch_ip.get_relation_ip("deployment")
|
return ch_ip.get_relation_ip("deployment")
|
||||||
|
|
||||||
|
|
||||||
@adapters.config_property
|
@adapters.config_property
|
||||||
def internal_interface_ip(cls):
|
def internal_interface_ip(cls):
|
||||||
return ch_ip.get_relation_ip("internal")
|
return ch_ip.get_relation_ip("internal")
|
||||||
@ -41,6 +42,7 @@ class IronicAPICharm(charms_openstack.charm.HAOpenStackCharm):
|
|||||||
abstract_class = False
|
abstract_class = False
|
||||||
release = 'train'
|
release = 'train'
|
||||||
name = 'ironic'
|
name = 'ironic'
|
||||||
|
python_version = 3
|
||||||
packages = PACKAGES
|
packages = PACKAGES
|
||||||
api_ports = {
|
api_ports = {
|
||||||
'ironic-api': {
|
'ironic-api': {
|
||||||
|
@ -6,8 +6,6 @@ import charmhelpers.core.hookenv as hookenv
|
|||||||
import charms_openstack.charm as charm
|
import charms_openstack.charm as charm
|
||||||
import charm.openstack.ironic.ironic as ironic # noqa
|
import charm.openstack.ironic.ironic as ironic # noqa
|
||||||
|
|
||||||
from charmhelpers.core.templating import render
|
|
||||||
|
|
||||||
|
|
||||||
# Use the charms.openstack defaults for common states and hooks
|
# Use the charms.openstack defaults for common states and hooks
|
||||||
charm.use_defaults(
|
charm.use_defaults(
|
||||||
@ -18,7 +16,8 @@ charm.use_defaults(
|
|||||||
'config.changed',
|
'config.changed',
|
||||||
'update-status',
|
'update-status',
|
||||||
'upgrade-charm',
|
'upgrade-charm',
|
||||||
'certificates.available')
|
'certificates.available',
|
||||||
|
'cluster.available')
|
||||||
|
|
||||||
|
|
||||||
@reactive.when('shared-db.available')
|
@reactive.when('shared-db.available')
|
||||||
@ -64,6 +63,7 @@ def run_db_migration():
|
|||||||
|
|
||||||
|
|
||||||
@reactive.when('ha.connected')
|
@reactive.when('ha.connected')
|
||||||
|
@reactive.when_not('ha.available')
|
||||||
def cluster_connected(hacluster):
|
def cluster_connected(hacluster):
|
||||||
with charm.provide_charm_instance() as ironic_charm:
|
with charm.provide_charm_instance() as ironic_charm:
|
||||||
ironic_charm.configure_ha_resources(hacluster)
|
ironic_charm.configure_ha_resources(hacluster)
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
[DEFAULT]
|
[DEFAULT]
|
||||||
|
debug = {{ options.debug }}
|
||||||
|
verbose = {{ options.verbose }}
|
||||||
auth_strategy=keystone
|
auth_strategy=keystone
|
||||||
my_ip = {{ options.internal_interface_ip }}
|
my_ip = {{ options.internal_interface_ip }}
|
||||||
|
|
||||||
|
249
src/tests/bundles/bionic-train.yaml
Normal file
249
src/tests/bundles/bionic-train.yaml
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
options:
|
||||||
|
source: &source cloud:bionic-train/proposed
|
||||||
|
series: bionic
|
||||||
|
relations:
|
||||||
|
- - nova-ironic
|
||||||
|
- ironic-api
|
||||||
|
- - ironic-conductor
|
||||||
|
- ironic-api
|
||||||
|
- - neutron-ironic-agent:identity-credentials
|
||||||
|
- keystone
|
||||||
|
- - neutron-ironic-agent
|
||||||
|
- neutron-api
|
||||||
|
- - neutron-openvswitch
|
||||||
|
- neutron-api
|
||||||
|
- - ironic-api:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - ironic-api
|
||||||
|
- keystone
|
||||||
|
- - ironic-api:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - ironic-conductor:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - ironic-conductor
|
||||||
|
- keystone
|
||||||
|
- - ironic-conductor:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - nova-ironic:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-ironic
|
||||||
|
- glance
|
||||||
|
- - nova-ironic
|
||||||
|
- keystone
|
||||||
|
- - nova-ironic
|
||||||
|
- nova-cloud-controller
|
||||||
|
- - neutron-gateway:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - keystone:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - nova-cloud-controller:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - glance:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - neutron-api:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - neutron-api:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - 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-cloud-controller:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-cloud-controller:quantum-network-service
|
||||||
|
- neutron-gateway:quantum-network-service
|
||||||
|
- - nova-cloud-controller:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - nova-cloud-controller:neutron-api
|
||||||
|
- neutron-api:neutron-api
|
||||||
|
- - cinder:image-service
|
||||||
|
- glance:image-service
|
||||||
|
- - cinder:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - cinder:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - cinder:cinder-volume-service
|
||||||
|
- nova-cloud-controller:cinder-volume-service
|
||||||
|
- - cinder:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - placement
|
||||||
|
- mysql
|
||||||
|
- - placement
|
||||||
|
- keystone
|
||||||
|
- - placement
|
||||||
|
- nova-cloud-controller
|
||||||
|
- - ceph-mon:client
|
||||||
|
- nova-ironic:ceph
|
||||||
|
- - ceph-mon:client
|
||||||
|
- glance:ceph
|
||||||
|
- - ceph-radosgw:mon
|
||||||
|
- ceph-mon:radosgw
|
||||||
|
- - ceph-radosgw:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - ceph-osd:mon
|
||||||
|
- ceph-mon:osd
|
||||||
|
- - ceph-radosgw:object-store
|
||||||
|
- glance
|
||||||
|
- - vault:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - vault:certificates
|
||||||
|
- ceph-radosgw
|
||||||
|
- - vault:certificates
|
||||||
|
- cinder
|
||||||
|
- - vault:certificates
|
||||||
|
- glance:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- keystone:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- neutron-api:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- nova-cloud-controller:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- placement:certificates
|
||||||
|
- - vault
|
||||||
|
- ironic-conductor
|
||||||
|
- - vault:certificates
|
||||||
|
- ironic-api:certificates
|
||||||
|
- - ironic-api
|
||||||
|
- hacluster-ironic
|
||||||
|
services:
|
||||||
|
cinder:
|
||||||
|
charm: cs:~openstack-charmers-next/cinder
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
block-device: vdb
|
||||||
|
glance-api-version: 2
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
storage:
|
||||||
|
block-devices: cinder,50G
|
||||||
|
ceph-radosgw:
|
||||||
|
charm: cs:~openstack-charmers-next/ceph-radosgw
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
namespace-tenants: True
|
||||||
|
ceph-mon:
|
||||||
|
charm: cs:ceph-mon
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
expected-osd-count: 3
|
||||||
|
source: *source
|
||||||
|
ceph-osd:
|
||||||
|
charm: cs:ceph-osd
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
storage:
|
||||||
|
osd-devices: 'cinder,30G'
|
||||||
|
glance:
|
||||||
|
charm: cs:~openstack-charmers-next/glance
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
keystone:
|
||||||
|
charm: cs:~openstack-charmers-next/keystone
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
mysql:
|
||||||
|
charm: cs:percona-cluster
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=4G
|
||||||
|
options:
|
||||||
|
innodb-buffer-pool-size: 256M
|
||||||
|
max-connections: 1000
|
||||||
|
performance-schema: true
|
||||||
|
neutron-api:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-api
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
flat-network-providers: "physnet1"
|
||||||
|
neutron-security-groups: true
|
||||||
|
openstack-origin: *source
|
||||||
|
manage-neutron-plugin-legacy-mode: false
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
neutron-gateway:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-gateway
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
enable-isolated-metadata: true
|
||||||
|
enable-metadata-network: true
|
||||||
|
bridge-mappings: physnet1:br-ex
|
||||||
|
nova-cloud-controller:
|
||||||
|
charm: cs:~openstack-charmers-next/nova-cloud-controller
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
network-manager: Neutron
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
nova-ironic:
|
||||||
|
charm: cs:~openstack-charmers-next/nova-compute
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
enable-live-migration: false
|
||||||
|
enable-resize: false
|
||||||
|
openstack-origin: *source
|
||||||
|
virt-type: ironic
|
||||||
|
placement:
|
||||||
|
charm: cs:placement
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
rabbitmq-server:
|
||||||
|
charm: cs:rabbitmq-server
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
hacluster-ironic:
|
||||||
|
charm: cs:~openstack-charmers-next/hacluster
|
||||||
|
num_units: 0
|
||||||
|
ironic-api:
|
||||||
|
charm: ../../../ironic-api
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
ironic-conductor:
|
||||||
|
charm: cs:~openstack-charmers-next/ironic-conductor
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
max-tftp-block-size: 1418
|
||||||
|
disable-secure-erase: true
|
||||||
|
use-ipxe: true
|
||||||
|
enabled-network-interfaces: "flat, noop"
|
||||||
|
neutron-openvswitch:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-openvswitch
|
||||||
|
num_units: 0
|
||||||
|
options:
|
||||||
|
bridge-mappings: physnet1:br-ex
|
||||||
|
neutron-ironic-agent:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-api-plugin-ironic
|
||||||
|
num_units: 0
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
vault:
|
||||||
|
charm: cs:~openstack-charmers-next/vault
|
||||||
|
num_units: 1
|
249
src/tests/bundles/bionic-ussuri.yaml
Normal file
249
src/tests/bundles/bionic-ussuri.yaml
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
options:
|
||||||
|
source: &source cloud:bionic-ussuri/proposed
|
||||||
|
series: bionic
|
||||||
|
relations:
|
||||||
|
- - nova-ironic
|
||||||
|
- ironic-api
|
||||||
|
- - ironic-conductor
|
||||||
|
- ironic-api
|
||||||
|
- - neutron-ironic-agent:identity-credentials
|
||||||
|
- keystone
|
||||||
|
- - neutron-ironic-agent
|
||||||
|
- neutron-api
|
||||||
|
- - neutron-openvswitch
|
||||||
|
- neutron-api
|
||||||
|
- - ironic-api:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - ironic-api
|
||||||
|
- keystone
|
||||||
|
- - ironic-api:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - ironic-conductor:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - ironic-conductor
|
||||||
|
- keystone
|
||||||
|
- - ironic-conductor:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - nova-ironic:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-ironic
|
||||||
|
- glance
|
||||||
|
- - nova-ironic
|
||||||
|
- keystone
|
||||||
|
- - nova-ironic
|
||||||
|
- nova-cloud-controller
|
||||||
|
- - neutron-gateway:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - keystone:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - nova-cloud-controller:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - glance:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - neutron-api:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - neutron-api:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - 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-cloud-controller:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-cloud-controller:quantum-network-service
|
||||||
|
- neutron-gateway:quantum-network-service
|
||||||
|
- - nova-cloud-controller:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - nova-cloud-controller:neutron-api
|
||||||
|
- neutron-api:neutron-api
|
||||||
|
- - cinder:image-service
|
||||||
|
- glance:image-service
|
||||||
|
- - cinder:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - cinder:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - cinder:cinder-volume-service
|
||||||
|
- nova-cloud-controller:cinder-volume-service
|
||||||
|
- - cinder:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - placement
|
||||||
|
- mysql
|
||||||
|
- - placement
|
||||||
|
- keystone
|
||||||
|
- - placement
|
||||||
|
- nova-cloud-controller
|
||||||
|
- - ceph-mon:client
|
||||||
|
- nova-ironic:ceph
|
||||||
|
- - ceph-mon:client
|
||||||
|
- glance:ceph
|
||||||
|
- - ceph-radosgw:mon
|
||||||
|
- ceph-mon:radosgw
|
||||||
|
- - ceph-radosgw:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - ceph-osd:mon
|
||||||
|
- ceph-mon:osd
|
||||||
|
- - ceph-radosgw:object-store
|
||||||
|
- glance
|
||||||
|
- - vault:shared-db
|
||||||
|
- mysql:shared-db
|
||||||
|
- - vault:certificates
|
||||||
|
- ceph-radosgw
|
||||||
|
- - vault:certificates
|
||||||
|
- cinder
|
||||||
|
- - vault:certificates
|
||||||
|
- glance:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- keystone:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- neutron-api:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- nova-cloud-controller:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- placement:certificates
|
||||||
|
- - vault
|
||||||
|
- ironic-conductor
|
||||||
|
- - vault:certificates
|
||||||
|
- ironic-api:certificates
|
||||||
|
- - ironic-api
|
||||||
|
- hacluster-ironic
|
||||||
|
services:
|
||||||
|
cinder:
|
||||||
|
charm: cs:~openstack-charmers-next/cinder
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
block-device: vdb
|
||||||
|
glance-api-version: 2
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
storage:
|
||||||
|
block-devices: cinder,50G
|
||||||
|
ceph-radosgw:
|
||||||
|
charm: cs:~openstack-charmers-next/ceph-radosgw
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
namespace-tenants: True
|
||||||
|
ceph-mon:
|
||||||
|
charm: cs:ceph-mon
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
expected-osd-count: 3
|
||||||
|
source: *source
|
||||||
|
ceph-osd:
|
||||||
|
charm: cs:ceph-osd
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
storage:
|
||||||
|
osd-devices: 'cinder,30G'
|
||||||
|
glance:
|
||||||
|
charm: cs:~openstack-charmers-next/glance
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
keystone:
|
||||||
|
charm: cs:~openstack-charmers-next/keystone
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
mysql:
|
||||||
|
charm: cs:percona-cluster
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=4G
|
||||||
|
options:
|
||||||
|
innodb-buffer-pool-size: 256M
|
||||||
|
max-connections: 1000
|
||||||
|
performance-schema: true
|
||||||
|
hacluster-ironic:
|
||||||
|
charm: cs:~openstack-charmers-next/hacluster
|
||||||
|
num_units: 0
|
||||||
|
neutron-api:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-api
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
flat-network-providers: "physnet1"
|
||||||
|
neutron-security-groups: true
|
||||||
|
openstack-origin: *source
|
||||||
|
manage-neutron-plugin-legacy-mode: false
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
neutron-gateway:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-gateway
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
enable-isolated-metadata: true
|
||||||
|
enable-metadata-network: true
|
||||||
|
bridge-mappings: physnet1:br-ex
|
||||||
|
nova-cloud-controller:
|
||||||
|
charm: cs:~openstack-charmers-next/nova-cloud-controller
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
network-manager: Neutron
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
nova-ironic:
|
||||||
|
charm: cs:~openstack-charmers-next/nova-compute
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
enable-live-migration: false
|
||||||
|
enable-resize: false
|
||||||
|
openstack-origin: *source
|
||||||
|
virt-type: ironic
|
||||||
|
placement:
|
||||||
|
charm: cs:placement
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
rabbitmq-server:
|
||||||
|
charm: cs:rabbitmq-server
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
ironic-api:
|
||||||
|
charm: ../../../ironic-api
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
ironic-conductor:
|
||||||
|
charm: cs:~openstack-charmers-next/ironic-conductor
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
max-tftp-block-size: 1418
|
||||||
|
disable-secure-erase: true
|
||||||
|
use-ipxe: true
|
||||||
|
enabled-network-interfaces: "flat, noop"
|
||||||
|
neutron-openvswitch:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-openvswitch
|
||||||
|
num_units: 0
|
||||||
|
options:
|
||||||
|
bridge-mappings: physnet1:br-ex
|
||||||
|
neutron-ironic-agent:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-api-plugin-ironic
|
||||||
|
num_units: 0
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
vault:
|
||||||
|
charm: cs:~openstack-charmers-next/vault
|
||||||
|
num_units: 1
|
283
src/tests/bundles/focal-ussuri.yaml
Normal file
283
src/tests/bundles/focal-ussuri.yaml
Normal file
@ -0,0 +1,283 @@
|
|||||||
|
options:
|
||||||
|
source: &source distro
|
||||||
|
series: focal
|
||||||
|
relations:
|
||||||
|
- - nova-ironic
|
||||||
|
- ironic-api
|
||||||
|
- - ironic-conductor
|
||||||
|
- ironic-api
|
||||||
|
- - neutron-ironic-agent:identity-credentials
|
||||||
|
- keystone
|
||||||
|
- - neutron-ironic-agent
|
||||||
|
- neutron-api
|
||||||
|
- - neutron-openvswitch
|
||||||
|
- neutron-api
|
||||||
|
- - ironic-api:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - ironic-api
|
||||||
|
- keystone
|
||||||
|
- - ironic-api:shared-db
|
||||||
|
- ironic-api-mysql-router:shared-db
|
||||||
|
- - ironic-conductor:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - ironic-conductor
|
||||||
|
- keystone
|
||||||
|
- - ironic-conductor:shared-db
|
||||||
|
- ironic-conductor-mysql-router:shared-db
|
||||||
|
- - nova-ironic:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-ironic
|
||||||
|
- glance
|
||||||
|
- - nova-ironic
|
||||||
|
- keystone
|
||||||
|
- - nova-ironic
|
||||||
|
- nova-cloud-controller
|
||||||
|
- - neutron-gateway:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - keystone:shared-db
|
||||||
|
- keystone-mysql-router:shared-db
|
||||||
|
- - nova-cloud-controller:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - glance:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - neutron-api:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - neutron-api:shared-db
|
||||||
|
- neutron-api-mysql-router:shared-db
|
||||||
|
- - neutron-api:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - neutron-gateway:neutron-plugin-api
|
||||||
|
- neutron-api:neutron-plugin-api
|
||||||
|
- - glance:shared-db
|
||||||
|
- glance-mysql-router:shared-db
|
||||||
|
- - glance:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-cloud-controller:image-service
|
||||||
|
- glance:image-service
|
||||||
|
- - nova-cloud-controller:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-cloud-controller:quantum-network-service
|
||||||
|
- neutron-gateway:quantum-network-service
|
||||||
|
- - nova-cloud-controller:shared-db
|
||||||
|
- nova-cloud-controller-mysql-router:shared-db
|
||||||
|
- - nova-cloud-controller:neutron-api
|
||||||
|
- neutron-api:neutron-api
|
||||||
|
- - cinder:image-service
|
||||||
|
- glance:image-service
|
||||||
|
- - cinder:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - cinder:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - cinder:cinder-volume-service
|
||||||
|
- nova-cloud-controller:cinder-volume-service
|
||||||
|
- - cinder:shared-db
|
||||||
|
- cinder-mysql-router:shared-db
|
||||||
|
- - placement:shared-db
|
||||||
|
- placement-mysql-router:shared-db
|
||||||
|
- - placement
|
||||||
|
- keystone
|
||||||
|
- - placement
|
||||||
|
- nova-cloud-controller
|
||||||
|
- - ceph-mon:client
|
||||||
|
- nova-ironic:ceph
|
||||||
|
- - ceph-mon:client
|
||||||
|
- glance:ceph
|
||||||
|
- - ceph-radosgw:mon
|
||||||
|
- ceph-mon:radosgw
|
||||||
|
- - ceph-radosgw:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - ceph-osd:mon
|
||||||
|
- ceph-mon:osd
|
||||||
|
- - ceph-radosgw:object-store
|
||||||
|
- glance
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- nova-cloud-controller-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- keystone-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- glance-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- neutron-api-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- placement-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- cinder-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- ironic-api-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- ironic-conductor-mysql-router:db-router
|
||||||
|
- - vault-mysql-router:db-router
|
||||||
|
- mysql-innodb-cluster:db-router
|
||||||
|
- - vault:shared-db
|
||||||
|
- vault-mysql-router:shared-db
|
||||||
|
- - vault:certificates
|
||||||
|
- ceph-radosgw
|
||||||
|
- - vault:certificates
|
||||||
|
- cinder
|
||||||
|
- - vault:certificates
|
||||||
|
- glance:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- keystone:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- neutron-api:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- nova-cloud-controller:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- placement:certificates
|
||||||
|
- - vault
|
||||||
|
- ironic-conductor
|
||||||
|
- - vault:certificates
|
||||||
|
- ironic-api:certificates
|
||||||
|
- - ironic-api
|
||||||
|
- hacluster-ironic
|
||||||
|
services:
|
||||||
|
nova-cloud-controller-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
keystone-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
glance-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
neutron-api-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
placement-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
vault-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
cinder-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
ironic-api-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
ironic-conductor-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
mysql-innodb-cluster:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-innodb-cluster
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=4G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
cinder:
|
||||||
|
charm: cs:~openstack-charmers-next/cinder
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
block-device: vdb
|
||||||
|
glance-api-version: 2
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
storage:
|
||||||
|
block-devices: cinder,50G
|
||||||
|
ceph-radosgw:
|
||||||
|
charm: cs:~openstack-charmers-next/ceph-radosgw
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
namespace-tenants: True
|
||||||
|
ceph-mon:
|
||||||
|
charm: cs:ceph-mon
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
expected-osd-count: 3
|
||||||
|
source: *source
|
||||||
|
ceph-osd:
|
||||||
|
charm: cs:ceph-osd
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
storage:
|
||||||
|
osd-devices: 'cinder,30G'
|
||||||
|
glance:
|
||||||
|
charm: cs:~openstack-charmers-next/glance
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
keystone:
|
||||||
|
charm: cs:~openstack-charmers-next/keystone
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
neutron-api:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-api
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
flat-network-providers: "physnet1"
|
||||||
|
neutron-security-groups: true
|
||||||
|
openstack-origin: *source
|
||||||
|
manage-neutron-plugin-legacy-mode: false
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
neutron-gateway:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-gateway
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
enable-isolated-metadata: true
|
||||||
|
enable-metadata-network: true
|
||||||
|
bridge-mappings: physnet1:br-ex
|
||||||
|
nova-cloud-controller:
|
||||||
|
charm: cs:~openstack-charmers-next/nova-cloud-controller
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
network-manager: Neutron
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
nova-ironic:
|
||||||
|
charm: cs:~openstack-charmers-next/nova-compute
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
enable-live-migration: false
|
||||||
|
enable-resize: false
|
||||||
|
openstack-origin: *source
|
||||||
|
virt-type: ironic
|
||||||
|
placement:
|
||||||
|
charm: cs:placement
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
rabbitmq-server:
|
||||||
|
charm: cs:rabbitmq-server
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
hacluster-ironic:
|
||||||
|
charm: cs:~openstack-charmers-next/hacluster
|
||||||
|
num_units: 0
|
||||||
|
ironic-api:
|
||||||
|
charm: ../../../ironic-api
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
ironic-conductor:
|
||||||
|
charm: cs:~openstack-charmers-next/ironic-conductor
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
max-tftp-block-size: 1418
|
||||||
|
disable-secure-erase: true
|
||||||
|
use-ipxe: true
|
||||||
|
enabled-network-interfaces: "flat, noop"
|
||||||
|
neutron-openvswitch:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-openvswitch
|
||||||
|
num_units: 0
|
||||||
|
options:
|
||||||
|
bridge-mappings: physnet1:br-ex
|
||||||
|
neutron-ironic-agent:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-api-plugin-ironic
|
||||||
|
num_units: 0
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
vault:
|
||||||
|
charm: cs:~openstack-charmers-next/vault
|
||||||
|
num_units: 1
|
283
src/tests/bundles/focal-victoria.yaml
Normal file
283
src/tests/bundles/focal-victoria.yaml
Normal file
@ -0,0 +1,283 @@
|
|||||||
|
options:
|
||||||
|
source: &source cloud:focal-victoria/proposed
|
||||||
|
series: focal
|
||||||
|
relations:
|
||||||
|
- - nova-ironic
|
||||||
|
- ironic-api
|
||||||
|
- - ironic-conductor
|
||||||
|
- ironic-api
|
||||||
|
- - neutron-ironic-agent:identity-credentials
|
||||||
|
- keystone
|
||||||
|
- - neutron-ironic-agent
|
||||||
|
- neutron-api
|
||||||
|
- - neutron-openvswitch
|
||||||
|
- neutron-api
|
||||||
|
- - ironic-api:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - ironic-api
|
||||||
|
- keystone
|
||||||
|
- - ironic-api:shared-db
|
||||||
|
- ironic-api-mysql-router:shared-db
|
||||||
|
- - ironic-conductor:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - ironic-conductor
|
||||||
|
- keystone
|
||||||
|
- - ironic-conductor:shared-db
|
||||||
|
- ironic-conductor-mysql-router:shared-db
|
||||||
|
- - nova-ironic:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-ironic
|
||||||
|
- glance
|
||||||
|
- - nova-ironic
|
||||||
|
- keystone
|
||||||
|
- - nova-ironic
|
||||||
|
- nova-cloud-controller
|
||||||
|
- - neutron-gateway:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - keystone:shared-db
|
||||||
|
- keystone-mysql-router:shared-db
|
||||||
|
- - nova-cloud-controller:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - glance:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - neutron-api:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - neutron-api:shared-db
|
||||||
|
- neutron-api-mysql-router:shared-db
|
||||||
|
- - neutron-api:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - neutron-gateway:neutron-plugin-api
|
||||||
|
- neutron-api:neutron-plugin-api
|
||||||
|
- - glance:shared-db
|
||||||
|
- glance-mysql-router:shared-db
|
||||||
|
- - glance:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-cloud-controller:image-service
|
||||||
|
- glance:image-service
|
||||||
|
- - nova-cloud-controller:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - nova-cloud-controller:quantum-network-service
|
||||||
|
- neutron-gateway:quantum-network-service
|
||||||
|
- - nova-cloud-controller:shared-db
|
||||||
|
- nova-cloud-controller-mysql-router:shared-db
|
||||||
|
- - nova-cloud-controller:neutron-api
|
||||||
|
- neutron-api:neutron-api
|
||||||
|
- - cinder:image-service
|
||||||
|
- glance:image-service
|
||||||
|
- - cinder:amqp
|
||||||
|
- rabbitmq-server:amqp
|
||||||
|
- - cinder:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - cinder:cinder-volume-service
|
||||||
|
- nova-cloud-controller:cinder-volume-service
|
||||||
|
- - cinder:shared-db
|
||||||
|
- cinder-mysql-router:shared-db
|
||||||
|
- - placement:shared-db
|
||||||
|
- placement-mysql-router:shared-db
|
||||||
|
- - placement
|
||||||
|
- keystone
|
||||||
|
- - placement
|
||||||
|
- nova-cloud-controller
|
||||||
|
- - ceph-mon:client
|
||||||
|
- nova-ironic:ceph
|
||||||
|
- - ceph-mon:client
|
||||||
|
- glance:ceph
|
||||||
|
- - ceph-radosgw:mon
|
||||||
|
- ceph-mon:radosgw
|
||||||
|
- - ceph-radosgw:identity-service
|
||||||
|
- keystone:identity-service
|
||||||
|
- - ceph-osd:mon
|
||||||
|
- ceph-mon:osd
|
||||||
|
- - ceph-radosgw:object-store
|
||||||
|
- glance
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- nova-cloud-controller-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- keystone-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- glance-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- neutron-api-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- placement-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- cinder-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- ironic-api-mysql-router:db-router
|
||||||
|
- - mysql-innodb-cluster:db-router
|
||||||
|
- ironic-conductor-mysql-router:db-router
|
||||||
|
- - vault-mysql-router:db-router
|
||||||
|
- mysql-innodb-cluster:db-router
|
||||||
|
- - vault:shared-db
|
||||||
|
- vault-mysql-router:shared-db
|
||||||
|
- - vault:certificates
|
||||||
|
- ceph-radosgw
|
||||||
|
- - vault:certificates
|
||||||
|
- cinder
|
||||||
|
- - vault:certificates
|
||||||
|
- glance:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- keystone:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- neutron-api:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- nova-cloud-controller:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- placement:certificates
|
||||||
|
- - vault
|
||||||
|
- ironic-conductor
|
||||||
|
- - vault:certificates
|
||||||
|
- ironic-api:certificates
|
||||||
|
- - ironic-api
|
||||||
|
- hacluster-ironic
|
||||||
|
services:
|
||||||
|
nova-cloud-controller-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
keystone-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
glance-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
neutron-api-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
placement-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
vault-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
cinder-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
ironic-api-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
ironic-conductor-mysql-router:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-router
|
||||||
|
mysql-innodb-cluster:
|
||||||
|
charm: cs:~openstack-charmers-next/mysql-innodb-cluster
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=4G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
cinder:
|
||||||
|
charm: cs:~openstack-charmers-next/cinder
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
block-device: vdb
|
||||||
|
glance-api-version: 2
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
storage:
|
||||||
|
block-devices: cinder,50G
|
||||||
|
ceph-radosgw:
|
||||||
|
charm: cs:~openstack-charmers-next/ceph-radosgw
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
namespace-tenants: True
|
||||||
|
ceph-mon:
|
||||||
|
charm: cs:ceph-mon
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
expected-osd-count: 3
|
||||||
|
source: *source
|
||||||
|
ceph-osd:
|
||||||
|
charm: cs:ceph-osd
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
source: *source
|
||||||
|
storage:
|
||||||
|
osd-devices: 'cinder,30G'
|
||||||
|
glance:
|
||||||
|
charm: cs:~openstack-charmers-next/glance
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
keystone:
|
||||||
|
charm: cs:~openstack-charmers-next/keystone
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
neutron-api:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-api
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
flat-network-providers: "physnet1"
|
||||||
|
neutron-security-groups: true
|
||||||
|
openstack-origin: *source
|
||||||
|
manage-neutron-plugin-legacy-mode: false
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
neutron-gateway:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-gateway
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
enable-isolated-metadata: true
|
||||||
|
enable-metadata-network: true
|
||||||
|
bridge-mappings: physnet1:br-ex
|
||||||
|
nova-cloud-controller:
|
||||||
|
charm: cs:~openstack-charmers-next/nova-cloud-controller
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
network-manager: Neutron
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
nova-ironic:
|
||||||
|
charm: cs:~openstack-charmers-next/nova-compute
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
enable-live-migration: false
|
||||||
|
enable-resize: false
|
||||||
|
openstack-origin: *source
|
||||||
|
virt-type: ironic
|
||||||
|
placement:
|
||||||
|
charm: cs:placement
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
worker-multiplier: 0.25
|
||||||
|
rabbitmq-server:
|
||||||
|
charm: cs:rabbitmq-server
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
hacluster-ironic:
|
||||||
|
charm: cs:~openstack-charmers-next/hacluster
|
||||||
|
num_units: 0
|
||||||
|
ironic-api:
|
||||||
|
charm: ../../../ironic-api
|
||||||
|
num_units: 3
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
ironic-conductor:
|
||||||
|
charm: cs:~openstack-charmers-next/ironic-conductor
|
||||||
|
num_units: 1
|
||||||
|
constraints: mem=2G
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
max-tftp-block-size: 1418
|
||||||
|
disable-secure-erase: true
|
||||||
|
use-ipxe: true
|
||||||
|
enabled-network-interfaces: "flat, noop"
|
||||||
|
neutron-openvswitch:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-openvswitch
|
||||||
|
num_units: 0
|
||||||
|
options:
|
||||||
|
bridge-mappings: physnet1:br-ex
|
||||||
|
neutron-ironic-agent:
|
||||||
|
charm: cs:~openstack-charmers-next/neutron-api-plugin-ironic
|
||||||
|
num_units: 0
|
||||||
|
options:
|
||||||
|
openstack-origin: *source
|
||||||
|
vault:
|
||||||
|
charm: cs:~openstack-charmers-next/vault
|
||||||
|
num_units: 1
|
1
src/tests/bundles/overlays/bionic-train.yaml.j2
Symbolic link
1
src/tests/bundles/overlays/bionic-train.yaml.j2
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
ironic.j2
|
1
src/tests/bundles/overlays/bionic-ussuri.yaml.j2
Symbolic link
1
src/tests/bundles/overlays/bionic-ussuri.yaml.j2
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
ironic.j2
|
1
src/tests/bundles/overlays/focal-ussuri.yaml.j2
Symbolic link
1
src/tests/bundles/overlays/focal-ussuri.yaml.j2
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
ironic.j2
|
1
src/tests/bundles/overlays/focal-victoria.yaml.j2
Symbolic link
1
src/tests/bundles/overlays/focal-victoria.yaml.j2
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
ironic.j2
|
4
src/tests/bundles/overlays/ironic.j2
Normal file
4
src/tests/bundles/overlays/ironic.j2
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
applications:
|
||||||
|
ironic-api:
|
||||||
|
options:
|
||||||
|
vip: '{{ OS_VIP00 }}'
|
29
src/tests/tests.yaml
Normal file
29
src/tests/tests.yaml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
charm_name: ironic-api
|
||||||
|
gate_bundles:
|
||||||
|
- focal-ussuri
|
||||||
|
- bionic-train
|
||||||
|
- bionic-ussuri
|
||||||
|
smoke_bundles:
|
||||||
|
- bionic-ussuri
|
||||||
|
dev_bundles:
|
||||||
|
- focal-victoria
|
||||||
|
target_deploy_status:
|
||||||
|
vault:
|
||||||
|
workload-status: blocked
|
||||||
|
workload-status-message: Vault needs to be initialized
|
||||||
|
ironic-conductor:
|
||||||
|
workload-status: blocked
|
||||||
|
workload-status-message: invalid enabled-deploy-interfaces config
|
||||||
|
configure:
|
||||||
|
- zaza.openstack.charm_tests.vault.setup.auto_initialize
|
||||||
|
- zaza.openstack.charm_tests.ironic.setup.set_temp_url_secret
|
||||||
|
- zaza.openstack.charm_tests.ironic.setup.add_ironic_deployment_image
|
||||||
|
- zaza.openstack.charm_tests.ironic.setup.add_ironic_os_image
|
||||||
|
- zaza.openstack.charm_tests.ironic.setup.create_bm_flavors
|
||||||
|
# Ironic will require a flat network to test the flat network type. Once a proper
|
||||||
|
# testing environment will be available for Ironic, we will need to add the setup
|
||||||
|
# call to create that flat network
|
||||||
|
#- zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network
|
||||||
|
- zaza.openstack.charm_tests.nova.setup.manage_ssh_key
|
||||||
|
tests:
|
||||||
|
- zaza.openstack.charm_tests.ironic.tests.IronicTest
|
@ -1,5 +1,4 @@
|
|||||||
import sys
|
import sys
|
||||||
import mock
|
|
||||||
|
|
||||||
sys.path.append('src')
|
sys.path.append('src')
|
||||||
sys.path.append('src/lib')
|
sys.path.append('src/lib')
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import json
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
from charm.openstack.ironic import ironic
|
from charm.openstack.ironic import ironic
|
||||||
@ -50,6 +49,7 @@ class TestRegisteredHooks(test_utils.TestRegisteredHooks):
|
|||||||
'when_not': {
|
'when_not': {
|
||||||
'run_db_migration': (
|
'run_db_migration': (
|
||||||
'db.synced',),
|
'db.synced',),
|
||||||
|
'cluster_connected': ('ha.available',),
|
||||||
},
|
},
|
||||||
'hook': {
|
'hook': {
|
||||||
'upgrade_charm': ('upgrade-charm',),
|
'upgrade_charm': ('upgrade-charm',),
|
||||||
|
@ -74,17 +74,15 @@ class TestIronicCharm(test_utils.PatchHelper):
|
|||||||
unit = mock.MagicMock()
|
unit = mock.MagicMock()
|
||||||
unit.relation.relation_id = "fake"
|
unit.relation.relation_id = "fake"
|
||||||
baremetal.all_joined_units = [unit]
|
baremetal.all_joined_units = [unit]
|
||||||
relation_data = {"ready": True}
|
relation_data = {"ironic-api-ready": True}
|
||||||
self.target.set_ironic_api_info(baremetal)
|
self.target.set_ironic_api_info(baremetal)
|
||||||
|
|
||||||
baremetal.set_baremetal_info.assert_called_with(
|
baremetal.set_baremetal_info.assert_called_with(
|
||||||
"fake", relation_data)
|
"fake", relation_data)
|
||||||
|
|
||||||
self.is_flag_set.return_value = False
|
self.is_flag_set.return_value = False
|
||||||
relation_data = {"ready": False}
|
relation_data = {"ironic-api-ready": False}
|
||||||
self.target.set_ironic_api_info(baremetal)
|
self.target.set_ironic_api_info(baremetal)
|
||||||
|
|
||||||
baremetal.set_baremetal_info.assert_called_with(
|
baremetal.set_baremetal_info.assert_called_with(
|
||||||
"fake", relation_data)
|
"fake", relation_data)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user