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