series: bionic
variables:
openstack-origin: &openstack-origin distro
#vhost-gateway: &vhost-gateway "192.x.40.254"
data-network: &data-network "192.x.40.0/24"
control-network: &control-network "192.x.30.0/24"
virtioforwarder-coremask: &virtioforwarder-coremask "1,2"
agilio-registry: &agilio-registry "netronomesystems"
agilio-image-tag: &agilio-image-tag "2.48-ubuntu-queens"
agilio-user: &agilio-user "<agilio-username>"
agilio-password: &agilio-password "<agilio-password>"
agilio-insecure: &agilio-insecure false
agilio-phy: &agilio-phy "nfp_p0"
docker-registry: &docker-registry "<registry-directory>"
#docker-user: &docker-user "<docker_username>"
#docker-password: &docker-password "<docker_password>"
image-tag: &image-tag "2011.61"
docker-registry-insecure: &docker-registry-insecure "true"
dockerhub-registry: &dockerhub-registry "https://index.docker.io/v1/"
machines:
"1":
constraints: tags=controller
series: bionic
"2":
constraints: tags=compute
series: bionic
"3":
constraints: tags=neutron
series: bionic
services:
ubuntu:
charm: cs:ubuntu
num_units: 1
to: [ "1" ]
ntp:
charm: cs:ntp
num_units: 0
options:
#source: ntp.ubuntu.com
source: 10.204.217.158
mysql:
charm: cs:percona-cluster
num_units: 1
options:
dataset-size: 15%
max-connections: 10000
root-password: <password>
sst-password: <password>
min-cluster-size: 1
to: [ "lxd:1" ]
rabbitmq-server:
charm: cs:rabbitmq-server
num_units: 1
options:
min-cluster-size: 1
to: [ "lxd:1" ]
heat:
charm: cs:heat
num_units: 1
expose: true
options:
debug: true
openstack-origin: *openstack-origin
to: [ "lxd:1" ]
keystone:
charm: cs:keystone
expose: true
num_units: 1
options:
admin-password: <password>
admin-role: admin
openstack-origin: *openstack-origin
preferred-api-version: 3
nova-cloud-controller:
charm: cs:nova-cloud-controller
num_units: 1
expose: true
options:
network-manager: Neutron
openstack-origin: *openstack-origin
to: [ "lxd:1" ]
neutron-api:
charm: cs:neutron-api
expose: true
num_units: 1
series: bionic
options:
manage-neutron-plugin-legacy-mode: false
openstack-origin: *openstack-origin
to: [ "3" ]
glance:
charm: cs:glance
expose: true
num_units: 1
options:
openstack-origin: *openstack-origin
to: [ "lxd:1" ]
openstack-dashboard:
charm: cs:openstack-dashboard
expose: true
num_units: 1
options:
openstack-origin: *openstack-origin
to: [ "lxd:1" ]
nova-compute:
charm: cs:nova-compute
num_units: 0
expose: true
options:
openstack-origin: *openstack-origin
nova-compute-dpdk:
charm: cs:nova-compute
num_units: 0
expose: true
options:
openstack-origin: *openstack-origin
nova-compute-accel:
charm: cs:nova-compute
num_units: 2
expose: true
options:
openstack-origin: *openstack-origin
to: [ "2" ]
contrail-openstack:
charm: ./tf-charms/contrail-openstack
series: bionic
expose: true
num_units: 0
options:
docker-registry: *docker-registry
#docker-user: *docker-user
#docker-password: *docker-password
image-tag: *image-tag
docker-registry-insecure: *docker-registry-insecure
contrail-agent:
charm: ./tf-charms/contrail-agent
num_units: 0
series: bionic
expose: true
options:
log-level: "SYS_DEBUG"
docker-registry: *docker-registry
#docker-user: *docker-user
#docker-password: *docker-password
image-tag: *image-tag
docker-registry-insecure: *docker-registry-insecure
#vhost-gateway: *vhost-gateway
physical-interface: *agilio-phy
contrail-agent-dpdk:
charm: ./tf-charms/contrail-agent
num_units: 0
series: bionic
expose: true
options:
log-level: "SYS_DEBUG"
docker-registry: *docker-registry
#docker-user: *docker-user
#docker-password: *docker-password
image-tag: *image-tag
docker-registry-insecure: *docker-registry-insecure
dpdk: true
dpdk-main-mempool-size: "65536"
dpdk-pmd-txd-size: "2048"
dpdk-pmd-rxd-size: "2048"
dpdk-driver: ""
dpdk-coremask: "1-4"
#vhost-gateway: *vhost-gateway
physical-interface: "nfp_p0"
contrail-analytics:
charm: ./tf-charms/contrail-analytics
num_units: 1
series: bionic
expose: true
options:
log-level: "SYS_DEBUG"
docker-registry: *docker-registry
#docker-user: *docker-user
#docker-password: *docker-password
image-tag: *image-tag
control-network: *control-network
docker-registry-insecure: *docker-registry-insecure
to: [ "1" ]
contrail-analyticsdb:
charm: ./tf-charms/contrail-analyticsdb
num_units: 1
series: bionic
expose: true
options:
log-level: "SYS_DEBUG"
cassandra-minimum-diskgb: "4"
cassandra-jvm-extra-opts: "-Xms8g -Xmx8g"
docker-registry: *docker-registry
#docker-user: *docker-user
#docker-password: *docker-password
image-tag: *image-tag
control-network: *control-network
docker-registry-insecure: *docker-registry-insecure
to: [ "1" ]
contrail-controller:
charm: ./tf-charms/contrail-controller
series: bionic
expose: true
num_units: 1
options:
log-level: "SYS_DEBUG"
cassandra-minimum-diskgb: "4"
cassandra-jvm-extra-opts: "-Xms8g -Xmx8g"
docker-registry: *docker-registry
#docker-user: *docker-user
#docker-password: *docker-password
image-tag: *image-tag
docker-registry-insecure: *docker-registry-insecure
control-network: *control-network
data-network: *data-network
auth-mode: no-auth
to: [ "1" ]
contrail-keystone-auth:
charm: ./tf-charms/contrail-keystone-auth
series: bionic
expose: true
num_units: 1
to: [ "lxd:1" ]
agilio-vrouter5:
charm: ./charm-agilio-vrt-5-37
expose: true
options:
virtioforwarder-coremask: *virtioforwarder-coremask
agilio-registry: *agilio-registry
agilio-insecure: *agilio-insecure
agilio-image-tag: *agilio-image-tag
agilio-user: *agilio-user
agilio-password: *agilio-password
relations:
- [ "ubuntu", "ntp" ]
- [ "neutron-api", "ntp" ]
- [ "keystone", "mysql" ]
- [ "glance", "mysql" ]
- [ "glance", "keystone" ]
- [ "nova-cloud-controller:shared-db", "mysql:shared-db" ]
- [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ]
- [ "nova-cloud-controller", "keystone" ]
- [ "nova-cloud-controller", "glance" ]
- [ "neutron-api", "mysql" ]
- [ "neutron-api", "rabbitmq-server" ]
- [ "neutron-api", "nova-cloud-controller" ]
- [ "neutron-api", "keystone" ]
- [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
- [ "nova-compute", "glance" ]
- [ "nova-compute", "nova-cloud-controller" ]
- [ "nova-compute", "ntp" ]
- [ "openstack-dashboard:identity-service", "keystone" ]
- [ "contrail-keystone-auth", "keystone" ]
- [ "contrail-controller", "contrail-keystone-auth" ]
- [ "contrail-analytics", "contrail-analyticsdb" ]
- [ "contrail-controller", "contrail-analytics" ]
- [ "contrail-controller", "contrail-analyticsdb" ]
- [ "contrail-openstack", "nova-compute" ]
- [ "contrail-openstack", "neutron-api" ]
- [ "contrail-openstack", "contrail-controller" ]
- [ "contrail-agent:juju-info", "nova-compute:juju-info" ]
- [ "contrail-agent", "contrail-controller"]
- [ "contrail-agent-dpdk:juju-info", "nova-compute-dpdk:juju-info" ]
- [ "contrail-agent-dpdk", "contrail-controller"]
- [ "nova-compute-dpdk:amqp", "rabbitmq-server:amqp" ]
- [ "nova-compute-dpdk", "glance" ]
- [ "nova-compute-dpdk", "nova-cloud-controller" ]
- [ "nova-compute-dpdk", "ntp" ]
- [ "contrail-openstack", "nova-compute-dpdk" ]
- [ "contrail-agent:juju-info", "nova-compute-accel:juju-info" ]
- [ "nova-compute-accel:amqp", "rabbitmq-server:amqp" ]
- [ "nova-compute-accel", "glance" ]
- [ "nova-compute-accel", "nova-cloud-controller" ]
- [ "nova-compute-accel", "ntp" ]
- [ "contrail-openstack", "nova-compute-accel" ]
- [ "agilio-vrouter5:juju-info", "nova-compute-accel:juju-info" ]
- [ "heat:shared-db" , "mysql:shared-db" ]
- [ "heat:amqp" , "rabbitmq-server:amqp" ]
- [ "heat:identity-service" , "keystone:identity-service" ]
- [ "contrail-openstack:heat-plugin" , "heat:heat-plugin-subordinate" ]