Merge "Modification of deployment config for Fuel 9 and ELX lab"
[fuel.git] / deploy / config / dea_base.yaml
1 ##############################################################################
2 # Copyright (c) 2015 Ericsson AB and others.
3 # jonas.bjurel@ericsson.com
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9
10 dea-base-config-metadata:
11   title: 'Deployment Environment Adapter Base configuration'
12   # DEA API version supported
13   version: '0.4'
14   created: 'Fri Jun 10 2016'
15   comment: 'Rebased for Fuel 9'
16 environment:
17   net_segment_type: tun
18 fuel:
19   FUEL_ACCESS:
20     password: admin
21     user: admin
22 wanted_release: Mitaka on Ubuntu 14.04
23 settings:
24   editable:
25     access:
26       email:
27         description: Email address for Administrator
28         label: Email
29         regex:
30           error: Invalid email
31           source: ^\S+@\S+$
32         type: text
33         value: admin@localhost
34         weight: 40
35       metadata:
36         group: general
37         label: OpenStack Access
38         weight: 10
39       password:
40         description: Password for Administrator
41         label: Password
42         regex:
43           error: Empty password
44           source: \S
45         type: password
46         value: admin
47         weight: 20
48       tenant:
49         description: Tenant (project) name for Administrator
50         label: Tenant
51         regex:
52           error: Invalid tenant name
53           source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?!ironic$)(?![Gg]uest$)(?!.*
54             +.*$).+
55         type: text
56         value: admin
57         weight: 30
58       user:
59         description: Username for Administrator
60         label: Username
61         regex:
62           error: Invalid username
63           source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?!ironic$)(?![Gg]uest$)(?!.*
64             +.*$).+
65         type: text
66         value: admin
67         weight: 10
68     additional_components:
69       ceilometer:
70         description: If selected, Ceilometer and Aodh components will be installed
71         label: Install Ceilometer and Aodh
72         type: checkbox
73         value: true
74         weight: 60
75       heat:
76         description: ''
77         label: ''
78         type: hidden
79         value: true
80         weight: 50
81       ironic:
82         description: If selected, Ironic component will be installed
83         label: Install Ironic
84         restrictions:
85         - cluster:net_provider != 'neutron' or networking_parameters:segmentation_type != 'vlan': Ironic
86             requires Neutron with VLAN segmentation.
87         - settings:storage.images_ceph.value == true and settings:storage.objects_ceph.value == false: Ironic
88             requires Swift or RadosGW for Glance images.
89         type: checkbox
90         value: false
91         weight: 80
92       metadata:
93         group: openstack_services
94         label: Additional Components
95         weight: 10
96       mongo:
97         description: If selected, You can use external Mongo DB as ceilometer backend
98         label: Use external Mongo DB
99         restrictions:
100         - settings:additional_components.ceilometer.value == false: External Mongo
101             aims to be an external backend for Ceilometer. Without Ceilometer enabled,
102             External Mongo is useless and should not be installed.
103         type: checkbox
104         value: false
105         weight: 70
106       murano:
107         description: If selected, Murano component will be installed
108         label: Install Murano
109         type: checkbox
110         value: false
111         weight: 20
112       murano-cfapi:
113         description: If selected, Murano service broker will be installed
114         label: Install Murano service broker for Cloud Foundry
115         restrictions:
116         - condition: settings:additional_components.murano.value == false
117           message: Murano should be enabled
118         - action: hide
119           condition: not ('experimental' in version:feature_groups)
120         type: checkbox
121         value: false
122         weight: 30
123       sahara:
124         description: If selected, Sahara component will be installed
125         label: Install Sahara
126         type: checkbox
127         value: false
128         weight: 10
129     cgroups:
130       metadata:
131         always_editable: true
132         group: general
133         label: Cgroups conguration for services
134         restrictions:
135         - action: hide
136           condition: 'true'
137         weight: 90
138     common:
139       auth_key:
140         group: security
141         type: hidden
142         value: ''
143         weight: 70
144       auto_assign_floating_ip:
145         description: If selected, OpenStack will automatically assign a floating IP
146           to a new instance
147         group: network
148         label: Auto assign floating IP
149         restrictions:
150         - action: hide
151           condition: cluster:net_provider == 'neutron'
152         type: checkbox
153         value: false
154         weight: 40
155       debug:
156         description: Debug logging mode provides more information, but requires more
157           disk space.
158         group: logging
159         label: OpenStack debug logging
160         type: checkbox
161         value: false
162         weight: 20
163       libvirt_type:
164         group: compute
165         label: Hypervisor type
166         type: radio
167         value: qemu
168         values:
169         - data: kvm
170           description: Choose this type of hypervisor if you run OpenStack on hardware
171           label: KVM
172         - data: qemu
173           description: Choose this type of hypervisor if you run OpenStack on virtual
174             hosts.
175           label: QEMU
176         weight: 30
177       metadata:
178         label: Common
179         weight: 10
180       nova_quota:
181         description: Quotas are used to limit CPU and memory usage for tenants. Enabling
182           quotas will increase load on the Nova database.
183         group: compute
184         label: Nova quotas
185         type: checkbox
186         value: false
187         weight: 30
188       propagate_task_deploy:
189         type: hidden
190         value: false
191         weight: 12
192       puppet_debug:
193         description: Debug puppet logging mode provides more information, but requires
194           more disk space.
195         group: logging
196         label: Puppet debug logging
197         type: checkbox
198         value: true
199         weight: 20
200       resume_guests_state_on_host_boot:
201         description: Whether to resume previous guests state when the host reboots.
202           If enabled, this option causes guests assigned to the host to resume their
203           previous state. If the guest was running a restart will be attempted when
204           nova-compute starts. If the guest was not running previously, a restart
205           will not be attempted.
206         group: compute
207         label: Resume guests state on host boot
208         type: checkbox
209         value: true
210         weight: 50
211       task_deploy:
212         type: hidden
213         value: true
214         weight: 11
215       use_cow_images:
216         description: For most cases you will want qcow format. If it's disabled, raw
217           image format will be used to run VMs. OpenStack with raw format currently
218           does not support snapshotting.
219         group: storage
220         label: Use qcow format for images
221         type: checkbox
222         value: true
223         weight: 60
224       use_vcenter:
225         type: hidden
226         value: false
227         weight: 30
228     corosync:
229       group:
230         description: ''
231         label: Group
232         type: text
233         value: 226.94.1.1
234         weight: 10
235       metadata:
236         group: general
237         label: Corosync
238         restrictions:
239         - action: hide
240           condition: 'true'
241         weight: 50
242       port:
243         description: ''
244         label: Port
245         type: text
246         value: '12000'
247         weight: 20
248       verified:
249         description: Set True only if multicast is configured correctly on router.
250         label: Need to pass network verification.
251         type: checkbox
252         value: false
253         weight: 10
254     external_mongo:
255       hosts_ip:
256         description: IP Addresses of MongoDB. Use comma to split IPs
257         label: MongoDB hosts IP
258         regex:
259           error: Invalid hosts ip sequence
260           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]?)$
261         type: text
262         value: ''
263         weight: 30
264       metadata:
265         group: openstack_services
266         label: External MongoDB
267         restrictions:
268         - action: hide
269           condition: settings:additional_components.mongo.value == false
270           message: Ceilometer and MongoDB are not enabled on the Additional Components
271             section
272         weight: 30
273       mongo_db_name:
274         description: Mongo database name
275         label: Database name
276         regex:
277           error: Invalid database name
278           source: ^\w+$
279         type: text
280         value: ceilometer
281         weight: 30
282       mongo_password:
283         description: Mongo database password
284         label: Password
285         regex:
286           error: Password contains spaces
287           source: ^\S*$
288         type: password
289         value: ceilometer
290         weight: 30
291       mongo_replset:
292         description: Name for Mongo replication set
293         label: Replset
294         type: text
295         value: ''
296         weight: 30
297       mongo_user:
298         description: Mongo database username
299         label: Username
300         regex:
301           error: Empty username
302           source: ^\w+$
303         type: text
304         value: ceilometer
305         weight: 30
306     kernel_params:
307       kernel:
308         description: Default kernel parameters
309         label: Initial parameters
310         type: text
311         value: console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset
312       metadata:
313         group: general
314         label: Kernel parameters
315         weight: 60
316     murano_settings:
317       metadata:
318         group: openstack_services
319         label: Murano Settings
320         restrictions:
321         - action: hide
322           condition: settings:additional_components.murano.value == false
323           message: Murano is not enabled on the Additional Components section
324         weight: 20
325       murano_glance_artifacts_plugin:
326         description: If selected glance artifact repository will be enabled
327         label: Enable glance artifact repository
328         type: checkbox
329         value: true
330         weight: 40
331       murano_repo_url:
332         description: ''
333         label: Murano Repository URL
334         type: text
335         value: http://storage.apps.openstack.org/
336         weight: 10
337     neutron_advanced_configuration:
338       metadata:
339         group: network
340         label: Neutron Advanced Configuration
341         restrictions:
342         - action: hide
343           condition: cluster:net_provider != 'neutron'
344         weight: 20
345       neutron_dvr:
346         description: Enable Distributed Virtual Routers in Neutron
347         label: Neutron DVR
348         restrictions:
349         - ? networking_parameters:segmentation_type != 'vlan' and settings:neutron_advanced_configuration.neutron_l2_pop.value
350             == false
351           : DVR requires L2 population to be enabled.
352         type: checkbox
353         value: false
354         weight: 20
355       neutron_l2_pop:
356         description: Enable L2 population mechanism in Neutron
357         label: Neutron L2 population
358         restrictions:
359         - action: hide
360           condition: networking_parameters:segmentation_type == 'vlan'
361         type: checkbox
362         value: false
363         weight: 10
364       neutron_l3_ha:
365         description: 'Enable High Availability features for Virtual Routers in Neutron
366
367           Requires at least 2 Controller nodes to function properly
368
369           '
370         label: Neutron L3 HA
371         restrictions:
372         - condition: settings:neutron_advanced_configuration.neutron_dvr.value ==
373             true
374           message: Neutron DVR must be disabled in order to use Neutron L3 HA
375         type: checkbox
376         value: false
377         weight: 30
378       neutron_qos:
379         description: Enable Neutron QoS advanced service plug-in
380         label: Neutron QoS
381         type: checkbox
382         value: false
383         weight: 40
384     operator_user:
385       authkeys:
386         description: Public SSH keys to include to operator user's authorized keys,
387           one per line.
388         label: Authorized SSH keys
389         type: textarea
390         value: ''
391         weight: 80
392       homedir:
393         description: Home directory for operator user
394         label: Home directory
395         regex:
396           error: Invalid path
397           source: ^/\S
398         type: text
399         value: /home/fueladmin
400         weight: 70
401       metadata:
402         group: general
403         label: Operating System Access
404         weight: 15
405       name:
406         description: Username for operator user
407         label: Username
408         regex:
409           error: Empty username
410           source: \S
411         type: text
412         value: fueladmin
413         weight: 50
414       password:
415         description: Password for operator user
416         label: Password
417         regex:
418           error: Empty password
419           source: \S
420         type: password
421         value: mCKyMCwhzrt7d6E8WQzxg5WS
422         weight: 60
423       sudo:
424         description: Sudoers configuration directives for operator user, one per line.
425         label: Sudoers configuration
426         type: textarea
427         value: 'ALL=(ALL) NOPASSWD: ALL'
428         weight: 90
429     provision:
430       metadata:
431         group: general
432         label: Provision
433         restrictions:
434         - action: hide
435           condition: 'false'
436         weight: 80
437       method:
438         type: hidden
439         value: image
440       packages:
441         label: Initial packages
442         type: textarea
443         value: 'acl
444
445           anacron
446
447           bash-completion
448
449           bridge-utils
450
451           bsdmainutils
452
453           build-essential
454
455           cloud-init
456
457           curl
458
459           daemonize
460
461           debconf-utils
462
463           gdisk
464
465           grub-pc
466
467           hpsa-dkms
468
469           hwloc
470
471           i40e-dkms
472
473           linux-firmware
474
475           linux-firmware-nonfree
476
477           linux-headers-generic-lts-trusty
478
479           linux-image-generic-lts-trusty
480
481           lvm2
482
483           mcollective
484
485           mdadm
486
487           multipath-tools
488
489           multipath-tools-boot
490
491           nailgun-agent
492
493           nailgun-mcagents
494
495           network-checker
496
497           ntp
498
499           openssh-client
500
501           openssh-server
502
503           puppet
504
505           python-amqp
506
507           ruby-augeas
508
509           ruby-ipaddress
510
511           ruby-json
512
513           ruby-netaddr
514
515           ruby-openstack
516
517           ruby-shadow
518
519           ruby-stomp
520
521           telnet
522
523           ubuntu-minimal
524
525           ubuntu-standard
526
527           uuid-runtime
528
529           vim
530
531           virt-what
532
533           vlan
534
535           '
536         weight: 10
537     public_network_assignment:
538       assign_to_all_nodes:
539         description: When disabled, public network will be assigned to controllers
540           only
541         label: Assign public network to all nodes
542         type: checkbox
543         value: true
544         weight: 10
545       metadata:
546         group: network
547         label: Public network assignment
548         restrictions:
549         - action: hide
550           condition: cluster:net_provider != 'neutron'
551         weight: 10
552     public_ssl:
553       cert_data:
554         description: Certificate and private key data, concatenated into a single
555           file
556         label: Certificate
557         restrictions:
558         - action: hide
559           condition: (settings:public_ssl.cert_source.value != 'user_uploaded') or
560             (settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
561             == false)
562         type: file
563         value: ''
564         weight: 40
565       cert_source:
566         description: From where we'll get certificate and private key
567         label: Select source for certificate
568         restrictions:
569         - action: hide
570           condition: settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
571             == false
572         type: radio
573         value: self_signed
574         values:
575         - data: self_signed
576           description: Generate private key and certificate that will be signed by
577             this key
578           label: Self-signed
579         - data: user_uploaded
580           description: Use pre-generated key and certificate
581           label: I have my own keypair with certificate
582         weight: 30
583       horizon:
584         description: Secure access to Horizon enabling HTTPS instead of HTTP
585         label: HTTPS for Horizon
586         restrictions:
587         - settings:public_ssl.services.value == false: TLS for OpenStack public endpoints
588             should be enabled
589         type: checkbox
590         value: false
591         weight: 20
592       hostname:
593         description: Your DNS entries should point to this name. Self-signed certificates
594           also will use this hostname
595         label: DNS hostname for public TLS endpoints
596         restrictions:
597         - action: hide
598           condition: settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
599             == false
600         type: text
601         value: public.fuel.local
602         weight: 50
603       metadata:
604         group: security
605         label: Public TLS
606         weight: 110
607       services:
608         description: Enable TLS termination on HAProxy for OpenStack services
609         label: TLS for OpenStack public endpoints
610         type: checkbox
611         value: false
612         weight: 10
613     repo_setup:
614       metadata:
615         always_editable: true
616         group: general
617         label: Repositories
618         weight: 50
619       repos:
620         description: 'Please note: the first repository will be considered the operating
621           system mirror that will be used during node provisioning.
622
623           To create a local repository mirror on the Fuel master node, please follow
624           the instructions provided by running "fuel-createmirror --help" on the Fuel
625           master node.
626
627           Please make sure your Fuel master node has Internet access to the repository
628           before attempting to create a mirror.
629
630           '
631         extra_priority: null
632         type: custom_repo_configuration
633         value:
634         - name: ubuntu
635           priority: null
636           section: main universe multiverse
637           suite: trusty
638           type: deb
639           uri: http://archive.ubuntu.com/ubuntu/
640         - name: ubuntu-updates
641           priority: null
642           section: main universe multiverse
643           suite: trusty-updates
644           type: deb
645           uri: http://archive.ubuntu.com/ubuntu/
646         - name: ubuntu-security
647           priority: null
648           section: main universe multiverse
649           suite: trusty-security
650           type: deb
651           uri: http://archive.ubuntu.com/ubuntu/
652         - name: mos
653           priority: 1050
654           section: main restricted
655           suite: mos9.0
656           type: deb
657           uri: http://10.20.0.2:8080/mitaka-9.0/ubuntu/x86_64
658         - name: mos-updates
659           priority: 1050
660           section: main restricted
661           suite: mos9.0-updates
662           type: deb
663           uri: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
664         - name: mos-security
665           priority: 1050
666           section: main restricted
667           suite: mos9.0-security
668           type: deb
669           uri: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
670         - name: mos-holdback
671           priority: 1100
672           section: main restricted
673           suite: mos9.0-holdback
674           type: deb
675           uri: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
676         - name: Auxiliary
677           priority: 1150
678           section: main restricted
679           suite: auxiliary
680           type: deb
681           uri: http://10.20.0.2:8080/mitaka-9.0/ubuntu/auxiliary
682     service_user:
683       homedir:
684         type: hidden
685         value: /var/lib/fuel
686       metadata:
687         group: general
688         label: Service user account
689         restrictions:
690         - action: hide
691           condition: 'true'
692         weight: 10
693       name:
694         type: hidden
695         value: fuel
696       password:
697         type: hidden
698         value: sCTOC4CkNSTLuNKUQDNUV1Bp
699       root_password:
700         type: hidden
701         value: r00tme
702       sudo:
703         type: hidden
704         value: 'ALL=(ALL) NOPASSWD: ALL'
705     storage:
706       admin_key:
707         type: hidden
708         value: AQDir1pXAAAAABAAm8r2rR0FuVsV8LRo6u9GgQ==
709       bootstrap_osd_key:
710         type: hidden
711         value: AQDir1pXAAAAABAAK5E2MNhWdIpOBzjXJTVqcg==
712       ephemeral_ceph:
713         description: Configures Nova to store ephemeral volumes in RBD. This works
714           best if Ceph is enabled for volumes and images, too. Enables live migration
715           of all types of Ceph backed VMs (without this option, live migration will
716           only work with VMs launched from Cinder volumes).
717         label: Ceph RBD for ephemeral volumes (Nova)
718         type: checkbox
719         value: false
720         weight: 75
721       fsid:
722         type: hidden
723         value: 7a5db523-ae79-489d-b5d1-7a31fdaba6ef
724       images_ceph:
725         description: Configures Glance to use the Ceph RBD backend to store images.
726           If enabled, this option will prevent Swift from installing.
727         label: Ceph RBD for images (Glance)
728         restrictions:
729         - settings:storage.images_vcenter.value == true: Only one Glance backend could
730             be selected.
731         type: checkbox
732         value: false
733         weight: 30
734       images_vcenter:
735         description: Configures Glance to use the vCenter/ESXi backend to store images.
736           If enabled, this option will prevent Swift from installing.
737         label: VMware vCenter/ESXi datastore for images (Glance)
738         restrictions:
739         - action: hide
740           condition: settings:common.use_vcenter.value != true
741         - condition: settings:storage.images_ceph.value == true
742           message: Only one Glance backend could be selected.
743         type: checkbox
744         value: false
745         weight: 35
746       metadata:
747         group: storage
748         label: Storage Backends
749         weight: 60
750       mon_key:
751         type: hidden
752         value: AQDir1pXAAAAABAAp92Dw8/kmDdhMvpgaPMKiQ==
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         type: checkbox
758         value: false
759         weight: 80
760       osd_pool_size:
761         description: Configures the default number of object replicas in Ceph. This
762           number must be equal to or lower than the number of deployed 'Ceph OSD'
763           nodes.
764         label: Ceph object replication factor
765         regex:
766           error: Invalid number
767           source: ^[1-9]\d*$
768         type: text
769         value: '3'
770         weight: 85
771       radosgw_key:
772         type: hidden
773         value: AQDir1pXAAAAABAAUH+qP9FohG5wGr/+oQ2rFw==
774       volumes_block_device:
775         description: High performance block device storage. It is recommended to have
776           at least one Cinder Block Device
777         label: Cinder Block device driver
778         restrictions:
779         - settings:storage.volumes_ceph.value == true
780         type: checkbox
781         value: false
782         weight: 15
783       volumes_ceph:
784         description: Configures Cinder to store volumes in Ceph RBD images.
785         label: Ceph RBD for volumes (Cinder)
786         restrictions:
787         - settings:storage.volumes_lvm.value == true or settings:storage.volumes_block_device.value
788           == true
789         type: checkbox
790         value: true
791         weight: 20
792       volumes_lvm:
793         description: It is recommended to have at least one Cinder node.
794         label: Cinder LVM over iSCSI for volumes
795         restrictions:
796         - settings:storage.volumes_ceph.value == true
797         type: checkbox
798         value: false
799         weight: 10
800 workloads_collector:
801       enabled:
802         type: hidden
803         value: true
804       metadata:
805         group: general
806         label: Workloads Collector User
807         restrictions:
808         - action: hide
809           condition: 'true'
810         weight: 10
811       password:
812         type: password
813         value: JWMZX9JjUK1g4AsC7tHvpXvm
814       tenant:
815         type: text
816         value: services
817       user:
818         type: text
819         value: fuel_stats_user