modfied to include the os qualified domain name for public API.
[joid.git] / ci / opencontrail / juju-deployer / ovs-opencontrail-ha.yaml
1 # vim: set ts=2 et:
2 trusty-mitaka-nodes:
3   inherits: openstack-phase1
4
5 trusty-mitaka:
6   inherits: contrail
7   overrides:
8     #os-data-network: 10.4.8.0/21
9     #ceph-cluster-network: 10.4.0.0/21
10     #prefer-ipv6: true
11     #enable-dvr: true
12     #l2-population: true
13     region: Canonical
14     #source: "cloud:trusty-mitaka"
15     openstack-origin: "cloud:trusty-mitaka"
16     #ceph-osd-replication-count: 2
17     admin-role: admin
18     keystone-admin-role: admin
19
20 openstack-phase1:
21   services:
22     nodes:
23       charm: "cs:trusty/ubuntu"
24       num_units: 5
25     ntp:
26       charm: "local:trusty/ntp"
27       options:
28         source: "0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.org"
29         auto_peers: false
30     zookeeper:
31       charm: local:precise/zookeeper
32       num_units: 3
33       series: precise
34       to:
35         - "lxc:nodes=0"
36         - "lxc:nodes=1"
37         - "lxc:nodes=2"
38     cassandra:
39       charm: local:trusty/cassandra
40       num_units: 3
41       to:
42         - "lxc:nodes=1"
43         - "lxc:nodes=2"
44         - "lxc:nodes=3"
45       options:
46         authenticator: AllowAllAuthenticator
47   relations:
48     - - "ntp:juju-info"
49       - "nodes:juju-info"
50     - - "ntp:juju-info"
51       - "nodes:juju-info"
52
53 contrail:
54   inherits: openstack-phase2
55   overrides:
56     admin-role: admin
57   relations:
58     - [ "contrail-configuration:cassandra", "cassandra:database" ]
59     - [ contrail-configuration, zookeeper ]
60     - [ contrail-configuration, rabbitmq-server ]
61     - [ contrail-configuration, keystone ]
62     - [ neutron-api-contrail, contrail-configuration ]
63     - [ neutron-api-contrail, keystone ]
64     - [ "contrail-control:contrail-api", "contrail-configuration:contrail-api" ]
65     - [ "contrail-control:contrail-discovery", "contrail-configuration:contrail-discovery" ]
66     - [ "contrail-control:contrail-ifmap", "contrail-configuration:contrail-ifmap" ]
67     - [ contrail-control, keystone ]
68     - [ "contrail-analytics:cassandra", "cassandra:database" ]
69     - [ "contrail-analytics:contrail-analytics-api", "contrail-configuration:contrail-analytics-api" ]
70     - [ "contrail-configuration:contrail-discovery", "contrail-analytics:contrail-discovery" ]
71     - [ contrail-webui, keystone ]
72     - [ "contrail-webui:contrail_api", "contrail-configuration:contrail-api" ]
73     - [ "contrail-webui:contrail_discovery", "contrail-configuration:contrail-discovery" ]
74     - [ "contrail-webui:cassandra", "cassandra:database" ]
75     - [ nova-compute, neutron-contrail ]
76     - [ "neutron-contrail:contrail-discovery", "contrail-configuration:contrail-discovery" ]
77     - [ "neutron-contrail:contrail-api", "contrail-configuration:contrail-api" ]
78     - [ neutron-contrail, keystone ]
79     - [ contrail-configuration, ntp ]
80     - [ contrail-control, ntp ]
81     - [ contrail-analytics, ntp ]
82     - [ contrail-configuration, haproxy ]
83     - [ contrail-analytics, haproxy ]
84     - [ contrail-webui, haproxy ]
85     - [ haproxy, keepalived ]
86   services:
87     contrail-configuration:
88       charm: local:trusty/contrail-configuration
89       num_units: 3
90       options:
91         vip: 10.4.1.18
92       to:
93         - "lxc:nodes=2"
94         - "lxc:nodes=3"
95         - "lxc:nodes=4"
96     contrail-control:
97       charm: local:trusty/contrail-control
98       num_units: 3
99       to:
100         - "lxc:nodes=3"
101         - "lxc:nodes=4"
102         - "lxc:nodes=0"
103     contrail-analytics:
104       charm: local:trusty/contrail-analytics
105       num_units: 3
106       to:
107         - "lxc:nodes=4"
108         - "lxc:nodes=0"
109         - "lxc:nodes=1"
110     contrail-webui:
111       charm: local:trusty/contrail-webui
112       num_units: 3
113       to:
114         - "lxc:nodes=0"
115         - "lxc:nodes=1"
116         - "lxc:nodes=2"
117     neutron-api-contrail:
118       charm: local:trusty/neutron-api-contrail
119     neutron-contrail:
120       charm: local:trusty/neutron-contrail
121     haproxy:
122       charm: local:trusty/haproxy
123       num_units: 3
124       options:
125         peering_mode: active-active
126       to:
127         - "lxc:nodes=1"
128         - "lxc:nodes=2"
129         - "lxc:nodes=3"
130     keepalived:
131       charm: local:trusty/keepalived
132       options:
133         virtual-ip: 10.4.1.19
134
135 openstack-phase2:
136   inherits: openstack-phase1
137   relations:
138     - [ "mysql:ha", "hacluster-mysql:ha" ]
139     - [ "glance:ha", "hacluster-glance:ha" ]
140     - [ "keystone:ha", "hacluster-keystone:ha" ]
141     - [ "neutron-api:ha", "hacluster-neutron:ha" ]
142     - [ "nova-cloud-controller:ha", "hacluster-nova:ha" ]
143     - [ "openstack-dashboard:ha", "hacluster-horizon:ha" ]
144     - [ "ceilometer:ha", "hacluster-ceilometer:ha" ]
145     - [ keystone, mysql ]
146     - [ nova-cloud-controller, mysql ]
147     - [ nova-cloud-controller, rabbitmq-server ]
148     - [ nova-cloud-controller, glance ]
149     - [ nova-cloud-controller, keystone ]
150     - [ nova-compute, nova-cloud-controller ]
151     - [ "nova-compute:shared-db", "mysql:shared-db" ]
152     - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
153     - [ nova-compute, glance ]
154     - [ glance, mysql ]
155     - [ glance, keystone ]
156     - [ openstack-dashboard, keystone ]
157     - [ neutron-api, mysql ]
158     - [ neutron-api, rabbitmq-server ]
159     - [ neutron-api, nova-cloud-controller ]
160     - [ neutron-api, keystone ]
161     - [ neutron-api, neutron-api-contrail ]
162     - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
163     - [ "ceilometer-agent:ceilometer-service", "ceilometer:ceilometer-service" ]
164     - [ "ceilometer:identity-service", "keystone:identity-service" ]
165     - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
166     - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
167     - [ "ceilometer:shared-db", "mongodb:database" ]
168     - [ "heat:shared-db", "mysql:shared-db" ]
169     - [ "heat:identity-service", "keystone:identity-service" ]
170     - [ "heat:amqp", "rabbitmq-server:amqp" ]
171     - [ "cinder:image-service", "glance:image-service" ]
172     - [ "cinder:amqp", "rabbitmq-server:amqp" ]
173     - [ "cinder:identity-service", "keystone:identity-service" ]
174     - [ "cinder:cinder-volume-service", "nova-cloud-controller:cinder-volume-service" ]
175     - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
176     - [ "ceph:client", "nova-compute:ceph" ]
177     - [ "cinder:shared-db", "mysql:shared-db" ]
178     - [ "ceph:client", "cinder-ceph:ceph" ]
179     - [ "ceph:client", "glance:ceph" ]
180     - [ "ceph-osd:mon", "ceph:osd" ]
181     - [ "ceph-radosgw:mon", "ceph:radosgw" ]
182     - [ "ceph-radosgw:identity-service", "keystone:identity-service" ]
183     #- - nova-compute:lxd
184       #- lxd:lxd
185     - - congress:shared-db
186       - mysql:shared-db
187     - - congress:identity-service
188       - keystone:identity-service
189     - - congress:amqp
190       - rabbitmq-server:amqp
191
192   services:
193     mysql:
194       charm: "local:trusty/percona-cluster"
195       num_units: 3
196       options:
197         dataset-size: 2G
198         lp1366997-workaround: true
199         max-connections: 10000
200         root-password: 293rhc395m
201         sst-password: 127rc14t51
202         vip: 10.4.1.15
203       to:
204         - "lxc:nodes=2"
205         - "lxc:nodes=3"
206         - "lxc:nodes=4"
207     hacluster-keystone:
208       charm: "local:trusty/hacluster"
209       options:
210         corosync_transport: unicast
211         corosync_key: |
212           'QisjNpoKHLkvyc3PEdDHP5VZjgD0kOk9t0ABPWmCELlu5AgWgnW6bJd34BVXO7VhW+3ZwNQM3W+bZ3pl28ftY4ki4N/S0KLFNia5egFgiA3AH2QXLnokS7OYXuu6GMJJ1S5mDe6P5zU+tfJe/Mebq24u7CgR0gAvohSPRdDTwdY='
213     hacluster-horizon:
214       charm: "local:trusty/hacluster"
215       options:
216         corosync_transport: unicast
217         corosync_key: |
218           'aCVPHw6XYne+Hxv0WPiM3+yEfeIxs0Ly0EMKB494Rdzjf5rE52GcXqqxuvIa/nXJ4GCR+UdKk9FEwcASfYkeu3HDWUld9uTE6pOc+ibWYnybNH7VBfEHW8h9YmQKs3HD2T3wlTcS2irU4CUW7/IKNok4etYdM3iFn1K2ReSGXEI='
219     hacluster-nova:
220       charm: "local:trusty/hacluster"
221       options:
222         corosync_transport: unicast
223         corosync_key: |
224           'gel86qmEze8dYKYbfqIgRpqapJpKtdYL2hxC1y5nWYBPq7EMf6V8mF01IjeUkSRs14CUDrsPpT4PWeom7EOY2fleuLx/aIuqQUfEDkhf/gvaz7BaU4hrmTCoDBK7/HvEwY+/wu4qkEeckzSRPsm9MYzqnLRshh8yjZJ70xU/mmk='
225     hacluster-neutron: 
226       charm: "local:trusty/hacluster"
227       options:
228         corosync_transport: unicast
229         corosync_key: |
230           'KNhb4++3jlllbnscS5D3qdzOJDsQPEeZ7zOLZJHbkKrRjX9gRCijVVOiv2JCvq03HqQ7LIufQzWGl9Za8qh0f6QmQ3XhFh/Cb/3WaYFj+tEf0zArWv+8miswmM1z4eyTSrTWBq0dTgx1z96wjBxP5HV0+1LWW+3Ei4oZWyRGeR0='
231     hacluster-glance:
232       charm: "local:trusty/hacluster"
233       options:
234         corosync_transport: unicast
235         corosync_key: |
236           'el1dd8107J5mwQDPS7tEJPZrr0XFfL95+Tku/QG90W5Q5f5SP4W8TRfKvddGmZWZl2lVd1neG5WqaHa1mq/aScJpoflzVAJCvshN7Gd2AjHhLNNugeI8S90j/7wrKUhqiCAlkKaeri2xs5bB5PZ7Z9AHuNZL7SW1al8lxrKhUFI='
237     hacluster-ceilometer:
238       charm: "local:trusty/hacluster"
239       options:
240         corosync_transport: unicast
241         corosync_key: |
242           'cHkgKGJpdHMgPSA5NjApLgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDEwMDgpLgpXcml0aW5nIGNvcm9zeW5jIGtleSB0byAvZXRjL2Nvcm9zeW5jL2F1dGhrZXkuCg=='
243     hacluster-mysql:
244       charm: "local:trusty/hacluster"
245       options:
246         corosync_transport: unicast
247         corosync_key: |
248           'Q29yb3N5bmMgQ2x1c3RlciBFbmdpbmUgQXV0aGVudGljYXRpb24ga2V5IGdlbmVyYXRvci4KR2F0aGVyaW5nIDEwMjQgYml0cyBmb3Iga2V5IGZyb20gL2Rldi9yYW5kb20uClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5LgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDkyMCkuClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5IChiaXRzID0gMTAwMCkuCldyaXRpbmcgY29yb3N5bmMga2V5IHRvIC9ldGMvY29yb3N5bmMvYXV0aGtleS4K'
249     ceilometer:
250       charm: "local:trusty/ceilometer"
251       num_units: 3
252       options:
253         vip: 10.4.1.14
254       to:
255         - "lxc:nodes=3"
256         - "lxc:nodes=4"
257         - "lxc:nodes=0"
258     ceilometer-agent:
259       charm: "local:trusty/ceilometer-agent"
260     mongodb:
261       charm: "cs:trusty/mongodb"
262       num_units: 1
263       to:
264         - "lxc:nodes=0"
265     heat:
266       charm: "local:trusty/heat"
267       to:
268         - "lxc:nodes=0"
269     ceph:
270       charm: local:trusty/ceph
271       num_units: 3
272       options:
273         fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7
274         monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A==
275         monitor-count: 3
276 #        osd-reformat: 'no'
277 #        ceph-cluster-network: 192.168.0.0/24
278 #        ceph-public-network: 192.168.0.0/24
279       to:
280         - "lxc:nodes=4"
281         - "lxc:nodes=0"
282         - "lxc:nodes=1"
283     ceph-osd:
284       charm: local:trusty/ceph-osd
285       num_units: 3
286       options:
287         osd-devices: /srv
288         osd-reformat: 'yes'
289       to:
290         - "nodes=2"
291         - "nodes=3"
292         - "nodes=4"
293     ceph-radosgw:
294       charm: local:trusty/ceph-radosgw
295       options:
296         use-embedded-webserver: true
297         operator-roles: "Member,admin"
298       to:
299         - "lxc:nodes=0"
300     cinder:
301       charm: local:trusty/cinder
302       num_units: 3
303       options:
304         block-device: None
305         glance-api-version: 2
306       to:
307         - "lxc:nodes=0"
308         - "lxc:nodes=1"
309         - "lxc:nodes=2"
310     cinder-ceph:
311       charm: local:trusty/cinder-ceph
312     rabbitmq-server: 
313       charm: local:trusty/rabbitmq-server
314       num_units: 3
315       options:
316         vip: 10.4.1.10
317       to:
318         - "lxc:nodes=1"
319         - "lxc:nodes=2"
320         - "lxc:nodes=3"
321     keystone: 
322       charm: local:trusty/keystone
323       num_units: 3
324       options: 
325         admin-password: openstack
326         admin-token: admin
327         vip: 10.4.1.13
328       to:
329         - "lxc:nodes=2"
330         - "lxc:nodes=3"
331         - "lxc:nodes=4"
332     openstack-dashboard: 
333       charm: local:trusty/openstack-dashboard
334       num_units: 3
335       options: 
336         secret: admin
337         vip: 10.4.1.11
338         webroot: /
339       to:
340         - "lxc:nodes=3"
341         - "lxc:nodes=4"
342         - "lxc:nodes=0"
343     nova-compute:
344       charm: local:trusty/nova-compute
345       num_units: 4
346       options:
347         enable-live-migration: False
348         manage-neutron-plugin-legacy-mode: False
349         migration-auth-type: ssh
350         #hugepages: "50%"
351         #virt-type: lxd
352       to:
353         - "nodes=1"
354         - "nodes=2"
355         - "nodes=3"
356         - "nodes=4"
357     nova-cloud-controller:
358       charm: local:trusty/nova-cloud-controller
359       num_units: 3
360       options:
361         console-access-protocol: novnc
362         network-manager: Neutron
363         service-guard: true
364         vip: 10.4.1.16
365       to:
366         - "lxc:nodes=4"
367         - "lxc:nodes=0"
368         - "lxc:nodes=1"
369     neutron-api:
370       charm: local:trusty/neutron-api
371       num_units: 3
372       options:
373         neutron-security-groups: True
374         manage-neutron-plugin-legacy-mode: False
375         vip: 10.4.1.17
376       to:
377         - "lxc:nodes=0"
378         - "lxc:nodes=1"
379         - "lxc:nodes=2"
380     glance:
381       charm: local:trusty/glance
382       num_units: 3
383       options:
384         vip: 10.4.1.12
385       to:
386         - "lxc:nodes=1"
387         - "lxc:nodes=2"
388         - "lxc:nodes=3"
389     opnfv-promise:
390       charm: local:trusty/promise
391       num_units: 1
392       to:
393         - "lxc:nodes=0"
394     congress:
395       charm: local:trusty/congress
396       options:
397         #source-branch: stable/mitaka
398       to:
399         - "lxc:nodes=0"