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