# vim: set ts=2 et:
+trusty-mitaka-nodes:
+ inherits: openstack-phase1
+ overrides:
+ series: trusty
+
+trusty-mitaka:
+ inherits: openstack-phase2
+ overrides:
+# cluster_count: 3
+ #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:
+ nodes:
charm: "cs:trusty/ubuntu"
- num_units: 3
- constraints: tags=control
- nodes-compute:
- charm: "cs:trusty/ubuntu"
- num_units: 2
- constraints: tags=compute
+ num_units: 5
ntp:
charm: "local:trusty/ntp"
relations:
- - "ntp:juju-info"
- - "nodes-api:juju-info"
- - - "ntp:juju-info"
- - "nodes-compute:juju-info"
+ - "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"
+ - - "ceilometer:ha"
+ - "hacluster-ceilometer:ha"
+ - - "cinder:ha"
+ - "hacluster-cinder:ha"
+ - - "heat:ha"
+ - "hacluster-heat:ha"
+# - - "ceph-radosgw:ha"
+# - "hacluster-ceph-radosgw:ha"
+ - - "neutron-api:neutron-plugin-api-subordinate"
+ - "neutron-api-odl:neutron-plugin-api-subordinate"
+ - - "nova-compute:neutron-plugin"
+ - "openvswitch-odl:neutron-plugin"
+ - - "neutron-gateway"
+ - "openvswitch-odl"
+ - - "openvswitch-odl:ovsdb-manager"
+ - "odl-controller:ovsdb-manager"
+ - - "neutron-api-odl:odl-controller"
+ - "odl-controller:controller-api"
+ - - "keystone:shared-db"
+ - "percona-cluster:shared-db"
+ - - "nova-cloud-controller:shared-db"
+ - "percona-cluster:shared-db"
+ - - "nova-cloud-controller:amqp"
+ - "rabbitmq-server:amqp"
+ - - "nova-cloud-controller:image-service"
+ - "glance:image-service"
+ - - "nova-cloud-controller:identity-service"
+ - "keystone:identity-service"
+ - - "nova-cloud-controller:cloud-compute"
+ - "nova-compute:cloud-compute"
+ - - "nova-compute:amqp"
+ - "rabbitmq-server:amqp"
+ - - "nova-compute:image-service"
+ - "glance:image-service"
+ - - "glance:shared-db"
+ - "percona-cluster:shared-db"
+ - - "glance:identity-service"
+ - "keystone:identity-service"
+ - - "glance:amqp"
+ - "rabbitmq-server:amqp"
+ - - "openstack-dashboard:identity-service"
+ - "keystone:identity-service"
+ - - "neutron-api:shared-db"
+ - "percona-cluster:shared-db"
+ - - "neutron-api:amqp"
+ - "rabbitmq-server:amqp"
+ - - "nova-cloud-controller:neutron-api"
+ - "neutron-api:neutron-api"
+ - - "neutron-api:identity-service"
+ - "keystone:identity-service"
+ - - "neutron-gateway:amqp"
+ - "rabbitmq-server:amqp"
+ - - "neutron-gateway:neutron-plugin-api"
+ - "neutron-api:neutron-plugin-api"
+ - - "nova-cloud-controller:quantum-network-service"
+ - "neutron-gateway:quantum-network-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"
+ - "percona-cluster:shared-db"
+ - - "heat:identity-service"
+ - "keystone:identity-service"
+ - - "heat:amqp"
+ - "rabbitmq-server:amqp"
+ - - "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"
+ - "percona-cluster:shared-db"
+ - - "ceph:client"
+ - "cinder-ceph:ceph"
+ - - "ceph:client"
+ - "glance:ceph"
+ - - "ceph-osd:mon"
+ - "ceph:osd"
+ - - "ceph-radosgw:mon"
+ - "ceph:radosgw"
+ - - "ceph-radosgw:identity-service"
+ - "keystone:identity-service"
+ #- - nova-compute:lxd
+ #- lxd:lxd
services:
- percona-cluster:
- charm: "local:trusty/percona-cluster"
- num_units: 3
- options:
- dataset-size: 2G
- lp1366997-workaround: true
- max-connections: 10000
- root-password: 293rhc395m
- sst-password: 127rc14t51
- vip: 10.4.1.15
- to:
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=2"
hacluster-keystone:
charm: "local:trusty/hacluster"
options:
corosync_key: |
'QisjNpoKHLkvyc3PEdDHP5VZjgD0kOk9t0ABPWmCELlu5AgWgnW6bJd34BVXO7VhW+3ZwNQM3W+bZ3pl28ftY4ki4N/S0KLFNia5egFgiA3AH2QXLnokS7OYXuu6GMJJ1S5mDe6P5zU+tfJe/Mebq24u7CgR0gAvohSPRdDTwdY='
-# hacluster-heat:
-# charm: "local:trusty/hacluster"
-# options:
-# corosync_key: |
-# 'Q29yb3N5bmMgQ2x1c3RlciBFbmdpbmUgQXV0aGVudGljYXRpb24ga2V5IGdlbmVyYXRvci4KR2F0aGVyaW5nIDEwMjQgYml0cyBmb3Iga2V5IGZyb20gL2Rldi9yYW5kb20uClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5LgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDkxMikuClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5IChiaXRzID0gOTYwKS4KUHJlc3Mga2V5cyBvbiB5b3VyIGtleWJvYXJkIHRvIGdlbmVyYX'
+ hacluster-cinder:
+ charm: "local:trusty/hacluster"
+ options:
+ corosync_key: |
+ 'cc6n5Zv6M2mQ2mUhTx/aKoImQ7q77pKDdkSwBUG5VqoSb23SxnGUsAxH5E8lOeCZ84EURzS71FEb8F9P5YY+2deh0+tdXukoKTugdVmJfarahPpWpEEZRRCigUngdFw/479FOcFCkN1SJtQNqWi1ACYSn1/GRoQ2vP+2byrkV6E='
+ hacluster-heat:
+ charm: "local:trusty/hacluster"
+ options:
+ corosync_key: |
+ 'tNeFXmOqzytRq7loxLMDaaMqZZXjC7BNfMbcKxSNeIPyBj4lkJwHZyuV7mo0ogzcfVJqLBHBULai+ed9uyWCZJxLXoi+WwTj5AqcXfxfSo9vLCthukJJ4zuKvzeGibZRszwINf32RW9jtXSCPosv8a+9MSg49KD1c9fS20aEuIM='
hacluster-horizon:
charm: "local:trusty/hacluster"
options:
options:
corosync_key: |
'cHkgKGJpdHMgPSA5NjApLgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDEwMDgpLgpXcml0aW5nIGNvcm9zeW5jIGtleSB0byAvZXRjL2Nvcm9zeW5jL2F1dGhrZXkuCg=='
+# hacluster-ceph-radosgw:
+# charm: "local:trusty/hacluster"
+# options:
+# corosync_key: |
+# 'tk8U/FkH1+dNsvj6IU0C8AST7i/9ylIoCD8kWpPjB+UE2AYR7tkgkjnc4m5dzIYPYTceY7Hnb9xLJ0nlcQLYYFBRAJOg3drNTcVrfh63y9g9La1J1r51YSbOqXq1Q6RUhxP4OQBtDGE6/4NtZwuRPvPGLcI2ENiVm78l8JFkXRw='
+ percona-cluster:
+ charm: "local:trusty/percona-cluster"
+ num_units: 3
+ options:
+ dataset-size: 2G
+ lp1366997-workaround: true
+ max-connections: 10000
+ root-password: 293rhc395m
+ sst-password: 127rc14t51
+ vip: 10.4.1.15
+ to:
+ - "lxc:nodes=0"
+ - "lxc:nodes=1"
+ - "lxc:nodes=2"
ceilometer:
charm: "local:trusty/ceilometer"
num_units: 3
vip: 10.4.1.14
#os-public-hostname: api.public-fqdn
to:
- - "lxc:nodes-api=2"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
+ - "lxc:nodes=1"
+ - "lxc:nodes=2"
+ - "lxc:nodes=3"
ceilometer-agent:
charm: "local:trusty/ceilometer-agent"
mongodb:
charm: "local:trusty/mongodb"
- num_units: 1
to:
- - "lxc:nodes-api=0"
+ - "lxc:nodes=0"
heat:
charm: "local:trusty/heat"
- num_units: 1
+ num_units: 3
options:
- #vip: 10.4.1.18
+ vip: 10.4.1.18
#os-public-hostname: api.public-fqdn
to:
- - "lxc:nodes-api=0"
-# - "lxc:nodes-api=1"
-# - "lxc:nodes-api=2"
+ - "lxc:nodes=2"
+ - "lxc:nodes=3"
+ - "lxc:nodes=4"
ceph:
charm: local:trusty/ceph
num_units: 3
# ceph-cluster-network: 192.168.0.0/24
# ceph-public-network: 192.168.0.0/24
to:
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=3"
+ - "lxc:nodes=4"
+ - "lxc:nodes=0"
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-api=0"
+ - "nodes=2"
+ - "nodes=3"
+ - "nodes=4"
+# - "nodes=0"
ceph-radosgw:
charm: local:trusty/ceph-radosgw
- num_units: 1
+# vip: 10.4.1.10
+ #os-public-hostname: api.public-fqdn
options:
use-embedded-webserver: true
operator-roles: "Member,admin"
to:
- - "lxc:nodes-api=0"
+ - "lxc:nodes=0"
+# - "lxc:nodes=1"
+# - "lxc:nodes=2"
cinder:
charm: local:trusty/cinder
num_units: 3
options:
block-device: None
glance-api-version: 2
+ vip: 10.4.1.19
#os-public-hostname: api.public-fqdn
# ha-mcastport: 5401
to:
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=4"
+ - "lxc:nodes=0"
+ - "lxc:nodes=1"
cinder-ceph:
charm: local:trusty/cinder-ceph
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=0"
+ - "lxc:nodes=1"
+ - "lxc:nodes=2"
keystone:
charm: local:trusty/keystone
num_units: 3
vip: 10.4.1.13
#os-public-hostname: api.public-fqdn
to:
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=1"
+ - "lxc:nodes=2"
+ - "lxc:nodes=3"
openstack-dashboard:
charm: local:trusty/openstack-dashboard
num_units: 3
vip: 10.4.1.11
webroot: /
to:
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=0"
- - "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
+ #virt-type: lxd
+ #hugepages: "50%"
to:
- - "nodes-compute=0"
- - "nodes-compute=1"
-# - "nodes-api=0"
-# - "nodes-api=1"
-# - "nodes-api=2"
+ - "nodes=1"
+ - "nodes=2"
+ - "nodes=3"
+ - "nodes=4"
nova-cloud-controller:
charm: local:trusty/nova-cloud-controller
num_units: 3
vip: 10.4.1.16
#os-public-hostname: api.public-fqdn
to:
- - "lxc:nodes-api=2"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
+ - "lxc:nodes=3"
+ - "lxc:nodes=4"
+ - "lxc:nodes=0"
neutron-api:
charm: local:trusty/neutron-api
num_units: 3
vip: 10.4.1.17
#os-public-hostname: api.public-fqdn
to:
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=4"
+ - "lxc:nodes=0"
+ - "lxc:nodes=1"
neutron-gateway:
charm: local:trusty/neutron-gateway
options:
plugin: ovs-odl
instance-mtu: 1400
to:
- - "nodes-api=0"
+ - "nodes=0"
odl-controller:
charm: local:trusty/odl-controller
options:
- install-url: "https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.4.1-Beryllium-SR1/distribution-karaf-0.4.1-Beryllium-SR1.tar.gz"
+ install-url: "https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.4.2-Beryllium-SR2/distribution-karaf-0.4.2-Beryllium-SR2.tar.gz"
profile: "openvswitch-odl-beryllium"
http-proxy: "http://squid.internal:3128"
https-proxy: "http://squid.internal:3128"
to:
- - "lxc:nodes-api=1"
+ - "lxc:nodes=0"
glance:
charm: local:trusty/glance
num_units: 3
#os-public-hostname: api.public-fqdn
# ha-mcastport: 5402
to:
- - "lxc:nodes-api=1"
- - "lxc:nodes-api=0"
- - "lxc:nodes-api=2"
+ - "lxc:nodes=0"
+ - "lxc:nodes=1"
+ - "lxc:nodes=2"
opnfv-promise:
branch: lp:~narindergupta/charms/trusty/promise/trunk
to:
- - "lxc:nodes-api=2"
+ - "lxc:nodes=0"
neutron-api-odl:
charm: local:trusty/neutron-api-odl
options:
security-groups: True
openvswitch-odl:
charm: local:trusty/openvswitch-odl
-# haproxy:
-# charm: cs:trusty/haproxy
-# options:
-# services: |
-# - service_name: nova
-# service_host: "0.0.0.0"
-# service_port: 8774
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[nova, 10.4.1.16, 8774, check ]]
-# - service_name: swift
-# service_host: "0.0.0.0"
-# service_port: 80
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[swift, 10.4.1.100, 80, check ]]
-# - service_name: glance
-# service_host: "0.0.0.0"
-# service_port: 9292
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[glance, 10.4.1.12, 9292, check ]]
-# - service_name: cinderv2
-# service_host: "0.0.0.0"
-# service_port: 8776
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[cinderv2, 10.4.1.100, 8776, check ]]
-# - service_name: ceilometer
-# service_host: "0.0.0.0"
-# service_port: 8777
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[ceilometer, 10.4.1.14, 8777, check ]]
-# - service_name: keystone
-# service_host: "0.0.0.0"
-# service_port: 5000
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[keystone, 10.4.1.13, 5000, check ]]
-# - service_name: heat
-# service_host: "0.0.0.0"
-# service_port: 8004
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[heat, 10.4.1.18, 8004, check ]]
-# - service_name: neutron
-# service_host: "0.0.0.0"
-# service_port: 9696
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[neutron, 10.4.1.17, 9696, check ]]
-# - service_name: heat-cfn
-# service_host: "0.0.0.0"
-# service_port: 8000
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[heat-cfn, 192.168.2.162, 8000, check ]]
-# - service_name: cinder
-# service_host: "0.0.0.0"
-# service_port: 8776
-# service_options: [balance leastconn, cookie SRVNAME insert]
-# server_options: maxconn 100 cookie S{i} check
-# servers: [[cinder, 192.168.2.161, 8776, check ]]
-# to:
-# - "lxc:nodes-api=0"
- 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"
- - - "ceilometer:ha"
- - "hacluster-ceilometer:ha"
-# - - "heat:ha"
-# - "hacluster-heat:ha"
- - - "neutron-api:neutron-plugin-api-subordinate"
- - "neutron-api-odl:neutron-plugin-api-subordinate"
- - - "nova-compute:neutron-plugin"
- - "openvswitch-odl:neutron-plugin"
- - - "neutron-gateway"
- - "openvswitch-odl"
- - - "openvswitch-odl:ovsdb-manager"
- - "odl-controller:ovsdb-manager"
- - - "neutron-api-odl:odl-controller"
- - "odl-controller:controller-api"
- - - "keystone:shared-db"
- - "percona-cluster:shared-db"
- - - "nova-cloud-controller:shared-db"
- - "percona-cluster:shared-db"
- - - "nova-cloud-controller:amqp"
- - "rabbitmq-server:amqp"
- - - "nova-cloud-controller:image-service"
- - "glance:image-service"
- - - "nova-cloud-controller:identity-service"
- - "keystone:identity-service"
- - - "nova-cloud-controller:cloud-compute"
- - "nova-compute:cloud-compute"
- - - "nova-compute:amqp"
- - "rabbitmq-server:amqp"
- - - "nova-compute:image-service"
- - "glance:image-service"
- - - "glance:shared-db"
- - "percona-cluster:shared-db"
- - - "glance:identity-service"
- - "keystone:identity-service"
- - - "glance:amqp"
- - "rabbitmq-server:amqp"
- - - "openstack-dashboard:identity-service"
- - "keystone:identity-service"
- - - "neutron-api:shared-db"
- - "percona-cluster:shared-db"
- - - "neutron-api:amqp"
- - "rabbitmq-server:amqp"
- - - "nova-cloud-controller:neutron-api"
- - "neutron-api:neutron-api"
- - - "neutron-api:identity-service"
- - "keystone:identity-service"
- - - "neutron-gateway:amqp"
- - "rabbitmq-server:amqp"
- - - "neutron-gateway:neutron-plugin-api"
- - "neutron-api:neutron-plugin-api"
- - - "nova-cloud-controller:quantum-network-service"
- - "neutron-gateway:quantum-network-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"
- - "percona-cluster:shared-db"
- - - "heat:identity-service"
- - "keystone:identity-service"
- - - "heat:amqp"
- - "rabbitmq-server:amqp"
- - - "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"
- - "percona-cluster:shared-db"
- - - "ceph:client"
- - "cinder-ceph:ceph"
- - - "ceph:client"
- - "glance:ceph"
- - - "ceph-osd:mon"
- - "ceph:osd"
- - - "ceph-radosgw:mon"
- - "ceph:radosgw"
- - - "ceph-radosgw:identity-service"
- - "keystone:identity-service"
-
-trusty-mitaka-nodes:
- inherits: openstack-phase1
- overrides:
- series: trusty
-
-trusty-mitaka:
- inherits: openstack-phase2
- overrides:
-# cluster_count: 3
- #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
-