it seems heat charm is not designed to be HA.
[joid.git] / ci / odl / juju-deployer / ovs-odl-ha.yaml
1 # vim: set ts=2 et:
2 openstack-phase1:
3   series: trusty
4   services:
5     nodes-api:
6       charm: "cs:trusty/ubuntu"
7       num_units: 3
8       constraints: tags=control
9     nodes-compute:
10       charm: "cs:trusty/ubuntu"
11       num_units: 2
12       constraints: tags=compute
13     ntp:
14       charm: "cs:trusty/ntp"
15   relations:
16     - - "ntp:juju-info"
17       - "nodes-api:juju-info"
18     - - "ntp:juju-info"
19       - "nodes-compute:juju-info"
20 openstack-phase2:
21   inherits: openstack-phase1
22   services:
23     percona-cluster:
24       branch: "lp:~openstack-charmers/charms/trusty/percona-cluster/next"
25       num_units: 3
26       options:
27         dataset-size: 2G
28         lp1366997-workaround: true
29         max-connections: 10000
30         root-password: 293rhc395m
31         sst-password: 127rc14t51
32         vip: 10.4.1.15
33       to:
34         - "lxc:nodes-api=1"
35         - "lxc:nodes-api=0"
36         - "lxc:nodes-api=2"
37     hacluster-keystone:
38       branch: "lp:~openstack-charmers/charms/trusty/hacluster/next"
39       options:
40         corosync_key: |
41           'QisjNpoKHLkvyc3PEdDHP5VZjgD0kOk9t0ABPWmCELlu5AgWgnW6bJd34BVXO7VhW+3ZwNQM3W+bZ3pl28ftY4ki4N/S0KLFNia5egFgiA3AH2QXLnokS7OYXuu6GMJJ1S5mDe6P5zU+tfJe/Mebq24u7CgR0gAvohSPRdDTwdY='
42 #    hacluster-heat:
43 #      branch: "lp:~openstack-charmers/charms/trusty/hacluster/next"
44 #      options:
45 #        corosync_key: |
46 #          'Q29yb3N5bmMgQ2x1c3RlciBFbmdpbmUgQXV0aGVudGljYXRpb24ga2V5IGdlbmVyYXRvci4KR2F0aGVyaW5nIDEwMjQgYml0cyBmb3Iga2V5IGZyb20gL2Rldi9yYW5kb20uClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5LgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDkxMikuClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5IChiaXRzID0gOTYwKS4KUHJlc3Mga2V5cyBvbiB5b3VyIGtleWJvYXJkIHRvIGdlbmVyYX'
47     hacluster-horizon:
48       branch: "lp:~openstack-charmers/charms/trusty/hacluster/next"
49       options:
50         corosync_key: |
51           'aCVPHw6XYne+Hxv0WPiM3+yEfeIxs0Ly0EMKB494Rdzjf5rE52GcXqqxuvIa/nXJ4GCR+UdKk9FEwcASfYkeu3HDWUld9uTE6pOc+ibWYnybNH7VBfEHW8h9YmQKs3HD2T3wlTcS2irU4CUW7/IKNok4etYdM3iFn1K2ReSGXEI='
52     hacluster-nova:
53       branch: "lp:~openstack-charmers/charms/trusty/hacluster/next"
54       options:
55         corosync_key: |
56           'gel86qmEze8dYKYbfqIgRpqapJpKtdYL2hxC1y5nWYBPq7EMf6V8mF01IjeUkSRs14CUDrsPpT4PWeom7EOY2fleuLx/aIuqQUfEDkhf/gvaz7BaU4hrmTCoDBK7/HvEwY+/wu4qkEeckzSRPsm9MYzqnLRshh8yjZJ70xU/mmk='
57     hacluster-neutron:
58       branch: "lp:~openstack-charmers/charms/trusty/hacluster/next"
59       options:
60         corosync_key: |
61           'KNhb4++3jlllbnscS5D3qdzOJDsQPEeZ7zOLZJHbkKrRjX9gRCijVVOiv2JCvq03HqQ7LIufQzWGl9Za8qh0f6QmQ3XhFh/Cb/3WaYFj+tEf0zArWv+8miswmM1z4eyTSrTWBq0dTgx1z96wjBxP5HV0+1LWW+3Ei4oZWyRGeR0='
62     hacluster-glance:
63       branch: "lp:~openstack-charmers/charms/trusty/hacluster/next"
64       options:
65         corosync_key: |
66           'el1dd8107J5mwQDPS7tEJPZrr0XFfL95+Tku/QG90W5Q5f5SP4W8TRfKvddGmZWZl2lVd1neG5WqaHa1mq/aScJpoflzVAJCvshN7Gd2AjHhLNNugeI8S90j/7wrKUhqiCAlkKaeri2xs5bB5PZ7Z9AHuNZL7SW1al8lxrKhUFI='
67     hacluster-ceilometer:
68       branch: "lp:~openstack-charmers/charms/trusty/hacluster/next"
69       options:
70         corosync_key: |
71           'cHkgKGJpdHMgPSA5NjApLgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDEwMDgpLgpXcml0aW5nIGNvcm9zeW5jIGtleSB0byAvZXRjL2Nvcm9zeW5jL2F1dGhrZXkuCg=='
72     ceilometer:
73       branch: "lp:~openstack-charmers/charms/trusty/ceilometer/next"
74       num_units: 3
75       options:
76         vip: 10.4.1.14
77         #os-public-hostname: api.public-fqdn
78       to:
79         - "lxc:nodes-api=2"
80         - "lxc:nodes-api=0"
81         - "lxc:nodes-api=1"
82     ceilometer-agent:
83       branch: "lp:~openstack-charmers/charms/trusty/ceilometer-agent/next"
84     mongodb:
85       charm: "cs:trusty/mongodb"
86       num_units: 1
87       to:
88         - "lxc:nodes-api=0"
89     heat:
90       branch: "lp:~openstack-charmers/charms/trusty/heat/next"
91       num_units: 3
92       options:
93         #vip: 10.4.1.18
94         #os-public-hostname: api.public-fqdn
95       to:
96         - "lxc:nodes-api=0"
97         - "lxc:nodes-api=1"
98         - "lxc:nodes-api=2"
99     ceph:
100       branch: lp:~openstack-charmers/charms/trusty/ceph/next
101       num_units: 3
102       options:
103         fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7
104         monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A==
105         osd-devices: ""
106         monitor-count: 3
107 #        osd-reformat: 'false'
108 #        ceph-cluster-network: 192.168.0.0/24
109 #        ceph-public-network: 192.168.0.0/24
110       to:
111         - "lxc:nodes-api=0"
112         - "lxc:nodes-api=1"
113         - "lxc:nodes-api=2"
114     ceph-osd:
115       branch: lp:~openstack-charmers/charms/trusty/ceph-osd/next
116       num_units: 2
117       options:
118         osd-devices: /srv
119         osd-reformat: 'yes'
120       to:
121         - "nodes-compute=0"
122         - "nodes-compute=1"
123 #        - "nodes-api=0"
124     ceph-radosgw:
125       branch: lp:~openstack-charmers/charms/trusty/ceph-radosgw/next
126       num_units: 1
127       options:
128         use-embedded-webserver: true
129         operator-roles: "Member,admin"
130       to:
131         - "lxc:nodes-api=0"
132     cinder:
133       branch: lp:~openstack-charmers/charms/trusty/cinder/next
134       num_units: 3
135       options:
136         block-device: None
137         glance-api-version: 2
138         #os-public-hostname: api.public-fqdn
139 #        ha-mcastport: 5401
140       to:
141         - "lxc:nodes-api=1"
142         - "lxc:nodes-api=0"
143         - "lxc:nodes-api=2"
144     cinder-ceph:
145       branch: lp:~openstack-charmers/charms/trusty/cinder-ceph/next
146     rabbitmq-server:
147       branch: lp:~openstack-charmers/charms/trusty/rabbitmq-server/next
148       num_units: 3
149       to:
150         - "lxc:nodes-api=2"
151         - "lxc:nodes-api=0"
152         - "lxc:nodes-api=1"
153     keystone:
154       branch: lp:~openstack-charmers/charms/trusty/keystone/next
155       num_units: 3
156       options:
157 #        ha-mcastport: 5402
158         admin-password: openstack
159         admin-token: admin
160         vip: 10.4.1.13
161         #os-public-hostname: api.public-fqdn
162       to:
163         - "lxc:nodes-api=0"
164         - "lxc:nodes-api=1"
165         - "lxc:nodes-api=2"
166     openstack-dashboard:
167       branch: lp:~openstack-charmers/charms/trusty/openstack-dashboard/next
168       num_units: 3
169       options:
170         secret: admin
171         vip: 10.4.1.11
172         webroot: /
173       to:
174         - "lxc:nodes-api=1"
175         - "lxc:nodes-api=0"
176         - "lxc:nodes-api=2"
177     nova-compute:
178       branch: lp:~openstack-charmers/charms/trusty/nova-compute/next
179       num_units: 2
180       options:
181         enable-live-migration: true
182         enable-resize: true
183         manage-neutron-plugin-legacy-mode: false
184         migration-auth-type: ssh
185       to:
186         - "nodes-compute=0"
187         - "nodes-compute=1"
188 #        - "nodes-api=0"
189 #        - "nodes-api=1"
190 #        - "nodes-api=2"
191     nova-cloud-controller:
192       branch: lp:~openstack-charmers/charms/trusty/nova-cloud-controller/next
193       num_units: 3
194       options:
195         console-access-protocol: novnc
196         network-manager: Neutron
197         quantum-security-groups: "yes"
198         service-guard: true
199         neutron-external-network: ext_net
200         vip: 10.4.1.16
201         #os-public-hostname: api.public-fqdn
202       to:
203         - "lxc:nodes-api=2"
204         - "lxc:nodes-api=0"
205         - "lxc:nodes-api=1"
206     neutron-api:
207       branch: lp:~openstack-charmers/charms/trusty/neutron-api/next
208       num_units: 3
209       options:
210         neutron-security-groups: True
211         manage-neutron-plugin-legacy-mode: False
212         vip: 10.4.1.17
213         #os-public-hostname: api.public-fqdn
214       to:
215         - "lxc:nodes-api=0"
216         - "lxc:nodes-api=1"
217         - "lxc:nodes-api=2"
218     neutron-gateway:
219       branch: lp:~openstack-charmers/charms/trusty/neutron-gateway/next
220       options:
221         #ext-port: "eth1"
222         plugin: ovs-odl
223         instance-mtu: 1400
224       to:
225         - "nodes-api=0"
226     odl-controller:
227       branch: lp:~opnfv-team/charms/trusty/odl-controller/Be
228       options:
229         install-url: "https://nexus.opendaylight.org/content/repositories/staging/org/opendaylight/integration/distribution-karaf/0.4.0-Beryllium-RC2/distribution-karaf-0.4.0-Beryllium-RC2.tar.gz"
230         profile: "openvswitch-odl-Be"
231         http-proxy: "http://squid.internal:3128"
232         https-proxy: "http://squid.internal:3128"
233       to:
234         - "lxc:nodes-api=1"
235     glance:
236       branch: lp:~openstack-charmers/charms/trusty/glance/next
237       num_units: 3
238       options:
239         vip: 10.4.1.12
240         #os-public-hostname: api.public-fqdn
241 #        ha-mcastport: 5402
242       to:
243         - "lxc:nodes-api=1"
244         - "lxc:nodes-api=0"
245         - "lxc:nodes-api=2"
246     opnfv-promise:
247       branch: lp:~narindergupta/charms/trusty/promise/trunk
248       num_units: 1
249       to:
250         - "lxc:nodes-api=2"
251     neutron-api-odl:
252       branch: lp:~openstack-charmers/charms/trusty/neutron-api-odl/next
253       options:
254         overlay-network-type: 'vxlan gre'
255         security-groups: True
256     openvswitch-odl:
257       branch: lp:~openstack-charmers/charms/trusty/openvswitch-odl/trunk
258     haproxy:
259       charm: cs:trusty/haproxy
260       options:
261         services: |
262           - service_name: nova
263             service_host: "0.0.0.0"
264             service_port: 8774
265             service_options: [balance leastconn, cookie SRVNAME insert]
266             server_options: maxconn 100 cookie S{i} check
267             servers: [[nova, 10.4.1.16, 8774, check ]]
268           - service_name: swift
269             service_host: "0.0.0.0"
270             service_port: 80
271             service_options: [balance leastconn, cookie SRVNAME insert]
272             server_options: maxconn 100 cookie S{i} check
273             servers: [[swift, 10.4.1.100, 80, check ]]
274           - service_name: glance
275             service_host: "0.0.0.0"
276             service_port: 9292
277             service_options: [balance leastconn, cookie SRVNAME insert]
278             server_options: maxconn 100 cookie S{i} check
279             servers: [[glance, 10.4.1.12, 9292, check ]]
280           - service_name: cinderv2
281             service_host: "0.0.0.0"
282             service_port: 8776
283             service_options: [balance leastconn, cookie SRVNAME insert]
284             server_options: maxconn 100 cookie S{i} check
285             servers: [[cinderv2, 10.4.1.100, 8776, check ]]
286           - service_name: ceilometer
287             service_host: "0.0.0.0"
288             service_port: 8777
289             service_options: [balance leastconn, cookie SRVNAME insert]
290             server_options: maxconn 100 cookie S{i} check
291             servers: [[ceilometer, 10.4.1.14, 8777, check ]]
292           - service_name: keystone
293             service_host: "0.0.0.0"
294             service_port: 5000
295             service_options: [balance leastconn, cookie SRVNAME insert]
296             server_options: maxconn 100 cookie S{i} check
297             servers: [[keystone, 10.4.1.13, 5000, check ]]
298           - service_name: heat
299             service_host: "0.0.0.0"
300             service_port: 8004
301             service_options: [balance leastconn, cookie SRVNAME insert]
302             server_options: maxconn 100 cookie S{i} check
303             servers: [[heat, 10.4.1.18, 8004, check ]]
304           - service_name: neutron
305             service_host: "0.0.0.0"
306             service_port: 9696
307             service_options: [balance leastconn, cookie SRVNAME insert]
308             server_options: maxconn 100 cookie S{i} check
309             servers: [[neutron, 10.4.1.17, 9696, check ]]
310           - service_name: heat-cfn
311             service_host: "0.0.0.0"
312             service_port: 8000
313             service_options: [balance leastconn, cookie SRVNAME insert]
314             server_options: maxconn 100 cookie S{i} check
315             servers: [[heat-cfn, 192.168.2.162, 8000, check ]]
316           - service_name: cinder
317             service_host: "0.0.0.0"
318             service_port: 8776
319             service_options: [balance leastconn, cookie SRVNAME insert]
320             server_options: maxconn 100 cookie S{i} check
321             servers: [[cinder, 192.168.2.161, 8776, check ]]
322       to:
323         - "lxc:nodes-api=0"
324   relations:
325     - - "glance:ha"
326       - "hacluster-glance:ha"
327     - - "keystone:ha"
328       - "hacluster-keystone:ha"
329     - - "neutron-api:ha"
330       - "hacluster-neutron:ha"
331     - - "nova-cloud-controller:ha"
332       - "hacluster-nova:ha"
333     - - "openstack-dashboard:ha"
334       - "hacluster-horizon:ha"
335     - - "ceilometer:ha"
336       - "hacluster-ceilometer:ha"
337 #    - - "heat:ha"
338 #      - "hacluster-heat:ha"
339     - - "neutron-api:neutron-plugin-api-subordinate"
340       - "neutron-api-odl:neutron-plugin-api-subordinate"
341     - - "nova-compute:neutron-plugin"
342       - "openvswitch-odl:neutron-plugin"
343     - - "neutron-gateway"
344       - "openvswitch-odl"
345     - - "openvswitch-odl:ovsdb-manager"
346       - "odl-controller:ovsdb-manager"
347     - - "neutron-api-odl:odl-controller"
348       - "odl-controller:controller-api"
349     - - "keystone:shared-db"
350       - "percona-cluster:shared-db"
351     - - "nova-cloud-controller:shared-db"
352       - "percona-cluster:shared-db"
353     - - "nova-cloud-controller:amqp"
354       - "rabbitmq-server:amqp"
355     - - "nova-cloud-controller:image-service"
356       - "glance:image-service"
357     - - "nova-cloud-controller:identity-service"
358       - "keystone:identity-service"
359     - - "nova-cloud-controller:cloud-compute"
360       - "nova-compute:cloud-compute"
361     - - "nova-compute:amqp"
362       - "rabbitmq-server:amqp"
363     - - "nova-compute:image-service"
364       - "glance:image-service"
365     - - "glance:shared-db"
366       - "percona-cluster:shared-db"
367     - - "glance:identity-service"
368       - "keystone:identity-service"
369     - - "glance:amqp"
370       - "rabbitmq-server:amqp"
371     - - "openstack-dashboard:identity-service"
372       - "keystone:identity-service"
373     - - "neutron-api:shared-db"
374       - "percona-cluster:shared-db"
375     - - "neutron-api:amqp"
376       - "rabbitmq-server:amqp"
377     - - "nova-cloud-controller:neutron-api"
378       - "neutron-api:neutron-api"
379     - - "neutron-api:identity-service"
380       - "keystone:identity-service"
381     - - "neutron-gateway:amqp"
382       - "rabbitmq-server:amqp"
383     - - "neutron-gateway:neutron-plugin-api"
384       - "neutron-api:neutron-plugin-api"
385     - - "nova-cloud-controller:quantum-network-service"
386       - "neutron-gateway:quantum-network-service"
387     - - "ceilometer:amqp"
388       - "rabbitmq-server:amqp"
389     - - "ceilometer-agent:ceilometer-service"
390       - "ceilometer:ceilometer-service"
391     - - "ceilometer:identity-service"
392       - "keystone:identity-service"
393     - - "ceilometer:identity-notifications"
394       - "keystone:identity-notifications"
395     - - "ceilometer-agent:nova-ceilometer"
396       - "nova-compute:nova-ceilometer"
397     - - "ceilometer:shared-db"
398       - "mongodb:database"
399     - - "heat:shared-db"
400       - "percona-cluster:shared-db"
401     - - "heat:identity-service"
402       - "keystone:identity-service"
403     - - "heat:amqp"
404       - "rabbitmq-server:amqp"
405     - - "cinder:image-service"
406       - "glance:image-service"
407     - - "cinder:amqp"
408       - "rabbitmq-server:amqp"
409     - - "cinder:identity-service"
410       - "keystone:identity-service"
411     - - "cinder:cinder-volume-service"
412       - "nova-cloud-controller:cinder-volume-service"
413     - - "cinder-ceph:storage-backend"
414       - "cinder:storage-backend"
415     - - "ceph:client"
416       - "nova-compute:ceph"
417     - - "cinder:shared-db"
418       - "percona-cluster:shared-db"
419     - - "ceph:client"
420       - "cinder-ceph:ceph"
421     - - "ceph:client"
422       - "glance:ceph"
423     - - "ceph-osd:mon"
424       - "ceph:osd"
425     - - "ceph-radosgw:mon"
426       - "ceph:radosgw"
427     - - "ceph-radosgw:identity-service"
428       - "keystone:identity-service"
429
430 trusty-liberty-nodes:
431   inherits: openstack-phase1
432   overrides:
433     series: trusty
434
435 trusty-liberty:
436   inherits: openstack-phase2
437   overrides:
438 #    cluster_count: 3
439     #os-data-network: 10.4.8.0/21
440     #ceph-cluster-network: 10.4.0.0/21
441     #prefer-ipv6: true
442     #enable-dvr: true
443     #l2-population: true
444     #ext-port: "eth1"
445     region: Canonical
446     source: "cloud:trusty-liberty"
447     openstack-origin: "cloud:trusty-liberty"
448     series: trusty
449     ceph-osd-replication-count: 2
450     admin-role: admin
451     keystone-admin-role: admin
452
453 trusty-kilo-nodes:
454   inherits: openstack-phase1
455   overrides:
456     series: trusty
457
458 trusty-kilo:
459   inherits: openstack-phase2
460   overrides:
461 #    cluster_count: 3
462     #os-data-network: 10.4.8.0/21
463     #ceph-cluster-network: 10.4.0.0/21
464     #prefer-ipv6: true
465     #enable-dvr: true
466     #l2-population: true
467     #ext-port: "eth1"
468     region: Canonical
469     source: "cloud:trusty-kilo"
470     openstack-origin: "cloud:trusty-kilo"
471     series: trusty
472     ceph-osd-replication-count: 2
473     admin-role: admin
474     keystone-admin-role: admin
475
476 trusty-juno-nodes:
477   inherits: openstack-phase1
478   overrides:
479     series: trusty
480
481 trusty-juno:
482   inherits: openstack-phase2
483   overrides:
484 #    cluster_count: 3
485     #os-data-network: 10.4.8.0/21
486     #ceph-cluster-network: 10.4.0.0/21
487     #prefer-ipv6: true
488     #enable-dvr: true
489     #l2-population: true
490     #ext-port: "eth1"
491     region: Canonical
492     source: "cloud:trusty-juno"
493     openstack-origin: "cloud:trusty-juno"
494     series: trusty
495     ceph-osd-replication-count: 2
496     admin-role: admin
497     keystone-admin-role: admin