title: Deployment Environment Adapter (DEA)
# DEA API version supported
version:
created:
comment: Config for OPNFV BOX - HA deployment with Ceph
environment:
name: opnfv_box
mode: ha
net_segment_type: tun
wanted_release: Kilo on Ubuntu 14.04
nodes:
- id: 1
interfaces: interfaces_1
transformations: transformations_1
role: ceph-osd,controller
- id: 2
interfaces: interfaces_1
transformations: transformations_1
role: ceph-osd,controller
- id: 3
interfaces: interfaces_1
transformations: transformations_1
role: ceph-osd,controller
- id: 4
interfaces: interfaces_1
transformations: transformations_2
role: ceph-osd,compute
- id: 5
interfaces: interfaces_1
transformations: transformations_2
role: ceph-osd,compute
fuel:
ADMIN_NETWORK:
cidr: 10.20.0.0/24
dhcp_gateway: 10.20.0.2
dhcp_pool_end: 10.20.0.254
dhcp_pool_start: 10.20.0.3
ipaddress: 10.20.0.2
netmask: 255.255.0.0
DNS_DOMAIN: domain.tld
DNS_SEARCH: domain.tld
DNS_UPSTREAM: 8.8.8.8
FUEL_ACCESS:
password: admin
user: admin
HOSTNAME: opnfv
NTP1: 0.pool.ntp.org
NTP2: 1.pool.ntp.org
NTP3: 2.pool.ntp.org
interfaces_1:
eth0:
- public
eth1:
- fuelweb_admin
- management
- storage
- private
transformations_1:
transformations:
- action: add-br
name: br-fw-admin
- action: add-br
name: br-mgmt
- action: add-br
name: br-storage
- action: add-br
name: br-ex
- action: add-br
name: br-floating
provider: ovs
- action: add-patch
bridges:
- br-floating
- br-ex
mtu: 65000
provider: ovs
- action: add-br
name: br-mesh
- action: add-port
bridge: br-fw-admin
name: eth0
- action: add-port
bridge: br-mgmt
name: eth1.300
- action: add-port
bridge: br-storage
name: eth1.301
- action: add-port
bridge: br-mesh
name: eth1.302
- action: add-port
bridge: br-ex
name: eth0
transformations_2:
transformations:
- action: add-br
name: br-fw-admin
- action: add-br
name: br-mgmt
- action: add-br
name: br-storage
- action: add-br
name: br-mesh
- action: add-port
bridge: br-fw-admin
name: eth0
- action: add-port
bridge: br-mgmt
name: eth1.300
- action: add-port
bridge: br-storage
name: eth1.301
- action: add-port
bridge: br-mesh
name: eth1.302
network:
management_vip: 192.168.0.2
management_vrouter_vip: 192.168.0.1
networking_parameters:
base_mac: fa:16:3e:00:00:00
configuration_template: null
dns_nameservers:
- 8.8.4.4
- 8.8.8.8
floating_ranges:
- - 172.30.10.83
- 172.30.10.92
gre_id_range:
- 2
- 65535
internal_cidr: 192.168.111.0/24
internal_gateway: 192.168.111.1
net_l23_provider: ovs
segmentation_type: tun
vlan_range:
- 1000
- 1030
networks:
- cidr: 172.30.10.0/24
gateway: 172.30.10.1
ip_ranges:
- - 172.30.10.73
- 172.30.10.82
meta:
cidr: 172.16.0.0/24
configurable: true
floating_range_var: floating_ranges
ip_range:
- 172.16.0.2
- 172.16.0.126
map_priority: 1
name: public
notation: ip_ranges
render_addr_mask: public
render_type: null
use_gateway: true
vips:
- haproxy
- vrouter
vlan_start: null
name: public
vlan_start: null
- cidr: 192.168.0.0/24
gateway: null
ip_ranges:
- - 192.168.0.1
- 192.168.0.254
meta:
cidr: 192.168.0.0/24
configurable: true
map_priority: 2
name: management
notation: cidr
render_addr_mask: internal
render_type: cidr
use_gateway: false
vips:
- haproxy
- vrouter
vlan_start: 101
name: management
vlan_start: 300
- cidr: 192.168.1.0/24
gateway: null
ip_ranges:
- - 192.168.1.1
- 192.168.1.254
meta:
cidr: 192.168.1.0/24
configurable: true
map_priority: 2
name: storage
notation: cidr
render_addr_mask: storage
render_type: cidr
use_gateway: false
vlan_start: 102
name: storage
vlan_start: 301
- cidr: 192.168.2.0/24
gateway: null
ip_ranges:
- - 192.168.2.1
- 192.168.2.254
meta:
cidr: 192.168.2.0/24
configurable: true
map_priority: 2
name: private
notation: cidr
render_addr_mask: null
render_type: cidr
seg_type: tun
use_gateway: false
vlan_start: 103
name: private
vlan_start: 302
- cidr: 10.20.0.0/16
gateway: 10.20.0.2
ip_ranges:
- - 10.20.0.3
- 10.20.0.254
meta:
configurable: false
map_priority: 0
notation: ip_ranges
render_addr_mask: null
render_type: null
unmovable: true
use_gateway: true
name: fuelweb_admin
vlan_start: null
public_vip: 172.30.10.3
public_vrouter_vip: 172.30.10.2
vips:
management:
ipaddr: 192.168.0.2
namespace: haproxy
network_role: mgmt/vip
node_roles:
- controller
- primary-controller
public:
ipaddr: 172.30.10.3
namespace: haproxy
network_role: public/vip
node_roles:
- controller
- primary-controller
vrouter:
ipaddr: 192.168.0.1
namespace: vrouter
network_role: mgmt/vip
node_roles:
- controller
- primary-controller
vrouter_pub:
ipaddr: 172.30.10.2
namespace: vrouter
network_role: public/vip
node_roles:
- controller
- primary-controller
settings:
editable:
access:
email:
description: Email address for Administrator
label: Email
regex:
error: Invalid email
source: ^\S+@\S+$
type: text
value: admin@localhost
weight: 40
metadata:
label: Access
weight: 10
password:
description: Password for Administrator
label: Password
regex:
error: Empty password
source: \S
type: password
value: admin
weight: 20
tenant:
description: Tenant (project) name for Administrator
label: Tenant
regex:
error: Invalid tenant name
source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?![Gg]uest$)(?!.*
+.*$).+
type: text
value: admin
weight: 30
user:
description: Username for Administrator
label: Username
regex:
error: Invalid username
source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?![Gg]uest$)(?!.*
+.*$).+
type: text
value: admin
weight: 10
additional_components:
ceilometer:
description: If selected, Ceilometer component will be installed
label: Install Ceilometer
type: checkbox
value: false
weight: 40
heat:
description: ''
label: ''
type: hidden
value: true
weight: 30
metadata:
label: Additional Components
weight: 20
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
type: checkbox
value: false
weight: 40
murano:
description: If selected, Murano component will be installed
label: Install Murano
type: checkbox
value: false
weight: 20
sahara:
description: If selected, Sahara component will be installed
label: Install Sahara
type: checkbox
value: false
weight: 10
common:
auth_key:
description: Public key(s) to include in authorized_keys on deployed nodes
label: Public Key
type: textarea
value: ''
weight: 70
auto_assign_floating_ip:
description: If selected, OpenStack will automatically assign a floating IP
to a new instance
label: Auto assign floating IP
restrictions:
- action: hide
condition: cluster:net_provider == 'neutron'
type: checkbox
value: false
weight: 40
debug:
description: Debug logging mode provides more information, but requires more
disk space.
label: OpenStack debug logging
type: checkbox
value: false
weight: 20
libvirt_type:
label: Hypervisor type
type: radio
value: kvm
values:
- data: kvm
description: Choose this type of hypervisor if you run OpenStack on hardware
label: KVM
- data: qemu
description: Choose this type of hypervisor if you run OpenStack on virtual
hosts.
label: QEMU
weight: 30
metadata:
label: Common
weight: 30
nova_quota:
description: Quotas are used to limit CPU and memory usage for tenants. Enabling
quotas will increase load on the Nova database.
label: Nova quotas
type: checkbox
value: false
weight: 25
puppet_debug:
description: Debug puppet logging mode provides more information, but requires
more disk space.
label: Puppet debug logging
type: checkbox
value: true
weight: 20
resume_guests_state_on_host_boot:
description: Whether to resume previous guests state when the host reboots.
If enabled, this option causes guests assigned to the host to resume their
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.
label: Resume guests state on host boot
type: checkbox
value: true
weight: 60
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.
label: Use qcow format for images
type: checkbox
value: true
weight: 50
use_vcenter:
restrictions:
- condition: cluster:net_provider == 'nova_network'
type: hidden
value: false
weight: 30
corosync:
group:
description: ''
label: Group
type: text
value: 226.94.1.1
weight: 10
metadata:
label: Corosync
restrictions:
- action: hide
condition: 'true'
weight: 50
port:
description: ''
label: Port
type: text
value: '12000'
weight: 20
verified:
description: Set True only if multicast is configured correctly on router.
label: Need to pass network verification.
type: checkbox
value: false
weight: 10
external_dns:
dns_list:
description: List of upstream DNS servers, separated by comma
label: DNS list
regex:
error: Invalid IP address list
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})*$
type: text
value: 8.8.8.8, 8.8.4.4
weight: 10
metadata:
label: Host OS DNS Servers
weight: 90
external_mongo:
hosts_ip:
description: IP Addresses of MongoDB. Use comma to split IPs
label: MongoDB hosts IP
regex:
error: Invalid hosts ip sequence
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]?)$
type: text
value: ''
weight: 30
metadata:
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
mongo_db_name:
description: Mongo database name
label: Database name
regex:
error: Invalid database name
source: ^\w+$
type: text
value: ceilometer
weight: 30
mongo_password:
description: Mongo database password
label: Password
regex:
error: Password contains spaces
source: ^\S*$
type: password
value: ceilometer
weight: 30
mongo_replset:
description: Name for Mongo replication set
label: Replset
type: text
value: ''
weight: 30
mongo_user:
description: Mongo database username
label: Username
regex:
error: Empty username
source: ^\w+$
type: text
value: ceilometer
weight: 30
external_ntp:
metadata:
label: Host OS NTP Servers
weight: 100
ntp_list:
description: List of upstream NTP servers, separated by comma
label: NTP server list
regex:
error: Invalid NTP server list
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*)*$
type: text
value: 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org
weight: 10
kernel_params:
kernel:
description: Default kernel parameters
label: Initial parameters
type: text
value: console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset
weight: 45
metadata:
label: Kernel parameters
weight: 40
murano_settings:
metadata:
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_repo_url:
description: ''
label: Murano Repository URL
type: text
value: http://storage.apps.openstack.org/
weight: 10
neutron_advanced_configuration:
metadata:
label: Neutron Advanced Configuration
restrictions:
- action: hide
condition: cluster:net_provider != 'neutron'
weight: 45
neutron_dvr:
description: Enable Distributed Virtual Routers in Neutron
label: Neutron DVR
restrictions:
- ? networking_parameters:segmentation_type != 'vlan' and settings:neutron_advanced_configuration.neutron_l2_pop.value
== false
: DVR requires L2 population to be enabled.
type: checkbox
value: false
weight: 20
neutron_l2_pop:
description: Enable L2 population mechanism in Neutron
label: Neutron L2 population
restrictions:
- action: hide
condition: networking_parameters:segmentation_type == 'vlan'
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
restrictions:
- settings:neutron_mellanox.plugin.value != 'ethernet'
type: text
value: '16'
weight: 70
provision:
metadata:
label: Provision
restrictions:
- action: hide
condition: 'true'
weight: 80
method:
type: hidden
value: image
public_network_assignment:
assign_to_all_nodes:
description: When disabled, public network will be assigned to controllers only
label: Assign public network to all nodes
type: checkbox
value: false
weight: 10
metadata:
label: Public network assignment
restrictions:
- action: hide
condition: cluster:net_provider != 'neutron'
weight: 50
public_ssl:
cert_data:
description: Certificate and private key data, concatenated into a single file
label: Certificate
restrictions:
- action: hide
condition: (settings:public_ssl.cert_source.value != 'user_uploaded') or (settings:public_ssl.horizon.value
== false and settings:public_ssl.services.value == false)
type: file
value: ''
weight: 40
cert_source:
description: From where we'll get certificate and private key
label: Select source for certificate
restrictions:
- action: hide
condition: settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
== false
type: radio
value: self_signed
values:
- data: self_signed
description: Generate private key and certificate that will be signed by this
key
label: Self-signed
- data: user_uploaded
description: Use pre-generated key and certificate
label: I have my own keypair with certificate
weight: 30
horizon:
description: Secure access to Horizon enabling HTTPS instead of HTTP
label: HTTPS for Horizon
type: checkbox
value: false
weight: 10
hostname:
description: Your DNS entries should point to this name. Self-signed certificates
also will use this hostname
label: DNS hostname for public TLS endpoints
restrictions:
- action: hide
condition: settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
== false
type: text
value: public.fuel.local
weight: 50
metadata:
label: Public TLS
weight: 110
services:
description: Enable TLS termination on HAProxy for OpenStack services
label: TLS for OpenStack public endpoints
type: checkbox
value: false
weight: 20
repo_setup:
metadata:
always_editable: true
label: Repositories
weight: 50
repos:
description: 'Please note: the first repository will be considered the operating
system mirror that will be used during node provisioning.
To create a local repository mirror on the Fuel master node, please follow
the instructions provided by running "fuel-createmirror --help" on the Fuel
master node.
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 universe multiverse
suite: trusty
type: deb
uri: http://archive.ubuntu.com/ubuntu/
- name: ubuntu-updates
priority: null
section: main universe multiverse
suite: trusty-updates
type: deb
uri: http://archive.ubuntu.com/ubuntu/
- name: ubuntu-security
priority: null
section: main universe multiverse
suite: trusty-security
type: deb
uri: http://archive.ubuntu.com/ubuntu/
- name: mos
priority: 1050
section: main restricted
suite: mos7.0
type: deb
uri: http://10.20.0.2:8080/2015.1.0-7.0/ubuntu/x86_64
- name: mos-updates
priority: 1050
section: main restricted
suite: mos7.0-updates
type: deb
uri: http://mirror.fuel-infra.org/mos-repos/ubuntu/7.0/
- name: mos-security
priority: 1050
section: main restricted
suite: mos7.0-security
type: deb
uri: http://mirror.fuel-infra.org/mos-repos/ubuntu/7.0/
- name: mos-holdback
priority: 1100
section: main restricted
suite: mos7.0-holdback
type: deb
uri: http://mirror.fuel-infra.org/mos-repos/ubuntu/7.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
storage:
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 of
all types of Ceph backed VMs (without this option, live migration will only
work with VMs launched from Cinder volumes).
label: Ceph RBD for ephemeral volumes (Nova)
type: checkbox
value: true
weight: 75
images_ceph:
description: Configures Glance to use the Ceph RBD backend to store images.
If enabled, this option will prevent Swift from installing.
label: Ceph RBD for images (Glance)
restrictions:
- settings:storage.images_vcenter.value == true: Only one Glance backend could
be selected.
type: checkbox
value: true
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)
restrictions:
- action: hide
condition: settings:common.use_vcenter.value != true
- condition: settings:storage.images_ceph.value == true
message: Only one Glance backend could be selected.
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
weight: 60
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: 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.
label: Ceph object replication factor
regex:
error: Invalid number
source: ^[1-9]\d*$
type: text
value: '2'
weight: 85
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
type: checkbox
value: true
weight: 20
volumes_lvm:
description: It is recommended to have at least one Storage - Cinder LVM node.
label: Cinder LVM over iSCSI for volumes
restrictions:
- settings:storage.volumes_ceph.value == true
type: checkbox
value: false
weight: 10
syslog:
metadata:
label: Syslog
weight: 50
syslog_port:
description: Remote syslog port
label: Port
regex:
error: Invalid syslog port
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])$
type: text
value: '514'
weight: 20
syslog_server:
description: Remote syslog hostname
label: Hostname
type: text
value: ''
weight: 10
syslog_transport:
label: Syslog transport protocol
type: radio
value: tcp
values:
- data: udp
description: ''
label: UDP
- data: tcp
description: ''
label: TCP
weight: 30
workloads_collector:
enabled:
type: hidden
value: true
metadata:
label: Workloads Collector User
restrictions:
- action: hide
condition: 'true'
weight: 10
password:
type: password
value: sbfn1c8b
tenant:
type: text
value: services
user:
type: text
value: fuel_stats_user