modfied to support k8.
[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         cluster_count: 3
212     hacluster-horizon:
213       charm: "local:trusty/hacluster"
214       options:
215         corosync_transport: unicast
216         cluster_count: 3
217     hacluster-nova:
218       charm: "local:trusty/hacluster"
219       options:
220         corosync_transport: unicast
221         cluster_count: 3
222     hacluster-neutron:
223       charm: "local:trusty/hacluster"
224       options:
225         corosync_transport: unicast
226         cluster_count: 3
227     hacluster-glance:
228       charm: "local:trusty/hacluster"
229       options:
230         corosync_transport: unicast
231         cluster_count: 3
232     hacluster-ceilometer:
233       charm: "local:trusty/hacluster"
234       options:
235         corosync_transport: unicast
236         cluster_count: 3
237     hacluster-mysql:
238       charm: "local:trusty/hacluster"
239       options:
240         corosync_transport: unicast
241         cluster_count: 3
242     ceilometer:
243       charm: "local:trusty/ceilometer"
244       num_units: 3
245       options:
246         vip: 10.4.1.14
247       to:
248         - "lxc:nodes=3"
249         - "lxc:nodes=4"
250         - "lxc:nodes=0"
251     ceilometer-agent:
252       charm: "local:trusty/ceilometer-agent"
253     mongodb:
254       charm: "cs:trusty/mongodb"
255       num_units: 1
256       to:
257         - "lxc:nodes=0"
258     heat:
259       charm: "local:trusty/heat"
260       to:
261         - "lxc:nodes=0"
262     ceph:
263       charm: local:trusty/ceph
264       num_units: 3
265       options:
266         fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7
267         monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A==
268         monitor-count: 3
269 #        osd-reformat: 'no'
270 #        ceph-cluster-network: 192.168.0.0/24
271 #        ceph-public-network: 192.168.0.0/24
272       to:
273         - "lxc:nodes=4"
274         - "lxc:nodes=0"
275         - "lxc:nodes=1"
276     ceph-osd:
277       charm: local:trusty/ceph-osd
278       num_units: 3
279       options:
280         osd-devices: /srv
281         osd-reformat: 'yes'
282       to:
283         - "nodes=2"
284         - "nodes=3"
285         - "nodes=4"
286     ceph-radosgw:
287       charm: local:trusty/ceph-radosgw
288       options:
289         use-embedded-webserver: true
290         operator-roles: "Member,admin"
291       to:
292         - "lxc:nodes=0"
293     cinder:
294       charm: local:trusty/cinder
295       num_units: 3
296       options:
297         block-device: None
298         glance-api-version: 2
299       to:
300         - "lxc:nodes=0"
301         - "lxc:nodes=1"
302         - "lxc:nodes=2"
303     cinder-ceph:
304       charm: local:trusty/cinder-ceph
305     rabbitmq-server: 
306       charm: local:trusty/rabbitmq-server
307       num_units: 3
308       options:
309         vip: 10.4.1.10
310       to:
311         - "lxc:nodes=1"
312         - "lxc:nodes=2"
313         - "lxc:nodes=3"
314     keystone: 
315       charm: local:trusty/keystone
316       num_units: 3
317       options: 
318         admin-password: openstack
319         admin-token: admin
320         vip: 10.4.1.13
321       to:
322         - "lxc:nodes=2"
323         - "lxc:nodes=3"
324         - "lxc:nodes=4"
325     openstack-dashboard: 
326       charm: local:trusty/openstack-dashboard
327       num_units: 3
328       options: 
329         secret: admin
330         vip: 10.4.1.11
331         webroot: /
332       to:
333         - "lxc:nodes=3"
334         - "lxc:nodes=4"
335         - "lxc:nodes=0"
336     nova-compute:
337       charm: local:trusty/nova-compute
338       num_units: 4
339       options:
340         enable-live-migration: False
341         manage-neutron-plugin-legacy-mode: False
342         migration-auth-type: ssh
343         #hugepages: "50%"
344         #virt-type: lxd
345       to:
346         - "nodes=1"
347         - "nodes=2"
348         - "nodes=3"
349         - "nodes=4"
350     nova-cloud-controller:
351       charm: local:trusty/nova-cloud-controller
352       num_units: 3
353       options:
354         console-access-protocol: novnc
355         network-manager: Neutron
356         service-guard: true
357         vip: 10.4.1.16
358       to:
359         - "lxc:nodes=4"
360         - "lxc:nodes=0"
361         - "lxc:nodes=1"
362     neutron-api:
363       charm: local:trusty/neutron-api
364       num_units: 3
365       options:
366         neutron-security-groups: True
367         manage-neutron-plugin-legacy-mode: False
368         vip: 10.4.1.17
369       to:
370         - "lxc:nodes=0"
371         - "lxc:nodes=1"
372         - "lxc:nodes=2"
373     glance:
374       charm: local:trusty/glance
375       num_units: 3
376       options:
377         vip: 10.4.1.12
378       to:
379         - "lxc:nodes=1"
380         - "lxc:nodes=2"
381         - "lxc:nodes=3"
382     opnfv-promise:
383       charm: local:trusty/promise
384       num_units: 1
385       to:
386         - "lxc:nodes=0"
387     congress:
388       charm: local:trusty/congress
389       options:
390         #source-branch: stable/mitaka
391       to:
392         - "lxc:nodes=0"