Merge "Refactor deploy-config.py"
[fuel.git] / deploy / config / dea_base.yaml
index d3188a1..0b8485b 100644 (file)
@@ -1,18 +1,25 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# jonas.bjurel@ericsson.com
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
 dea-base-config-metadata:
   title: 'Deployment Environment Adapter Base configuration'
   # DEA API version supported
-  version: '0.1'
-  created: 'Mon Dec 28 2015'
-  comment: 'None'
+  version: '0.4'
+  created: 'Fri Jun 10 2016'
+  comment: 'Rebased for Fuel 9'
 environment:
-  mode: ha
   net_segment_type: tun
-wanted_release: Kilo on Ubuntu 14.04
 fuel:
   FUEL_ACCESS:
     password: admin
     user: admin
-  HOSTNAME: fuel
+wanted_release: Mitaka on Ubuntu 14.04
 settings:
   editable:
     access:
@@ -26,7 +33,8 @@ settings:
         value: admin@localhost
         weight: 40
       metadata:
-        label: Access
+        group: general
+        label: OpenStack Access
         weight: 10
       password:
         description: Password for Administrator
@@ -42,7 +50,7 @@ settings:
         label: Tenant
         regex:
           error: Invalid tenant name
-          source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?![Gg]uest$)(?!.*
+          source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?!ironic$)(?![Gg]uest$)(?!.*
             +.*$).+
         type: text
         value: admin
@@ -52,57 +60,91 @@ settings:
         label: Username
         regex:
           error: Invalid username
-          source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?![Gg]uest$)(?!.*
+          source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?!ironic$)(?![Gg]uest$)(?!.*
             +.*$).+
         type: text
         value: admin
         weight: 10
     additional_components:
       ceilometer:
-        description: If selected, Ceilometer component will be installed
-        label: Install Ceilometer
+        description: If selected, Ceilometer and Aodh components will be installed
+        label: Install Ceilometer and Aodh
         type: checkbox
-        value: false
-        weight: 40
+        value: true
+        weight: 60
       heat:
         description: ''
         label: ''
         type: hidden
         value: true
-        weight: 30
+        weight: 50
+      ironic:
+        description: If selected, Ironic component will be installed
+        label: Install Ironic
+        restrictions:
+        - cluster:net_provider != 'neutron' or networking_parameters:segmentation_type != 'vlan': Ironic
+            requires Neutron with VLAN segmentation.
+        - settings:storage.images_ceph.value == true and settings:storage.objects_ceph.value == false: Ironic
+            requires Swift or RadosGW for Glance images.
+        type: checkbox
+        value: false
+        weight: 80
       metadata:
+        group: openstack_services
         label: Additional Components
-        weight: 20
+        weight: 10
       mongo:
         description: If selected, You can use external Mongo DB as ceilometer backend
         label: Use external Mongo DB
         restrictions:
-        - settings:additional_components.ceilometer.value == false
+        - settings:additional_components.ceilometer.value == false: External Mongo
+            aims to be an external backend for Ceilometer. Without Ceilometer enabled,
+            External Mongo is useless and should not be installed.
         type: checkbox
         value: false
-        weight: 40
+        weight: 70
       murano:
         description: If selected, Murano component will be installed
         label: Install Murano
         type: checkbox
         value: false
         weight: 20
+      murano-cfapi:
+        description: If selected, Murano service broker will be installed
+        label: Install Murano service broker for Cloud Foundry
+        restrictions:
+        - condition: settings:additional_components.murano.value == false
+          message: Murano should be enabled
+        - action: hide
+          condition: not ('experimental' in version:feature_groups)
+        type: checkbox
+        value: false
+        weight: 30
       sahara:
         description: If selected, Sahara component will be installed
         label: Install Sahara
         type: checkbox
         value: false
         weight: 10
+    cgroups:
+      metadata:
+        always_editable: true
+        group: general
+        label: Cgroups conguration for services
+        restrictions:
+        - action: hide
+          condition: 'true'
+        weight: 90
     common:
       auth_key:
-        description: Public key(s) to include in authorized_keys on deployed nodes
-        label: Public Key
-        type: textarea
+        group: security
+        type: hidden
         value: ''
         weight: 70
       auto_assign_floating_ip:
         description: If selected, OpenStack will automatically assign a floating IP
           to a new instance
+        group: network
         label: Auto assign floating IP
         restrictions:
         - action: hide
@@ -113,11 +155,13 @@ settings:
       debug:
         description: Debug logging mode provides more information, but requires more
           disk space.
+        group: logging
         label: OpenStack debug logging
         type: checkbox
         value: false
         weight: 20
       libvirt_type:
+        group: compute
         label: Hypervisor type
         type: radio
         value: kvm
@@ -132,17 +176,23 @@ settings:
         weight: 30
       metadata:
         label: Common
-        weight: 30
+        weight: 10
       nova_quota:
         description: Quotas are used to limit CPU and memory usage for tenants. Enabling
           quotas will increase load on the Nova database.
+        group: compute
         label: Nova quotas
         type: checkbox
         value: false
-        weight: 25
+        weight: 30
+      propagate_task_deploy:
+        type: hidden
+        value: false
+        weight: 12
       puppet_debug:
         description: Debug puppet logging mode provides more information, but requires
           more disk space.
+        group: logging
         label: Puppet debug logging
         type: checkbox
         value: true
@@ -153,21 +203,25 @@ settings:
           previous state. If the guest was running a restart will be attempted when
           nova-compute starts. If the guest was not running previously, a restart
           will not be attempted.
+        group: compute
         label: Resume guests state on host boot
         type: checkbox
         value: true
-        weight: 60
+        weight: 50
+      task_deploy:
+        type: hidden
+        value: true
+        weight: 11
       use_cow_images:
         description: For most cases you will want qcow format. If it's disabled, raw
           image format will be used to run VMs. OpenStack with raw format currently
           does not support snapshotting.
+        group: storage
         label: Use qcow format for images
         type: checkbox
         value: true
-        weight: 50
+        weight: 60
       use_vcenter:
-        restrictions:
-        - condition: cluster:net_provider == 'nova_network'
         type: hidden
         value: false
         weight: 30
@@ -179,6 +233,7 @@ settings:
         value: 226.94.1.1
         weight: 10
       metadata:
+        group: general
         label: Corosync
         restrictions:
         - action: hide
@@ -207,13 +262,14 @@ settings:
         value: ''
         weight: 30
       metadata:
+        group: openstack_services
         label: External MongoDB
         restrictions:
         - action: hide
           condition: settings:additional_components.mongo.value == false
           message: Ceilometer and MongoDB are not enabled on the Additional Components
             section
-        weight: 20
+        weight: 30
       mongo_db_name:
         description: Mongo database name
         label: Database name
@@ -253,18 +309,25 @@ settings:
         label: Initial parameters
         type: text
         value: console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset
-        weight: 45
       metadata:
+        group: general
         label: Kernel parameters
-        weight: 40
+        weight: 60
     murano_settings:
       metadata:
+        group: openstack_services
         label: Murano Settings
         restrictions:
         - action: hide
           condition: settings:additional_components.murano.value == false
           message: Murano is not enabled on the Additional Components section
         weight: 20
+      murano_glance_artifacts_plugin:
+        description: If selected glance artifact repository will be enabled
+        label: Enable glance artifact repository
+        type: checkbox
+        value: true
+        weight: 40
       murano_repo_url:
         description: ''
         label: Murano Repository URL
@@ -273,11 +336,12 @@ settings:
         weight: 10
     neutron_advanced_configuration:
       metadata:
+        group: network
         label: Neutron Advanced Configuration
         restrictions:
         - action: hide
           condition: cluster:net_provider != 'neutron'
-        weight: 45
+        weight: 20
       neutron_dvr:
         description: Enable Distributed Virtual Routers in Neutron
         label: Neutron DVR
@@ -297,60 +361,179 @@ settings:
         type: checkbox
         value: false
         weight: 10
-    neutron_mellanox:
-      metadata:
-        enabled: true
-        label: Mellanox Neutron components
-        restrictions:
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        toggleable: false
-        weight: 50
-      plugin:
-        label: Mellanox drivers and SR-IOV plugin
-        type: radio
-        value: disabled
-        values:
-        - data: disabled
-          description: If selected, Mellanox drivers, Neutron and Cinder plugin will
-            not be installed.
-          label: Mellanox drivers and plugins disabled
-          restrictions:
-          - settings:storage.iser.value == true
-        - data: drivers_only
-          description: If selected, Mellanox Ethernet drivers will be installed to
-            support networking over Mellanox NIC. Mellanox Neutron plugin will not
-            be installed.
-          label: Install only Mellanox drivers
-          restrictions:
-          - settings:common.libvirt_type.value != 'kvm'
-        - data: ethernet
-          description: If selected, both Mellanox Ethernet drivers and Mellanox network
-            acceleration (Neutron) plugin will be installed.
-          label: Install Mellanox drivers and SR-IOV plugin
-          restrictions:
-          - settings:common.libvirt_type.value != 'kvm' or not (cluster:net_provider
-            == 'neutron' and networking_parameters:segmentation_type == 'vlan')
-        weight: 60
-      vf_num:
-        description: Note that one virtual function will be reserved to the storage
-          network, in case of choosing iSER.
-        label: Number of virtual NICs
+      neutron_l3_ha:
+        description: 'Enable High Availability features for Virtual Routers in Neutron
+
+          Requires at least 2 Controller nodes to function properly
+
+          '
+        label: Neutron L3 HA
         restrictions:
-        - settings:neutron_mellanox.plugin.value != 'ethernet'
+        - condition: settings:neutron_advanced_configuration.neutron_dvr.value ==
+            true
+          message: Neutron DVR must be disabled in order to use Neutron L3 HA
+        type: checkbox
+        value: false
+        weight: 30
+      neutron_qos:
+        description: Enable Neutron QoS advanced service plug-in
+        label: Neutron QoS
+        type: checkbox
+        value: false
+        weight: 40
+    operator_user:
+      authkeys:
+        description: Public SSH keys to include to operator user's authorized keys,
+          one per line.
+        label: Authorized SSH keys
+        type: textarea
+        value: ''
+        weight: 80
+      homedir:
+        description: Home directory for operator user
+        label: Home directory
+        regex:
+          error: Invalid path
+          source: ^/\S
         type: text
-        value: '16'
+        value: /home/fueladmin
         weight: 70
+      metadata:
+        group: general
+        label: Operating System Access
+        weight: 15
+      name:
+        description: Username for operator user
+        label: Username
+        regex:
+          error: Empty username
+          source: \S
+        type: text
+        value: fueladmin
+        weight: 50
+      password:
+        description: Password for operator user
+        label: Password
+        regex:
+          error: Empty password
+          source: \S
+        type: password
+        value: mCKyMCwhzrt7d6E8WQzxg5WS
+        weight: 60
+      sudo:
+        description: Sudoers configuration directives for operator user, one per line.
+        label: Sudoers configuration
+        type: textarea
+        value: 'ALL=(ALL) NOPASSWD: ALL'
+        weight: 90
     provision:
       metadata:
+        group: general
         label: Provision
         restrictions:
         - action: hide
-          condition: 'true'
+          condition: 'false'
         weight: 80
       method:
         type: hidden
         value: image
+      packages:
+        label: Initial packages
+        type: textarea
+        value: 'acl
+
+          anacron
+
+          bash-completion
+
+          bridge-utils
+
+          bsdmainutils
+
+          build-essential
+
+          cloud-init
+
+          curl
+
+          daemonize
+
+          debconf-utils
+
+          gdisk
+
+          grub-pc
+
+          hpsa-dkms
+
+          hwloc
+
+          i40e-dkms
+
+          linux-firmware
+
+          linux-firmware-nonfree
+
+          linux-headers-generic-lts-trusty
+
+          linux-image-generic-lts-trusty
+
+          lvm2
+
+          mcollective
+
+          mdadm
+
+          multipath-tools
+
+          multipath-tools-boot
+
+          nailgun-agent
+
+          nailgun-mcagents
+
+          network-checker
+
+          ntp
+
+          openssh-client
+
+          openssh-server
+
+          puppet
+
+          python-amqp
+
+          ruby-augeas
+
+          ruby-ipaddress
+
+          ruby-json
+
+          ruby-netaddr
+
+          ruby-openstack
+
+          ruby-shadow
+
+          ruby-stomp
+
+          telnet
+
+          ubuntu-minimal
+
+          ubuntu-standard
+
+          uuid-runtime
+
+          vim
+
+          virt-what
+
+          vlan
+
+          '
+        weight: 10
     public_network_assignment:
       assign_to_all_nodes:
         description: When disabled, public network will be assigned to controllers
@@ -360,11 +543,12 @@ settings:
         value: true
         weight: 10
       metadata:
+        group: network
         label: Public network assignment
         restrictions:
         - action: hide
           condition: cluster:net_provider != 'neutron'
-        weight: 50
+        weight: 10
     public_ssl:
       cert_data:
         description: Certificate and private key data, concatenated into a single
@@ -399,9 +583,12 @@ settings:
       horizon:
         description: Secure access to Horizon enabling HTTPS instead of HTTP
         label: HTTPS for Horizon
+        restrictions:
+        - settings:public_ssl.services.value == false: TLS for OpenStack public endpoints
+            should be enabled
         type: checkbox
         value: false
-        weight: 10
+        weight: 20
       hostname:
         description: Your DNS entries should point to this name. Self-signed certificates
           also will use this hostname
@@ -414,6 +601,7 @@ settings:
         value: public.fuel.local
         weight: 50
       metadata:
+        group: security
         label: Public TLS
         weight: 110
       services:
@@ -421,10 +609,11 @@ settings:
         label: TLS for OpenStack public endpoints
         type: checkbox
         value: false
-        weight: 20
+        weight: 10
     repo_setup:
       metadata:
         always_editable: true
+        group: general
         label: Repositories
         weight: 50
       repos:
@@ -438,61 +627,88 @@ settings:
           Please make sure your Fuel master node has Internet access to the repository
           before attempting to create a mirror.
 
-          For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-7.0/operations.html#external-ubuntu-ops).
-
           '
         extra_priority: null
         type: custom_repo_configuration
         value:
         - name: ubuntu
           priority: null
-          section: main
+          section: main universe multiverse
           suite: trusty
           type: deb
-          uri: http://10.20.0.2:8080/ubuntu-part
+          uri: http://archive.ubuntu.com/ubuntu/
         - name: ubuntu-updates
           priority: null
-          section: main
-          suite: trusty
+          section: main universe multiverse
+          suite: trusty-updates
           type: deb
-          uri: http://10.20.0.2:8080/ubuntu-part
+          uri: http://archive.ubuntu.com/ubuntu/
         - name: ubuntu-security
           priority: null
-          section: main
-          suite: trusty
+          section: main universe multiverse
+          suite: trusty-security
           type: deb
-          uri: http://10.20.0.2:8080/ubuntu-part
+          uri: http://archive.ubuntu.com/ubuntu/
         - name: mos
           priority: 1050
           section: main restricted
-          suite: mos7.0
+          suite: mos9.0
           type: deb
-          uri: http://10.20.0.2:8080/2015.1.0-7.0/ubuntu/x86_64
+          uri: http://10.20.0.2:8080/mitaka-9.0/ubuntu/x86_64
         - name: mos-updates
           priority: 1050
           section: main restricted
-          suite: mos7.0-updates
+          suite: mos9.0-updates
           type: deb
-          uri: http://10.20.0.2:8080/mos-ubuntu
+          uri: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
         - name: mos-security
           priority: 1050
           section: main restricted
-          suite: mos7.0-security
+          suite: mos9.0-security
           type: deb
-          uri: http://10.20.0.2:8080/mos-ubuntu
+          uri: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
         - name: mos-holdback
           priority: 1100
           section: main restricted
-          suite: mos7.0-holdback
+          suite: mos9.0-holdback
           type: deb
-          uri: http://10.20.0.2:8080/mos-ubuntu
+          uri: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
         - name: Auxiliary
           priority: 1150
           section: main restricted
           suite: auxiliary
           type: deb
-          uri: http://10.20.0.2:8080/2015.1.0-7.0/ubuntu/auxiliary
+          uri: http://10.20.0.2:8080/mitaka-9.0/ubuntu/auxiliary
+    service_user:
+      homedir:
+        type: hidden
+        value: /var/lib/fuel
+      metadata:
+        group: general
+        label: Service user account
+        restrictions:
+        - action: hide
+          condition: 'true'
+        weight: 10
+      name:
+        type: hidden
+        value: fuel
+      password:
+        type: hidden
+        value: sCTOC4CkNSTLuNKUQDNUV1Bp
+      root_password:
+        type: hidden
+        value: r00tme
+      sudo:
+        type: hidden
+        value: 'ALL=(ALL) NOPASSWD: ALL'
     storage:
+      admin_key:
+        type: hidden
+        value: AQDir1pXAAAAABAAm8r2rR0FuVsV8LRo6u9GgQ==
+      bootstrap_osd_key:
+        type: hidden
+        value: AQDir1pXAAAAABAAK5E2MNhWdIpOBzjXJTVqcg==
       ephemeral_ceph:
         description: Configures Nova to store ephemeral volumes in RBD. This works
           best if Ceph is enabled for volumes and images, too. Enables live migration
@@ -500,8 +716,11 @@ settings:
           only work with VMs launched from Cinder volumes).
         label: Ceph RBD for ephemeral volumes (Nova)
         type: checkbox
-        value: true
+        value: false
         weight: 75
+      fsid:
+        type: hidden
+        value: 7a5db523-ae79-489d-b5d1-7a31fdaba6ef
       images_ceph:
         description: Configures Glance to use the Ceph RBD backend to store images.
           If enabled, this option will prevent Swift from installing.
@@ -510,12 +729,12 @@ settings:
         - settings:storage.images_vcenter.value == true: Only one Glance backend could
             be selected.
         type: checkbox
-        value: true
+        value: false
         weight: 30
       images_vcenter:
         description: Configures Glance to use the vCenter/ESXi backend to store images.
           If enabled, this option will prevent Swift from installing.
-        label: VMWare vCenter/ESXi datastore for images (Glance)
+        label: VMware vCenter/ESXi datastore for images (Glance)
         restrictions:
         - action: hide
           condition: settings:common.use_vcenter.value != true
@@ -524,63 +743,66 @@ settings:
         type: checkbox
         value: false
         weight: 35
-      iser:
-        description: 'High performance block storage: Cinder volumes over iSER protocol
-          (iSCSI over RDMA). This feature requires SR-IOV capabilities in the NIC,
-          and will use a dedicated virtual function for the storage network.'
-        label: iSER protocol for volumes (Cinder)
-        restrictions:
-        - settings:storage.volumes_lvm.value != true or settings:common.libvirt_type.value
-          != 'kvm'
-        - action: hide
-          condition: not ('experimental' in version:feature_groups)
-        type: checkbox
-        value: false
-        weight: 11
       metadata:
-        label: Storage
+        group: storage
+        label: Storage Backends
         weight: 60
+      mon_key:
+        type: hidden
+        value: AQDir1pXAAAAABAAp92Dw8/kmDdhMvpgaPMKiQ==
       objects_ceph:
         description: Configures RadosGW front end for Ceph RBD. This exposes S3 and
           Swift API Interfaces. If enabled, this option will prevent Swift from installing.
         label: Ceph RadosGW for objects (Swift API)
-        restrictions:
-        - settings:storage.images_ceph.value == false
         type: checkbox
-        value: true
+        value: false
         weight: 80
       osd_pool_size:
         description: Configures the default number of object replicas in Ceph. This
-          number must be equal to or lower than the number of deployed 'Storage -
-          Ceph OSD' nodes.
+          number must be equal to or lower than the number of deployed 'Ceph OSD'
+          nodes.
         label: Ceph object replication factor
         regex:
           error: Invalid number
           source: ^[1-9]\d*$
         type: text
-        value: '2'
+        value: '3'
         weight: 85
+      radosgw_key:
+        type: hidden
+        value: AQDir1pXAAAAABAAUH+qP9FohG5wGr/+oQ2rFw==
+      volumes_block_device:
+        description: High performance block device storage. It is recommended to have
+          at least one Cinder Block Device
+        label: Cinder Block device driver
+        restrictions:
+        - settings:storage.volumes_ceph.value == true
+        type: checkbox
+        value: false
+        weight: 15
       volumes_ceph:
         description: Configures Cinder to store volumes in Ceph RBD images.
         label: Ceph RBD for volumes (Cinder)
         restrictions:
-        - settings:storage.volumes_lvm.value == true
+        - settings:storage.volumes_lvm.value == true or settings:storage.volumes_block_device.value
+          == true
         type: checkbox
         value: true
         weight: 20
       volumes_lvm:
-        description: It is recommended to have at least one Storage - Cinder LVM node.
+        description: It is recommended to have at least one Cinder node.
         label: Cinder LVM over iSCSI for volumes
         restrictions:
         - settings:storage.volumes_ceph.value == true
         type: checkbox
         value: false
         weight: 10
-    workloads_collector:
+workloads_collector:
       enabled:
         type: hidden
         value: true
       metadata:
+        group: general
         label: Workloads Collector User
         restrictions:
         - action: hide
@@ -588,7 +810,7 @@ settings:
         weight: 10
       password:
         type: password
-        value: YqvwqNhL
+        value: JWMZX9JjUK1g4AsC7tHvpXvm
       tenant:
         type: text
         value: services