Merge "Corrects the default route on controllers"
[genesis.git] / fuel / deploy / templates / virtual_environment / conf / dea.yaml
1 title: Deployment Environment Adapter (DEA)
2 # DEA API version supported
3 version:
4 created:
5 comment: Config for Virtual Environment - HA deployment with Ceph and Opendaylight
6 environment:
7   name: opnfv_virt
8   mode: ha
9   net_segment_type: gre
10 wanted_release: Juno on Ubuntu 14.04.1
11 nodes:
12 - id: 1
13   interfaces: interfaces_1
14   transformations: transformations_1
15   role: ceph-osd,controller
16 - id: 2
17   interfaces: interfaces_1
18   transformations: transformations_2
19   role: ceph-osd,compute
20 - id: 3
21   interfaces: interfaces_1
22   transformations: transformations_2
23   role: ceph-osd,compute
24 - id: 4
25   interfaces: interfaces_1
26   transformations: transformations_2
27   role: ceph-osd,compute
28 fuel:
29   ADMIN_NETWORK:
30     ipaddress: 10.20.0.2
31     netmask: 255.255.255.0
32     dhcp_pool_start: 10.20.0.3
33     dhcp_pool_end: 10.20.0.254
34   DNS_UPSTREAM: 10.118.32.193
35   DNS_DOMAIN: opnfvericsson.ca
36   DNS_SEARCH: opnfvericsson.ca
37   FUEL_ACCESS:
38     user: admin
39     password: admin
40   HOSTNAME: opnfv_virt
41   NTP1: 10.118.34.219
42   NTP2:
43   NTP3:
44 interfaces_1:
45   eth0:
46   - fuelweb_admin
47   - management
48   eth1:
49   - storage
50   eth2:
51   - private
52   eth3:
53   - public
54 transformations_1:
55   transformations:
56   - action: add-br
57     name: br-fw-admin
58   - action: add-br
59     name: br-mgmt
60   - action: add-br
61     name: br-storage
62   - action: add-br
63     name: br-ex
64   - action: add-br
65     name: br-floating
66     provider: ovs
67   - action: add-patch
68     bridges:
69     - br-floating
70     - br-ex
71     mtu: 65000
72     provider: ovs
73   - action: add-br
74     name: br-mesh
75   - action: add-port
76     bridge: br-fw-admin
77     name: eth0
78   - action: add-port
79     bridge: br-mgmt
80     name: eth0.101
81   - action: add-port
82     bridge: br-storage
83     name: eth1.102
84   - action: add-port
85     bridge: br-mesh
86     name: eth2.103
87   - action: add-port
88     bridge: br-ex
89     name: eth3
90 transformations_2:
91   transformations:
92   - action: add-br
93     name: br-fw-admin
94   - action: add-br
95     name: br-mgmt
96   - action: add-br
97     name: br-storage
98   - action: add-br
99     name: br-mesh
100   - action: add-port
101     bridge: br-fw-admin
102     name: eth0
103   - action: add-port
104     bridge: br-mgmt
105     name: eth0.101
106   - action: add-port
107     bridge: br-storage
108     name: eth1.102
109   - action: add-port
110     bridge: br-mesh
111     name: eth2.103
112 network:
113   networking_parameters:
114     base_mac: fa:16:3e:00:00:00
115     dns_nameservers:
116     - 10.118.32.193
117     floating_ranges:
118     - - 172.16.0.130
119       - 172.16.0.254
120     gre_id_range:
121     - 2
122     - 65535
123     internal_cidr: 192.168.111.0/24
124     internal_gateway: 192.168.111.1
125     net_l23_provider: ovs
126     segmentation_type: gre
127     vlan_range:
128     - 1000
129     - 1030
130   networks:
131   - cidr: 172.16.0.0/24
132     gateway: 172.16.0.1
133     ip_ranges:
134     - - 172.16.0.2
135       - 172.16.0.126
136     meta:
137       cidr: 172.16.0.0/24
138       configurable: true
139       floating_range_var: floating_ranges
140       ip_range:
141       - 172.16.0.2
142       - 172.16.0.126
143       map_priority: 1
144       name: public
145       notation: ip_ranges
146       render_addr_mask: public
147       render_type: null
148       use_gateway: true
149       vips:
150       - haproxy
151       - vrouter
152       vlan_start: null
153     name: public
154     vlan_start: null
155   - cidr: 192.168.0.0/24
156     gateway: null
157     ip_ranges:
158     - - 192.168.0.1
159       - 192.168.0.254
160     meta:
161       cidr: 192.168.0.0/24
162       configurable: true
163       map_priority: 2
164       name: management
165       notation: cidr
166       render_addr_mask: internal
167       render_type: cidr
168       use_gateway: false
169       vips:
170       - haproxy
171       - vrouter
172       vlan_start: 101
173     name: management
174     vlan_start: 101
175   - cidr: 192.168.1.0/24
176     gateway: null
177     ip_ranges:
178     - - 192.168.1.1
179       - 192.168.1.254
180     meta:
181       cidr: 192.168.1.0/24
182       configurable: true
183       map_priority: 2
184       name: storage
185       notation: cidr
186       render_addr_mask: storage
187       render_type: cidr
188       use_gateway: false
189       vlan_start: 102
190     name: storage
191     vlan_start: 102
192   - cidr: 192.168.2.0/24
193     gateway: null
194     ip_ranges:
195     - - 192.168.2.1
196       - 192.168.2.254
197     meta:
198       cidr: 192.168.2.0/24
199       configurable: true
200       map_priority: 2
201       name: private
202       notation: cidr
203       render_addr_mask: private
204       render_type: cidr
205       seg_type: gre
206       use_gateway: false
207       vlan_start: 103
208     name: private
209     vlan_start: 103
210   - cidr: 10.20.0.0/24
211     gateway: 10.20.0.2
212     ip_ranges:
213     - - 10.20.0.3
214       - 10.20.0.254
215     meta:
216       configurable: false
217       map_priority: 0
218       notation: ip_ranges
219       render_addr_mask: null
220       render_type: null
221       unmovable: true
222       use_gateway: true
223     name: fuelweb_admin
224     vlan_start: null
225 settings:
226   editable:
227     access:
228       email:
229         description: Email address for Administrator
230         label: Email
231         regex:
232           error: Invalid email
233           source: ^\S+@\S+$
234         type: text
235         value: admin@localhost
236         weight: 40
237       metadata:
238         label: Access
239         weight: 10
240       password:
241         description: Password for Administrator
242         label: Password
243         regex:
244           error: Empty password
245           source: \S
246         type: password
247         value: admin
248         weight: 20
249       tenant:
250         description: Tenant (project) name for Administrator
251         label: Tenant
252         regex:
253           error: Invalid tenant name
254           source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?![Gg]uest$)(?!.*
255             +.*$).+
256         type: text
257         value: admin
258         weight: 30
259       user:
260         description: Username for Administrator
261         label: Username
262         regex:
263           error: Invalid username
264           source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?![Gg]uest$)(?!.*
265             +.*$).+
266         type: text
267         value: admin
268         weight: 10
269     additional_components:
270       ceilometer:
271         description: If selected, Ceilometer component will be installed
272         label: Install Ceilometer
273         type: checkbox
274         value: false
275         weight: 40
276       heat:
277         description: ''
278         label: ''
279         type: hidden
280         value: true
281         weight: 30
282       metadata:
283         label: Additional Components
284         weight: 20
285       mongo:
286         description: If selected, You can use external Mongo DB as ceilometer backend
287         label: Use external Mongo DB
288         restrictions:
289         - settings:additional_components.ceilometer.value == false
290         type: checkbox
291         value: false
292         weight: 40
293       murano:
294         description: If selected, Murano component will be installed
295         label: Install Murano
296         restrictions:
297         - cluster:net_provider != 'neutron'
298         type: checkbox
299         value: false
300         weight: 20
301       sahara:
302         description: If selected, Sahara component will be installed
303         label: Install Sahara
304         type: checkbox
305         value: false
306         weight: 10
307     common:
308       auth_key:
309         description: Public key(s) to include in authorized_keys on deployed nodes
310         label: Public Key
311         type: textarea
312         value: ''
313         weight: 70
314       auto_assign_floating_ip:
315         description: If selected, OpenStack will automatically assign a floating IP
316           to a new instance
317         label: Auto assign floating IP
318         restrictions:
319         - action: hide
320           condition: cluster:net_provider == 'neutron'
321         type: checkbox
322         value: false
323         weight: 40
324       debug:
325         description: Debug logging mode provides more information, but requires more
326           disk space.
327         label: OpenStack debug logging
328         type: checkbox
329         value: false
330         weight: 20
331       libvirt_type:
332         label: Hypervisor type
333         type: radio
334         value: qemu
335         values:
336         - data: kvm
337           description: Choose this type of hypervisor if you run OpenStack on hardware
338           label: KVM
339         - data: qemu
340           description: Choose this type of hypervisor if you run OpenStack on virtual
341             hosts.
342           label: QEMU
343         weight: 30
344       metadata:
345         label: Common
346         weight: 30
347       nova_quota:
348         description: Quotas are used to limit CPU and memory usage for tenants. Enabling
349           quotas will increase load on the Nova database.
350         label: Nova quotas
351         type: checkbox
352         value: false
353         weight: 25
354       puppet_debug:
355         description: Debug puppet logging mode provides more information, but requires
356           more disk space.
357         label: Puppet debug logging
358         type: checkbox
359         value: true
360         weight: 20
361       resume_guests_state_on_host_boot:
362         description: Whether to resume previous guests state when the host reboots.
363           If enabled, this option causes guests assigned to the host to resume their
364           previous state. If the guest was running a restart will be attempted when
365           nova-compute starts. If the guest was not running previously, a restart will
366           not be attempted.
367         label: Resume guests state on host boot
368         type: checkbox
369         value: true
370         weight: 60
371       use_cow_images:
372         description: For most cases you will want qcow format. If it's disabled, raw
373           image format will be used to run VMs. OpenStack with raw format currently
374           does not support snapshotting.
375         label: Use qcow format for images
376         type: checkbox
377         value: true
378         weight: 50
379       use_vcenter:
380         type: hidden
381         value: false
382         weight: 30
383     corosync:
384       group:
385         description: ''
386         label: Group
387         type: text
388         value: 226.94.1.1
389         weight: 10
390       metadata:
391         label: Corosync
392         restrictions:
393         - action: hide
394           condition: 'true'
395         weight: 50
396       port:
397         description: ''
398         label: Port
399         type: text
400         value: '12000'
401         weight: 20
402       verified:
403         description: Set True only if multicast is configured correctly on router.
404         label: Need to pass network verification.
405         type: checkbox
406         value: false
407         weight: 10
408     external_dns:
409       dns_list:
410         description: List of upstream DNS servers, separated by comma
411         label: DNS list
412         regex:
413           error: Invalid IP address list
414           source: ^\*$|^(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3}(?:\s*,\s*(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3})*$
415         type: text
416         value: 10.118.32.193
417         weight: 10
418       metadata:
419         label: Host OS DNS Servers
420         weight: 90
421     external_mongo:
422       hosts_ip:
423         description: IP Addresses of MongoDB. Use comma to split IPs
424         label: MongoDB hosts IP
425         regex:
426           error: Invalid hosts ip sequence
427           source: ^(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),)*((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
428         type: text
429         value: ''
430         weight: 30
431       metadata:
432         label: External MongoDB
433         restrictions:
434         - action: hide
435           condition: settings:additional_components.mongo.value == false
436         weight: 20
437       mongo_db_name:
438         description: Mongo database name
439         label: Database name
440         regex:
441           error: Invalid database name
442           source: ^\w+$
443         type: text
444         value: ceilometer
445         weight: 30
446       mongo_password:
447         description: Mongo database password
448         label: Password
449         regex:
450           error: Password contains spaces
451           source: ^\S*$
452         type: password
453         value: ceilometer
454         weight: 30
455       mongo_replset:
456         description: Name for Mongo replication set
457         label: Replset
458         type: text
459         value: ''
460         weight: 30
461       mongo_user:
462         description: Mongo database username
463         label: Username
464         regex:
465           error: Empty username
466           source: ^\w+$
467         type: text
468         value: ceilometer
469         weight: 30
470     external_ntp:
471       metadata:
472         label: Host OS NTP Servers
473         weight: 100
474       ntp_list:
475         description: List of upstream NTP servers, separated by comma
476         label: NTP server list
477         regex:
478           error: Invalid NTP server list
479           source: ^\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(?:\.\d{1,3}){3})\s*(?:,\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(\.\d{1,3}){3})\s*)*$
480         type: text
481         value: 10.118.34.219
482         weight: 10
483     kernel_params:
484       kernel:
485         description: Default kernel parameters
486         label: Initial parameters
487         type: text
488         value: console=ttyS0,9600 console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90
489           nomodeset
490         weight: 45
491       metadata:
492         label: Kernel parameters
493         weight: 40
494     murano_settings:
495       metadata:
496         label: Murano Settings
497         restrictions:
498         - action: hide
499           condition: settings:additional_components.murano.value == false
500         weight: 20
501       murano_repo_url:
502         description: ''
503         label: Murano Repository URL
504         type: text
505         value: http://storage.apps.openstack.org/
506         weight: 10
507     neutron_mellanox:
508       metadata:
509         enabled: true
510         label: Mellanox Neutron components
511         restrictions:
512         - action: hide
513           condition: not ('experimental' in version:feature_groups)
514         toggleable: false
515         weight: 50
516       plugin:
517         label: Mellanox drivers and SR-IOV plugin
518         type: radio
519         value: disabled
520         values:
521         - data: disabled
522           description: If selected, Mellanox drivers, Neutron and Cinder plugin will
523             not be installed.
524           label: Mellanox drivers and plugins disabled
525           restrictions:
526           - settings:storage.iser.value == true
527         - data: drivers_only
528           description: If selected, Mellanox Ethernet drivers will be installed to support
529             networking over Mellanox NIC. Mellanox Neutron plugin will not be installed.
530           label: Install only Mellanox drivers
531           restrictions:
532           - settings:common.libvirt_type.value != 'kvm'
533         - data: ethernet
534           description: If selected, both Mellanox Ethernet drivers and Mellanox network
535             acceleration (Neutron) plugin will be installed.
536           label: Install Mellanox drivers and SR-IOV plugin
537           restrictions:
538           - settings:common.libvirt_type.value != 'kvm' or not (cluster:net_provider
539             == 'neutron' and networking_parameters:segmentation_type == 'vlan')
540         weight: 60
541       vf_num:
542         description: Note that one virtual function will be reserved to the storage
543           network, in case of choosing iSER.
544         label: Number of virtual NICs
545         restrictions:
546         - settings:neutron_mellanox.plugin.value != 'ethernet'
547         type: text
548         value: '16'
549         weight: 70
550     opendaylight:
551       metadata:
552         enabled: true
553         label: OpenDaylight plugin
554         plugin_id: 1
555         restrictions:
556         - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight
557         toggleable: true
558         weight: 70
559       rest_api_port:
560         description: Port on which ODL REST API will be available.
561         label: Port number
562         regex:
563           error: Invalid port number
564           source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
565         type: text
566         value: '8282'
567         weight: 40
568       use_vxlan:
569         description: Configure neutron to use VXLAN tunneling
570         label: Use vxlan
571         restrictions:
572         - action: disable
573           condition: networking_parameters:segmentation_type == 'vlan'
574           message: Neutron with GRE segmentation required
575         type: checkbox
576         value: true
577         weight: 20
578       vni_range_end:
579         description: VXLAN VNI IDs range end
580         label: VNI range end
581         regex:
582           error: Invalid ID number
583           source: ^\d+$
584         restrictions:
585         - action: hide
586           condition: networking_parameters:segmentation_type == 'vlan'
587         type: text
588         value: '10000'
589         weight: 31
590       vni_range_start:
591         description: VXLAN VNI IDs range start
592         label: VNI range start
593         regex:
594           error: Invalid ID number
595           source: ^\d+$
596         restrictions:
597         - action: hide
598           condition: networking_parameters:segmentation_type == 'vlan'
599         type: text
600         value: '10'
601         weight: 30
602     provision:
603       metadata:
604         label: Provision
605         weight: 80
606       method:
607         description: Which provision method to use for this cluster.
608         label: Provision method
609         type: radio
610         value: image
611         values:
612         - data: image
613           description: Copying pre-built images on a disk.
614           label: Image
615         - data: cobbler
616           description: Install from scratch using anaconda or debian-installer.
617           label: (DEPRECATED) Classic (use anaconda or debian-installer)
618     public_network_assignment:
619       assign_to_all_nodes:
620         description: When disabled, public network will be assigned to controllers only
621         label: Assign public network to all nodes
622         type: checkbox
623         value: false
624         weight: 10
625       metadata:
626         label: Public network assignment
627         restrictions:
628         - action: hide
629           condition: cluster:net_provider != 'neutron'
630         weight: 50
631     repo_setup:
632       metadata:
633         always_editable: true
634         label: Repositories
635         weight: 50
636       repos:
637         description: 'Please note: the first repository will be considered the operating
638           system mirror that will be used during node provisioning.
639
640           To create a local repository mirror on the Fuel master node, please follow
641           the instructions provided by running "fuel-createmirror --help" on the Fuel
642           master node.
643
644           Please make sure your Fuel master node has Internet access to the repository
645           before attempting to create a mirror.
646
647           For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-6.1/operations.html#external-ubuntu-ops).
648
649           '
650         extra_priority: null
651         type: custom_repo_configuration
652         value:
653         - name: ubuntu
654           priority: null
655           section: main universe multiverse
656           suite: trusty
657           type: deb
658           uri: http://archive.ubuntu.com/ubuntu/
659         - name: ubuntu-updates
660           priority: null
661           section: main universe multiverse
662           suite: trusty-updates
663           type: deb
664           uri: http://archive.ubuntu.com/ubuntu/
665         - name: ubuntu-security
666           priority: null
667           section: main universe multiverse
668           suite: trusty-security
669           type: deb
670           uri: http://archive.ubuntu.com/ubuntu/
671         - name: mos
672           priority: 1050
673           section: main restricted
674           suite: mos6.1
675           type: deb
676           uri: http://10.20.0.2:8080/2014.2.2-6.1/ubuntu/x86_64
677         - name: mos-updates
678           priority: 1050
679           section: main restricted
680           suite: mos6.1-updates
681           type: deb
682           uri: http://mirror.fuel-infra.org/mos/ubuntu/
683         - name: mos-security
684           priority: 1050
685           section: main restricted
686           suite: mos6.1-security
687           type: deb
688           uri: http://mirror.fuel-infra.org/mos/ubuntu/
689         - name: mos-holdback
690           priority: 1100
691           section: main restricted
692           suite: mos6.1-holdback
693           type: deb
694           uri: http://mirror.fuel-infra.org/mos/ubuntu/
695         - name: Auxiliary
696           priority: 1150
697           section: main restricted
698           suite: auxiliary
699           type: deb
700           uri: http://10.20.0.2:8080/2014.2.2-6.1/ubuntu/auxiliary
701     storage:
702       ephemeral_ceph:
703         description: Configures Nova to store ephemeral volumes in RBD. This works best
704           if Ceph is enabled for volumes and images, too. Enables live migration of
705           all types of Ceph backed VMs (without this option, live migration will only
706           work with VMs launched from Cinder volumes).
707         label: Ceph RBD for ephemeral volumes (Nova)
708         type: checkbox
709         value: true
710         weight: 75
711       images_ceph:
712         description: Configures Glance to use the Ceph RBD backend to store images.
713           If enabled, this option will prevent Swift from installing.
714         label: Ceph RBD for images (Glance)
715         restrictions:
716         - settings:storage.images_vcenter.value == true: Only one Glance backend could
717             be selected.
718         type: checkbox
719         value: true
720         weight: 30
721       images_vcenter:
722         description: Configures Glance to use the vCenter/ESXi backend to store images.
723           If enabled, this option will prevent Swift from installing.
724         label: VMWare vCenter/ESXi datastore for images (Glance)
725         restrictions:
726         - action: hide
727           condition: settings:common.use_vcenter.value != true
728         - condition: settings:storage.images_ceph.value == true
729           message: Only one Glance backend could be selected.
730         type: checkbox
731         value: false
732         weight: 35
733       iser:
734         description: 'High performance block storage: Cinder volumes over iSER protocol
735           (iSCSI over RDMA). This feature requires SR-IOV capabilities in the NIC, and
736           will use a dedicated virtual function for the storage network.'
737         label: iSER protocol for volumes (Cinder)
738         restrictions:
739         - settings:storage.volumes_lvm.value != true or settings:common.libvirt_type.value
740           != 'kvm'
741         - action: hide
742           condition: not ('experimental' in version:feature_groups)
743         type: checkbox
744         value: false
745         weight: 11
746       metadata:
747         label: Storage
748         weight: 60
749       objects_ceph:
750         description: Configures RadosGW front end for Ceph RBD. This exposes S3 and
751           Swift API Interfaces. If enabled, this option will prevent Swift from installing.
752         label: Ceph RadosGW for objects (Swift API)
753         restrictions:
754         - settings:storage.images_ceph.value == false
755         type: checkbox
756         value: false
757         weight: 80
758       osd_pool_size:
759         description: Configures the default number of object replicas in Ceph. This
760           number must be equal to or lower than the number of deployed 'Storage - Ceph
761           OSD' nodes.
762         label: Ceph object replication factor
763         regex:
764           error: Invalid number
765           source: ^[1-9]\d*$
766         type: text
767         value: '2'
768         weight: 85
769       volumes_ceph:
770         description: Configures Cinder to store volumes in Ceph RBD images.
771         label: Ceph RBD for volumes (Cinder)
772         restrictions:
773         - settings:storage.volumes_lvm.value == true
774         type: checkbox
775         value: true
776         weight: 20
777       volumes_lvm:
778         description: It is recommended to have at least one Storage - Cinder LVM node.
779         label: Cinder LVM over iSCSI for volumes
780         restrictions:
781         - settings:storage.volumes_ceph.value == true
782         type: checkbox
783         value: false
784         weight: 10
785     syslog:
786       metadata:
787         label: Syslog
788         weight: 50
789       syslog_port:
790         description: Remote syslog port
791         label: Port
792         regex:
793           error: Invalid Syslog port
794           source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
795         type: text
796         value: '514'
797         weight: 20
798       syslog_server:
799         description: Remote syslog hostname
800         label: Hostname
801         type: text
802         value: ''
803         weight: 10
804       syslog_transport:
805         label: Syslog transport protocol
806         type: radio
807         value: tcp
808         values:
809         - data: udp
810           description: ''
811           label: UDP
812         - data: tcp
813           description: ''
814           label: TCP
815         weight: 30
816     workloads_collector:
817       enabled:
818         type: hidden
819         value: true
820       metadata:
821         label: Workloads Collector User
822         restrictions:
823         - action: hide
824           condition: 'true'
825         weight: 10
826       password:
827         type: password
828         value: pBkLbu1k
829       tenant:
830         type: text
831         value: services
832       user:
833         type: text
834         value: fuel_stats_user