tryign to reduce the single heat service as heat can not 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       charm: "local:trusty/percona-cluster"
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       charm: "local:trusty/hacluster"
39       options:
40         corosync_key: |
41           'QisjNpoKHLkvyc3PEdDHP5VZjgD0kOk9t0ABPWmCELlu5AgWgnW6bJd34BVXO7VhW+3ZwNQM3W+bZ3pl28ftY4ki4N/S0KLFNia5egFgiA3AH2QXLnokS7OYXuu6GMJJ1S5mDe6P5zU+tfJe/Mebq24u7CgR0gAvohSPRdDTwdY='
42 #    hacluster-heat:
43 #      charm: "local:trusty/hacluster"
44 #      options:
45 #        corosync_key: |
46 #          'Q29yb3N5bmMgQ2x1c3RlciBFbmdpbmUgQXV0aGVudGljYXRpb24ga2V5IGdlbmVyYXRvci4KR2F0aGVyaW5nIDEwMjQgYml0cyBmb3Iga2V5IGZyb20gL2Rldi9yYW5kb20uClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5LgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDkxMikuClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5IChiaXRzID0gOTYwKS4KUHJlc3Mga2V5cyBvbiB5b3VyIGtleWJvYXJkIHRvIGdlbmVyYX'
47     hacluster-horizon:
48       charm: "local:trusty/hacluster"
49       options:
50         corosync_key: |
51           'aCVPHw6XYne+Hxv0WPiM3+yEfeIxs0Ly0EMKB494Rdzjf5rE52GcXqqxuvIa/nXJ4GCR+UdKk9FEwcASfYkeu3HDWUld9uTE6pOc+ibWYnybNH7VBfEHW8h9YmQKs3HD2T3wlTcS2irU4CUW7/IKNok4etYdM3iFn1K2ReSGXEI='
52     hacluster-nova:
53       charm: "local:trusty/hacluster"
54       options:
55         corosync_key: |
56           'gel86qmEze8dYKYbfqIgRpqapJpKtdYL2hxC1y5nWYBPq7EMf6V8mF01IjeUkSRs14CUDrsPpT4PWeom7EOY2fleuLx/aIuqQUfEDkhf/gvaz7BaU4hrmTCoDBK7/HvEwY+/wu4qkEeckzSRPsm9MYzqnLRshh8yjZJ70xU/mmk='
57     hacluster-neutron:
58       charm: "local:trusty/hacluster"
59       options:
60         corosync_key: |
61           'KNhb4++3jlllbnscS5D3qdzOJDsQPEeZ7zOLZJHbkKrRjX9gRCijVVOiv2JCvq03HqQ7LIufQzWGl9Za8qh0f6QmQ3XhFh/Cb/3WaYFj+tEf0zArWv+8miswmM1z4eyTSrTWBq0dTgx1z96wjBxP5HV0+1LWW+3Ei4oZWyRGeR0='
62     hacluster-glance:
63       charm: "local:trusty/hacluster"
64       options:
65         corosync_key: |
66           'el1dd8107J5mwQDPS7tEJPZrr0XFfL95+Tku/QG90W5Q5f5SP4W8TRfKvddGmZWZl2lVd1neG5WqaHa1mq/aScJpoflzVAJCvshN7Gd2AjHhLNNugeI8S90j/7wrKUhqiCAlkKaeri2xs5bB5PZ7Z9AHuNZL7SW1al8lxrKhUFI='
67     hacluster-ceilometer:
68       charm: "local:trusty/hacluster"
69       options:
70         corosync_key: |
71           'cHkgKGJpdHMgPSA5NjApLgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDEwMDgpLgpXcml0aW5nIGNvcm9zeW5jIGtleSB0byAvZXRjL2Nvcm9zeW5jL2F1dGhrZXkuCg=='
72     ceilometer:
73       charm: "local:trusty/ceilometer"
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       charm: "local:trusty/ceilometer-agent"
84     mongodb:
85       charm: "cs:trusty/mongodb"
86       num_units: 1
87       to:
88         - "lxc:nodes-api=0"
89     heat:
90       charm: "local:trusty/heat"
91       num_units: 1
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       charm: local:trusty/ceph
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       charm: local:trusty/ceph-osd
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       charm: local:trusty/ceph-radosgw
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       charm: local:trusty/cinder
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       charm: local:trusty/cinder-ceph
146     rabbitmq-server:
147       charm: local:trusty/rabbitmq-server
148       num_units: 3
149       to:
150         - "lxc:nodes-api=2"
151         - "lxc:nodes-api=0"
152         - "lxc:nodes-api=1"
153     keystone:
154       charm: local:trusty/keystone
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       charm: local:trusty/openstack-dashboard
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       charm: local:trusty/nova-compute
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       charm: local:trusty/nova-cloud-controller
193       num_units: 3
194       options:
195         console-access-protocol: novnc
196         network-manager: Neutron
197         service-guard: true
198         neutron-external-network: ext_net
199         vip: 10.4.1.16
200         #os-public-hostname: api.public-fqdn
201       to:
202         - "lxc:nodes-api=2"
203         - "lxc:nodes-api=0"
204         - "lxc:nodes-api=1"
205     neutron-api:
206       charm: local:trusty/neutron-api
207       num_units: 3
208       options:
209         neutron-security-groups: True
210         flat-network-providers: "*"
211         vip: 10.4.1.17
212         #os-public-hostname: api.public-fqdn
213       to:
214         - "lxc:nodes-api=0"
215         - "lxc:nodes-api=1"
216         - "lxc:nodes-api=2"
217     neutron-gateway:
218       charm: local:trusty/neutron-gateway
219       options:
220         #ext-port: "eth1"
221         plugin: ovs-odl
222         instance-mtu: 1400
223       to:
224         - "nodes-api=0"
225     odl-controller:
226       charm: local:trusty/odl-controller
227       options:
228         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"
229         profile: "openvswitch-odl-beryllium"
230         http-proxy: "http://squid.internal:3128"
231         https-proxy: "http://squid.internal:3128"
232       to:
233         - "lxc:nodes-api=1"
234     glance:
235       charm: local:trusty/glance
236       num_units: 3
237       options:
238         vip: 10.4.1.12
239         #os-public-hostname: api.public-fqdn
240 #        ha-mcastport: 5402
241       to:
242         - "lxc:nodes-api=1"
243         - "lxc:nodes-api=0"
244         - "lxc:nodes-api=2"
245     opnfv-promise:
246       branch: lp:~narindergupta/charms/trusty/promise/trunk
247       num_units: 1
248       to:
249         - "lxc:nodes-api=2"
250     neutron-api-odl:
251       charm: local:trusty/neutron-api-odl
252       options:
253         overlay-network-type: 'vxlan gre'
254         security-groups: True
255     openvswitch-odl:
256       charm: local:trusty/openvswitch-odl
257 #    haproxy:
258 #      charm: cs:trusty/haproxy
259 #      options:
260 #        services: |
261 #          - service_name: nova
262 #            service_host: "0.0.0.0"
263 #            service_port: 8774
264 #            service_options: [balance leastconn, cookie SRVNAME insert]
265 #            server_options: maxconn 100 cookie S{i} check
266 #            servers: [[nova, 10.4.1.16, 8774, check ]]
267 #          - service_name: swift
268 #            service_host: "0.0.0.0"
269 #            service_port: 80
270 #            service_options: [balance leastconn, cookie SRVNAME insert]
271 #            server_options: maxconn 100 cookie S{i} check
272 #            servers: [[swift, 10.4.1.100, 80, check ]]
273 #          - service_name: glance
274 #            service_host: "0.0.0.0"
275 #            service_port: 9292
276 #            service_options: [balance leastconn, cookie SRVNAME insert]
277 #            server_options: maxconn 100 cookie S{i} check
278 #            servers: [[glance, 10.4.1.12, 9292, check ]]
279 #          - service_name: cinderv2
280 #            service_host: "0.0.0.0"
281 #            service_port: 8776
282 #            service_options: [balance leastconn, cookie SRVNAME insert]
283 #            server_options: maxconn 100 cookie S{i} check
284 #            servers: [[cinderv2, 10.4.1.100, 8776, check ]]
285 #          - service_name: ceilometer
286 #            service_host: "0.0.0.0"
287 #            service_port: 8777
288 #            service_options: [balance leastconn, cookie SRVNAME insert]
289 #            server_options: maxconn 100 cookie S{i} check
290 #            servers: [[ceilometer, 10.4.1.14, 8777, check ]]
291 #          - service_name: keystone
292 #            service_host: "0.0.0.0"
293 #            service_port: 5000
294 #            service_options: [balance leastconn, cookie SRVNAME insert]
295 #            server_options: maxconn 100 cookie S{i} check
296 #            servers: [[keystone, 10.4.1.13, 5000, check ]]
297 #          - service_name: heat
298 #            service_host: "0.0.0.0"
299 #            service_port: 8004
300 #            service_options: [balance leastconn, cookie SRVNAME insert]
301 #            server_options: maxconn 100 cookie S{i} check
302 #            servers: [[heat, 10.4.1.18, 8004, check ]]
303 #          - service_name: neutron
304 #            service_host: "0.0.0.0"
305 #            service_port: 9696
306 #            service_options: [balance leastconn, cookie SRVNAME insert]
307 #            server_options: maxconn 100 cookie S{i} check
308 #            servers: [[neutron, 10.4.1.17, 9696, check ]]
309 #          - service_name: heat-cfn
310 #            service_host: "0.0.0.0"
311 #            service_port: 8000
312 #            service_options: [balance leastconn, cookie SRVNAME insert]
313 #            server_options: maxconn 100 cookie S{i} check
314 #            servers: [[heat-cfn, 192.168.2.162, 8000, check ]]
315 #          - service_name: cinder
316 #            service_host: "0.0.0.0"
317 #            service_port: 8776
318 #            service_options: [balance leastconn, cookie SRVNAME insert]
319 #            server_options: maxconn 100 cookie S{i} check
320 #            servers: [[cinder, 192.168.2.161, 8776, check ]]
321 #      to:
322 #        - "lxc:nodes-api=0"
323   relations:
324     - - "glance:ha"
325       - "hacluster-glance:ha"
326     - - "keystone:ha"
327       - "hacluster-keystone:ha"
328     - - "neutron-api:ha"
329       - "hacluster-neutron:ha"
330     - - "nova-cloud-controller:ha"
331       - "hacluster-nova:ha"
332     - - "openstack-dashboard:ha"
333       - "hacluster-horizon:ha"
334     - - "ceilometer:ha"
335       - "hacluster-ceilometer:ha"
336 #    - - "heat:ha"
337 #      - "hacluster-heat:ha"
338     - - "neutron-api:neutron-plugin-api-subordinate"
339       - "neutron-api-odl:neutron-plugin-api-subordinate"
340     - - "nova-compute:neutron-plugin"
341       - "openvswitch-odl:neutron-plugin"
342     - - "neutron-gateway"
343       - "openvswitch-odl"
344     - - "openvswitch-odl:ovsdb-manager"
345       - "odl-controller:ovsdb-manager"
346     - - "neutron-api-odl:odl-controller"
347       - "odl-controller:controller-api"
348     - - "keystone:shared-db"
349       - "percona-cluster:shared-db"
350     - - "nova-cloud-controller:shared-db"
351       - "percona-cluster:shared-db"
352     - - "nova-cloud-controller:amqp"
353       - "rabbitmq-server:amqp"
354     - - "nova-cloud-controller:image-service"
355       - "glance:image-service"
356     - - "nova-cloud-controller:identity-service"
357       - "keystone:identity-service"
358     - - "nova-cloud-controller:cloud-compute"
359       - "nova-compute:cloud-compute"
360     - - "nova-compute:amqp"
361       - "rabbitmq-server:amqp"
362     - - "nova-compute:image-service"
363       - "glance:image-service"
364     - - "glance:shared-db"
365       - "percona-cluster:shared-db"
366     - - "glance:identity-service"
367       - "keystone:identity-service"
368     - - "glance:amqp"
369       - "rabbitmq-server:amqp"
370     - - "openstack-dashboard:identity-service"
371       - "keystone:identity-service"
372     - - "neutron-api:shared-db"
373       - "percona-cluster:shared-db"
374     - - "neutron-api:amqp"
375       - "rabbitmq-server:amqp"
376     - - "nova-cloud-controller:neutron-api"
377       - "neutron-api:neutron-api"
378     - - "neutron-api:identity-service"
379       - "keystone:identity-service"
380     - - "neutron-gateway:amqp"
381       - "rabbitmq-server:amqp"
382     - - "neutron-gateway:neutron-plugin-api"
383       - "neutron-api:neutron-plugin-api"
384     - - "nova-cloud-controller:quantum-network-service"
385       - "neutron-gateway:quantum-network-service"
386     - - "ceilometer:amqp"
387       - "rabbitmq-server:amqp"
388     - - "ceilometer-agent:ceilometer-service"
389       - "ceilometer:ceilometer-service"
390     - - "ceilometer:identity-service"
391       - "keystone:identity-service"
392     - - "ceilometer:identity-notifications"
393       - "keystone:identity-notifications"
394     - - "ceilometer-agent:nova-ceilometer"
395       - "nova-compute:nova-ceilometer"
396     - - "ceilometer:shared-db"
397       - "mongodb:database"
398     - - "heat:shared-db"
399       - "percona-cluster:shared-db"
400     - - "heat:identity-service"
401       - "keystone:identity-service"
402     - - "heat:amqp"
403       - "rabbitmq-server:amqp"
404     - - "cinder:image-service"
405       - "glance:image-service"
406     - - "cinder:amqp"
407       - "rabbitmq-server:amqp"
408     - - "cinder:identity-service"
409       - "keystone:identity-service"
410     - - "cinder:cinder-volume-service"
411       - "nova-cloud-controller:cinder-volume-service"
412     - - "cinder-ceph:storage-backend"
413       - "cinder:storage-backend"
414     - - "ceph:client"
415       - "nova-compute:ceph"
416     - - "cinder:shared-db"
417       - "percona-cluster:shared-db"
418     - - "ceph:client"
419       - "cinder-ceph:ceph"
420     - - "ceph:client"
421       - "glance:ceph"
422     - - "ceph-osd:mon"
423       - "ceph:osd"
424     - - "ceph-radosgw:mon"
425       - "ceph:radosgw"
426     - - "ceph-radosgw:identity-service"
427       - "keystone:identity-service"
428
429 trusty-mitaka-nodes:
430   inherits: openstack-phase1
431   overrides:
432     series: trusty
433
434 trusty-mitaka:
435   inherits: openstack-phase2
436   overrides:
437 #    cluster_count: 3
438     #os-data-network: 10.4.8.0/21
439     #ceph-cluster-network: 10.4.0.0/21
440     #prefer-ipv6: true
441     #enable-dvr: true
442     #l2-population: true
443     #ext-port: "eth1"
444     region: Canonical
445     source: "cloud:trusty-mitaka"
446     openstack-origin: "cloud:trusty-mitaka"
447     series: trusty
448     ceph-osd-replication-count: 2
449     admin-role: admin
450     keystone-admin-role: admin
451