Skip to content

Instantly share code, notes, and snippets.

@2stacks
Last active September 16, 2019 16:29
Show Gist options
  • Save 2stacks/d0b4b4b81df4a835934bbd9b8543ad2e to your computer and use it in GitHub Desktop.
Save 2stacks/d0b4b4b81df4a835934bbd9b8543ad2e to your computer and use it in GitHub Desktop.
Openstack Base Charm
variables:
openstack-origin: &openstack-origin cloud:bionic-stein
data-port: &data-port br-ex:eno2
worker-multiplier: &worker-multiplier 0.25
osd-devices: &osd-devices /dev/sdb /dev/vdb
expected-osd-count: &expected-osd-count 2
expected-mon-count: &expected-mon-count 1
mysql-connections: &mysql-connections 1000
machines:
'0':
series: bionic
'1':
series: bionic
relations:
- - nova-compute:amqp
- rabbitmq-server:amqp
- - 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-openvswitch:neutron-plugin-api
- neutron-api:neutron-plugin-api
- - 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-compute:image-service
- glance:image-service
- - nova-cloud-controller:cloud-compute
- nova-compute:cloud-compute
- - nova-cloud-controller:amqp
- rabbitmq-server:amqp
- - nova-cloud-controller:quantum-network-service
- neutron-gateway:quantum-network-service
- - nova-compute:neutron-plugin
- neutron-openvswitch:neutron-plugin
- - neutron-openvswitch:amqp
- rabbitmq-server:amqp
- - openstack-dashboard:identity-service
- keystone:identity-service
- - openstack-dashboard:shared-db
- mysql:shared-db
- - 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-ceph:storage-backend
- cinder:storage-backend
- - ceph-mon:client
- nova-compute:ceph
- - nova-compute:ceph-access
- cinder-ceph:ceph-access
- - cinder:shared-db
- mysql:shared-db
- - ceph-mon:client
- cinder-ceph:ceph
- - ceph-mon:client
- glance:ceph
- - ceph-osd:mon
- ceph-mon:osd
- - ntp:juju-info
- nova-compute:juju-info
- - ntp:juju-info
- neutron-gateway:juju-info
- - ceph-radosgw:mon
- ceph-mon:radosgw
- - ceph-radosgw:identity-service
- keystone:identity-service
series: bionic
services:
ceph-mon:
annotations:
gui-x: '750'
gui-y: '500'
charm: cs:ceph-mon
num_units: 1
options:
expected-osd-count: *expected-osd-count
monitor-count: *expected-mon-count
source: *openstack-origin
to:
- 'lxd:0'
ceph-osd:
annotations:
gui-x: '1000'
gui-y: '500'
charm: cs:ceph-osd
num_units: 2
options:
osd-devices: *osd-devices
source: *openstack-origin
to:
- '0'
- '1'
ceph-radosgw:
annotations:
gui-x: '1000'
gui-y: '250'
charm: cs:ceph-radosgw
num_units: 1
options:
source: *openstack-origin
to:
- 'lxd:0'
cinder:
annotations:
gui-x: '750'
gui-y: '0'
charm: cs:cinder
num_units: 1
options:
block-device: None
glance-api-version: 2
worker-multiplier: *worker-multiplier
openstack-origin: *openstack-origin
to:
- 'lxd:0'
cinder-ceph:
annotations:
gui-x: '750'
gui-y: '250'
charm: cs:cinder-ceph
num_units: 0
glance:
annotations:
gui-x: '250'
gui-y: '0'
charm: cs:glance
num_units: 1
options:
worker-multiplier: *worker-multiplier
openstack-origin: *openstack-origin
to:
- 'lxd:0'
keystone:
annotations:
gui-x: '500'
gui-y: '0'
charm: cs:keystone
num_units: 1
options:
worker-multiplier: *worker-multiplier
openstack-origin: *openstack-origin
to:
- 'lxd:0'
mysql:
annotations:
gui-x: '0'
gui-y: '250'
charm: cs:percona-cluster
num_units: 1
options:
max-connections: *mysql-connections
innodb-buffer-pool-size: 256M
performance-schema: True
to:
- 'lxd:0'
neutron-api:
annotations:
gui-x: '500'
gui-y: '500'
charm: cs:neutron-api
num_units: 1
options:
neutron-security-groups: true
flat-network-providers: physnet1
worker-multiplier: *worker-multiplier
openstack-origin: *openstack-origin
to:
- 'lxd:0'
neutron-gateway:
annotations:
gui-x: '0'
gui-y: '0'
charm: cs:neutron-gateway
num_units: 1
options:
bridge-mappings: physnet1:br-ex
data-port: *data-port
worker-multiplier: *worker-multiplier
openstack-origin: *openstack-origin
to:
- '0'
neutron-openvswitch:
annotations:
gui-x: '250'
gui-y: '500'
charm: cs:neutron-openvswitch
num_units: 0
options:
bridge-mappings: physnet1:br-ex
data-port: *data-port
nova-cloud-controller:
annotations:
gui-x: '0'
gui-y: '500'
charm: cs:nova-cloud-controller
num_units: 1
options:
network-manager: Neutron
worker-multiplier: *worker-multiplier
openstack-origin: *openstack-origin
to:
- 'lxd:0'
nova-compute:
annotations:
gui-x: '250'
gui-y: '250'
charm: cs:nova-compute
num_units: 1
options:
config-flags: default_ephemeral_format=ext4
enable-live-migration: true
enable-resize: true
migration-auth-type: ssh
openstack-origin: *openstack-origin
to:
- '1'
ntp:
annotations:
gui-x: '1000'
gui-y: '0'
charm: cs:ntp
num_units: 0
openstack-dashboard:
annotations:
gui-x: '500'
gui-y: '-250'
charm: cs:openstack-dashboard
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- 'lxd:0'
rabbitmq-server:
annotations:
gui-x: '500'
gui-y: '250'
charm: cs:rabbitmq-server
num_units: 1
to:
- 'lxd:0'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment