# vim: set ts=2 et:
+trusty-mitaka-nodes:
+ inherits: openstack-phase1
+ overrides:
+ series: trusty
+
+trusty-mitaka:
+ inherits: openstack-phase2
+ overrides:
+ #os-data-network: 10.4.8.0/21
+ #ceph-cluster-network: 10.4.0.0/21
+ #prefer-ipv6: true
+ #enable-dvr: true
+ #l2-population: true
+ region: Canonical
+ #source: "cloud:trusty-mitaka"
+ openstack-origin: "cloud:trusty-mitaka"
+ series: trusty
+ #ceph-osd-replication-count: 2
+ admin-role: admin
+ keystone-admin-role: admin
+
openstack-phase1:
series: trusty
services:
- nodes-api:
- charm: "cs:trusty/ubuntu"
- num_units: 3
- constraints: tags=control
- nodes-compute:
+ nodes:
charm: "cs:trusty/ubuntu"
- num_units: 2
- constraints: tags=compute
- ntp:
+ num_units: 5
+ ntp:
charm: "local:trusty/ntp"
relations:
- - "ntp:juju-info"
- - "nodes-api:juju-info"
- - - "ntp:juju-info"
- - "nodes-compute:juju-info"
-openstack-phase2:
+ - "nodes:juju-info"
+
+openstack-phase2:
inherits: openstack-phase1
+ relations:
+ - - glance:ha
+ - hacluster-glance:ha
+ - - keystone:ha
+ - hacluster-keystone:ha
+ - - neutron-api:ha
+ - hacluster-neutron:ha
+ - - nova-cloud-controller:ha
+ - hacluster-nova:ha
+ - - openstack-dashboard:ha
+ - hacluster-horizon:ha
+ - - 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
+ - - 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:client
+ - nova-compute:ceph
+ - - cinder:shared-db
+ - mysql:shared-db
+ - - ceph:client
+ - cinder-ceph:ceph
+ - - ceph:client
+ - glance:ceph
+ - - ceph-osd:mon
+ - ceph:osd
+ - - ntp:juju-info
+ - nova-compute:juju-info
+ - - ntp:juju-info
+ - neutron-gateway:juju-info
+ - - ceph-radosgw:mon
+ - ceph:radosgw
+ - - ceph-radosgw:identity-service
+ - keystone:identity-service
+ - - ceilometer:amqp
+ - rabbitmq-server:amqp
+ - - ceilometer-agent:ceilometer-service
+ - ceilometer:ceilometer-service
+ - - ceilometer:identity-service
+ - keystone:identity-service
+ - - ceilometer:identity-notifications
+ - keystone:identity-notifications
+ - - ceilometer-agent:nova-ceilometer
+ - nova-compute:nova-ceilometer
+ - - ceilometer:shared-db
+ - mongodb:database
+ - - heat:shared-db
+ - mysql:shared-db
+ - - heat:identity-service
+ - keystone:identity-service
+ - - heat:amqp
+ - rabbitmq-server:amqp
+ #- - nova-compute:lxd
+ #- lxd:lxd
+
services:
+ hacluster-keystone:
+ charm: "local:trusty/hacluster"
+ options:
+ corosync_key: |
+ 'QisjNpoKHLkvyc3PEdDHP5VZjgD0kOk9t0ABPWmCELlu5AgWgnW6bJd34BVXO7VhW+3ZwNQM3W+bZ3pl28ftY4ki4N/S0KLFNia5egFgiA3AH2QXLnokS7OYXuu6GMJJ1S5mDe6P5zU+tfJe/Mebq24u7CgR0gAvohSPRdDTwdY='
+ hacluster-horizon:
+ charm: "local:trusty/hacluster"
+ options:
+ corosync_key: |
+ 'aCVPHw6XYne+Hxv0WPiM3+yEfeIxs0Ly0EMKB494Rdzjf5rE52GcXqqxuvIa/nXJ4GCR+UdKk9FEwcASfYkeu3HDWUld9uTE6pOc+ibWYnybNH7VBfEHW8h9YmQKs3HD2T3wlTcS2irU4CUW7/IKNok4etYdM3iFn1K2ReSGXEI='
+ hacluster-nova:
+ charm: "local:trusty/hacluster"
+ options:
+ corosync_key: |
+ 'gel86qmEze8dYKYbfqIgRpqapJpKtdYL2hxC1y5nWYBPq7EMf6V8mF01IjeUkSRs14CUDrsPpT4PWeom7EOY2fleuLx/aIuqQUfEDkhf/gvaz7BaU4hrmTCoDBK7/HvEwY+/wu4qkEeckzSRPsm9MYzqnLRshh8yjZJ70xU/mmk='
+ hacluster-neutron:
+ charm: "local:trusty/hacluster"
+ options:
+ corosync_key: |
+ 'KNhb4++3jlllbnscS5D3qdzOJDsQPEeZ7zOLZJHbkKrRjX9gRCijVVOiv2JCvq03HqQ7LIufQzWGl9Za8qh0f6QmQ3XhFh/Cb/3WaYFj+tEf0zArWv+8miswmM1z4eyTSrTWBq0dTgx1z96wjBxP5HV0+1LWW+3Ei4oZWyRGeR0='
+ hacluster-glance:
+ charm: "local:trusty/hacluster"
+ options:
+ corosync_key: |
+ 'el1dd8107J5mwQDPS7tEJPZrr0XFfL95+Tku/QG90W5Q5f5SP4W8TRfKvddGmZWZl2lVd1neG5WqaHa1mq/aScJpoflzVAJCvshN7Gd2AjHhLNNugeI8S90j/7wrKUhqiCAlkKaeri2xs5bB5PZ7Z9AHuNZL7SW1al8lxrKhUFI='
ceilometer:
charm: "local:trusty/ceilometer"
num_units: 3
to:
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=0"
+ - "lxc:nodes=1"
+ - "lxc:nodes=2"
ceilometer-agent:
charm: "local:trusty/ceilometer-agent"
ceph:
# ceph-cluster-network: 192.168.0.0/24
# ceph-public-network: 192.168.0.0/24
to:
- - "lxc:nodes-api=2"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
+ - "lxc:nodes=1"
+ - "lxc:nodes=2"
+ - "lxc:nodes=3"
ceph-osd:
charm: "local:trusty/ceph-osd"
- num_units: 2
+ num_units: 3
options:
osd-devices: /srv
osd-reformat: 'yes'
to:
- - "nodes-compute=0"
- - "nodes-compute=1"
+ - "nodes=2"
+ - "nodes=3"
+ - "nodes=4"
ceph-radosgw:
charm: "local:trusty/ceph-radosgw"
- num_units: 1
options:
use-embedded-webserver: true
operator-roles: "Member,admin"
to:
- - "lxc:nodes-api=0"
+ - "lxc:nodes=0"
cinder:
charm: "local:trusty/cinder"
num_units: 3
glance-api-version: 2
ha-mcastport: 5401
to:
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=2"
+ - "lxc:nodes=3"
+ - "lxc:nodes=4"
cinder-ceph:
charm: "local:trusty/cinder-ceph"
- num_units: 0
glance:
charm: "local:trusty/glance"
num_units: 3
ha-mcastport: 5402
vip: 10.4.1.12
to:
- - "lxc:nodes-api=2"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
+ - "lxc:nodes=3"
+ - "lxc:nodes=4"
+ - "lxc:nodes=0"
opnfv-promise:
charm: local:trusty/promise
to:
- - "lxc:nodes-api=2"
+ - "lxc:nodes=0"
keystone:
charm: "local:trusty/keystone"
num_units: 3
ha-mcastport: 5403
vip: 10.4.1.13
to:
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=4"
+ - "lxc:nodes=0"
+ - "lxc:nodes=1"
mongodb:
charm: local:trusty/mongodb
- num_units: 1
to:
- - "lxc:nodes-api=0"
+ - "lxc:nodes=0"
mysql:
charm: "local:trusty/percona-cluster"
num_units: 3
sst-password: 127rc14t51
vip: 10.4.1.15
to:
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=0"
+ - "lxc:nodes=1"
+ - "lxc:nodes=2"
neutron-api:
charm: "local:trusty/neutron-api"
num_units: 3
flat-network-providers: "*"
vip: 10.4.1.17
to:
- - "lxc:nodes-api=2"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
+ - "lxc:nodes=1"
+ - "lxc:nodes=2"
+ - "lxc:nodes=3"
neutron-gateway:
charm: "local:trusty/neutron-gateway"
- num_units: 1
options:
#ext-port: "eth1"
instance-mtu: 1400
to:
- - "nodes-api=0"
+ - "nodes=0"
neutron-openvswitch:
charm: "local:trusty/neutron-openvswitch"
- num_units: 0
+ options:
+ #enable-dpdk: true
+ #data-port: ""
+ #default-socket-memory: 1024
+ #defualt-socket-cores: 1
+ #dpdk-driver: uio_pci_generic
nova-cloud-controller:
charm: "local:trusty/nova-cloud-controller"
num_units: 3
service-guard: true
vip: 10.4.1.16
to:
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=2"
+ - "lxc:nodes=3"
+ - "lxc:nodes=4"
nova-compute:
charm: "local:trusty/nova-compute"
- num_units: 2
+ num_units: 4
options:
enable-live-migration: true
enable-resize: true
manage-neutron-plugin-legacy-mode: false
migration-auth-type: ssh
+ #hugepages: "50%"
+ #virt-type: lxd
to:
- - "nodes-compute=0"
- - "nodes-compute=1"
-# - "nodes-api=0"
-# - "nodes-api=1"
-# - "nodes-api=2"
+ - "nodes=1"
+ - "nodes=2"
+ - "nodes=3"
+ - "nodes=4"
openstack-dashboard:
charm: "local:trusty/openstack-dashboard"
num_units: 3
webroot: /
vip: 10.4.1.11
to:
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=3"
+ - "lxc:nodes=4"
+ - "lxc:nodes=0"
rabbitmq-server:
charm: "local:trusty/rabbitmq-server"
num_units: 3
to:
- - "lxc:nodes-api=2"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
+ - "lxc:nodes=4"
+ - "lxc:nodes=0"
+ - "lxc:nodes=1"
heat:
charm: "local:trusty/heat"
to:
- - "lxc:nodes-api=0"
- hacluster-keystone:
- charm: "local:trusty/hacluster"
- options:
- corosync_key: |
- 'QisjNpoKHLkvyc3PEdDHP5VZjgD0kOk9t0ABPWmCELlu5AgWgnW6bJd34BVXO7VhW+3ZwNQM3W+bZ3pl28ftY4ki4N/S0KLFNia5egFgiA3AH2QXLnokS7OYXuu6GMJJ1S5mDe6P5zU+tfJe/Mebq24u7CgR0gAvohSPRdDTwdY='
- hacluster-horizon:
- charm: "local:trusty/hacluster"
- options:
- corosync_key: |
- 'aCVPHw6XYne+Hxv0WPiM3+yEfeIxs0Ly0EMKB494Rdzjf5rE52GcXqqxuvIa/nXJ4GCR+UdKk9FEwcASfYkeu3HDWUld9uTE6pOc+ibWYnybNH7VBfEHW8h9YmQKs3HD2T3wlTcS2irU4CUW7/IKNok4etYdM3iFn1K2ReSGXEI='
- hacluster-nova:
- charm: "local:trusty/hacluster"
- options:
- corosync_key: |
- 'gel86qmEze8dYKYbfqIgRpqapJpKtdYL2hxC1y5nWYBPq7EMf6V8mF01IjeUkSRs14CUDrsPpT4PWeom7EOY2fleuLx/aIuqQUfEDkhf/gvaz7BaU4hrmTCoDBK7/HvEwY+/wu4qkEeckzSRPsm9MYzqnLRshh8yjZJ70xU/mmk='
- hacluster-neutron:
- charm: "local:trusty/hacluster"
- options:
- corosync_key: |
- 'KNhb4++3jlllbnscS5D3qdzOJDsQPEeZ7zOLZJHbkKrRjX9gRCijVVOiv2JCvq03HqQ7LIufQzWGl9Za8qh0f6QmQ3XhFh/Cb/3WaYFj+tEf0zArWv+8miswmM1z4eyTSrTWBq0dTgx1z96wjBxP5HV0+1LWW+3Ei4oZWyRGeR0='
- hacluster-glance:
- charm: "local:trusty/hacluster"
- options:
- corosync_key: |
- 'el1dd8107J5mwQDPS7tEJPZrr0XFfL95+Tku/QG90W5Q5f5SP4W8TRfKvddGmZWZl2lVd1neG5WqaHa1mq/aScJpoflzVAJCvshN7Gd2AjHhLNNugeI8S90j/7wrKUhqiCAlkKaeri2xs5bB5PZ7Z9AHuNZL7SW1al8lxrKhUFI='
- relations:
- - - glance:ha
- - hacluster-glance:ha
- - - keystone:ha
- - hacluster-keystone:ha
- - - neutron-api:ha
- - hacluster-neutron:ha
- - - nova-cloud-controller:ha
- - hacluster-nova:ha
- - - openstack-dashboard:ha
- - hacluster-horizon:ha
- - - 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
- - - 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:client
- - nova-compute:ceph
- - - cinder:shared-db
- - mysql:shared-db
- - - ceph:client
- - cinder-ceph:ceph
- - - ceph:client
- - glance:ceph
- - - ceph-osd:mon
- - ceph:osd
- - - ntp:juju-info
- - nova-compute:juju-info
- - - ntp:juju-info
- - neutron-gateway:juju-info
- - - ceph-radosgw:mon
- - ceph:radosgw
- - - ceph-radosgw:identity-service
- - keystone:identity-service
- - - ceilometer:amqp
- - rabbitmq-server:amqp
- - - ceilometer-agent:ceilometer-service
- - ceilometer:ceilometer-service
- - - ceilometer:identity-service
- - keystone:identity-service
- - - ceilometer:identity-notifications
- - keystone:identity-notifications
- - - ceilometer-agent:nova-ceilometer
- - nova-compute:nova-ceilometer
- - - ceilometer:shared-db
- - mongodb:database
- - - heat:shared-db
- - mysql:shared-db
- - - heat:identity-service
- - keystone:identity-service
- - - heat:amqp
- - rabbitmq-server:amqp
-
-trusty-mitaka-nodes:
- inherits: openstack-phase1
- overrides:
- series: trusty
-
-trusty-mitaka:
- inherits: openstack-phase2
- overrides:
- #os-data-network: 10.4.8.0/21
- #ceph-cluster-network: 10.4.0.0/21
- #prefer-ipv6: true
- #enable-dvr: true
- #l2-population: true
- #ext-port: "eth1"
- region: Canonical
- #source: "cloud:trusty-mitaka"
- openstack-origin: "cloud:trusty-mitaka"
- series: trusty
- ceph-osd-replication-count: 2
- admin-role: admin
- keystone-admin-role: admin
+ - "lxc:nodes=0"