fuel-web/nailgun/nailgun/fixtures/openstack.yaml

2312 lines
86 KiB
YAML

---
- &base_release
model: "nailgun.release"
fields:
state: "available"
modes_metadata:
ha_compact:
description: "This configuration Deploys OpenStack ready for high availability (HA). Controller services are prepared for HA by setting up a base MySQL/Galera, RabbitMQ and HAProxy so that additional controllers can be deployed NOW, or scaled out LATER. 3 or more controllers are required for a true HA environment."
roles_metadata:
controller:
name: "Controller"
description: "The Controller initiates orchestration activities and provides an external API. Other components like Glance (image storage), Keystone (identity management), Horizon (OpenStack dashboard) and Nova-Scheduler are installed on the controller as well."
weight: 10
conflicts:
- compute
update_required:
- compute
- cinder
has_primary: true
public_ip_required: true
public_for_dvr_required: true
group: "base"
limits:
min: 1
recommended: 3
overrides:
- condition: "settings:neutron_advanced_configuration.neutron_l3_ha.value == true"
min: 2
message: "Neutron L3 HA requires at least 2 Controller nodes to function properly."
compute:
name: "Compute"
description: "A Compute node creates, manages, and terminates virtual machine instances."
weight: 20
public_for_dvr_required: true
group: "compute"
limits:
recommended: 1
fault_tolerance: "2%"
cinder:
# NOTE: naming, see https://bugs.launchpad.net/fuel/+bug/1383224
name: "Cinder"
description: "Cinder provides scheduling of block storage resources, typically delivered over iSCSI and other compatible backend storage systems. Block storage can be used for database storage, expandable file systems, or to provide a server with access to raw block level devices."
weight: 30
group: "storage"
limits:
recommended: 1
restrictions:
- condition: "settings:storage.volumes_lvm.value == false"
message: "Cinder LVM should be enabled in the environment settings."
# NOTE: https://bugs.launchpad.net/fuel/+bug/1372914 - Prohibit possibility of adding cinder nodes to an environment with Ceph RBD
- condition: "settings:storage.volumes_ceph.value == true"
message: "Ceph RBD cannot be used with Cinder"
cinder-block-device:
name: 'Cinder Block Device'
description: 'Host node for Cinder Block Devices.'
has_primary: false
public_ip_required: false
weight: 35
group: "storage"
conflicts:
- controller
- cinder
- cinder-vmware
- ceph-osd
restrictions:
- condition: "settings:storage.volumes_block_device.value == false"
message: "Cinder Block Device driver should be enabled in the environment settings."
- condition: "settings:storage.volumes_ceph.value == true"
message: "Ceph RBD cannot be used with Cinder Block Device"
cinder-vmware:
name: "Cinder Proxy to VMware Datastore"
description: "Cinder-VMware provides scheduling of block storage resources delivered over VMware vCenter. Block storage can be used for database storage, expandable file systems, or providing a server with access to raw block level devices."
weight: 40
group: "storage"
limits:
recommended: 1
restrictions:
- condition: "settings:common.use_vcenter.value == false"
action: "hide"
ceph-osd:
name: "Ceph OSD"
description: "Ceph storage can be configured to provide storage for block volumes (Cinder), images (Glance) and ephemeral instance storage (Nova). It can also provide object storage through the S3 and Swift API (See settings to enable each)."
weight: 50
group: "storage"
limits:
min: "settings:storage.osd_pool_size.value"
restrictions:
- condition: "settings:storage.volumes_ceph.value == false and settings:storage.images_ceph.value == false and settings:storage.ephemeral_ceph.value == false and settings:storage.objects_ceph.value == false"
message: "Ceph should be enabled in the environment settings."
update_once:
- controller
mongo:
name: "Telemetry - MongoDB"
description: "A feature-complete and recommended database for storage of metering data from OpenStack Telemetry (Ceilometer)."
weight: 60
group: "other"
conflicts:
- compute
- ceph-osd
has_primary: true
limits:
min: 1
overrides:
- condition: "cluster:mode != 'ha_compact'"
max: 1
message: "At most 1 MongoDB node can be added for non-HA deployment"
- condition: "cluster:mode == 'ha_compact'"
recommended: 3
message: "At least 3 MongoDB nodes are recommended for HA deployment."
restrictions:
- condition: "settings:additional_components.ceilometer.value == false"
message: "Ceilometer should be enabled in the environment settings."
- condition: "settings:additional_components.mongo.value == true"
message: "You are already using external MongoDB."
base-os:
name: "Operating System"
description: "Install base Operating System without additional packages and configuration."
weight: 70
group: "other"
virt:
name: "Virtual"
description: "ADVANCED: Make available possibilities to spawn vms on this node that can be assign as a normal nodes."
weight: 80
group: "compute"
public_ip_required: true
conflicts:
- controller
- base-os
restrictions:
- condition: "not ('advanced' in version:feature_groups)"
action: "hide"
compute-vmware:
name: "Compute VMware"
description: "A node that runs nova-compute with VCDriver, that manages ESXi computing resources via VMware vCenter."
weight: 90
group: "compute"
conflicts:
- controller
- compute
- cinder
- cinder-block-device
- ceph-osd
- mongo
- base-os
- virt
- ironic
restrictions:
- condition: "settings:common.use_vcenter.value == false"
action: "hide"
ironic:
name: "Ironic"
description: "Ironic conductor."
weight: 100
group: "compute"
limits:
min: 1
recommended: 3
conflicts:
- compute
restrictions:
- condition: "settings:additional_components.ironic.value == false"
message: "Ironic should be enabled in the environment settings."
network_roles_metadata:
-
id: "keystone/api"
default_mapping: "management"
properties: &default_network_roles_metadata_properties
subnet: true
gateway: false
vip: []
-
id: "admin/pxe"
default_mapping: "fuelweb_admin"
properties:
subnet: true
gateway: true
vip: []
-
id: "swift/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "neutron/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "sahara/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "aodh/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "ceilometer/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "cinder/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "glance/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "glance/glare"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "heat/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "nova/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "murano/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "murano/cfapi"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "horizon"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "mgmt/memcache"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "mgmt/database"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "mgmt/messaging"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "mgmt/corosync"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "mgmt/vip"
default_mapping: "management"
properties:
subnet: true
gateway: false
vip:
-
name: "vrouter"
namespace: "vrouter"
alias: "management_vrouter_vip"
-
name: "management"
namespace: "haproxy"
alias: "management_vip"
-
id: "public/vip"
default_mapping: "public"
properties:
subnet: true
gateway: true
vip:
-
name: "vrouter_pub"
namespace: "vrouter"
alias: "public_vrouter_vip"
vendor_specific:
iptables_rules:
ns_start:
- "iptables -t nat -A POSTROUTING -o <%INT%> -j MASQUERADE"
ns_stop:
- "iptables -t nat -D POSTROUTING -o <%INT%> -j MASQUERADE"
-
name: "public"
namespace: "haproxy"
alias: "public_vip"
-
id: "neutron/private"
default_mapping: "private"
properties:
subnet: false
gateway: false
vip: []
-
id: "neutron/mesh"
default_mapping: "private"
properties: *default_network_roles_metadata_properties
-
id: "neutron/floating"
default_mapping: "public"
properties:
subnet: false
gateway: false
vip: []
-
id: "swift/replication"
default_mapping: "storage"
properties: *default_network_roles_metadata_properties
-
id: "ceph/public"
default_mapping: "storage"
properties: *default_network_roles_metadata_properties
-
id: "ceph/radosgw"
default_mapping: "public"
properties: *default_network_roles_metadata_properties
-
id: "ceph/replication"
default_mapping: "storage"
properties: *default_network_roles_metadata_properties
-
id: "cinder/iscsi"
default_mapping: "storage"
properties: *default_network_roles_metadata_properties
-
id: "mongo/db"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "fw-admin"
default_mapping: "fuelweb_admin"
properties:
subnet: true
gateway: true
vip: []
-
id: "management"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "ex"
default_mapping: "public"
properties:
subnet: true
gateway: true
vip: []
-
id: "storage"
default_mapping: "storage"
properties: *default_network_roles_metadata_properties
-
id: "nova/migration"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "ironic/api"
default_mapping: "management"
properties: *default_network_roles_metadata_properties
-
id: "ironic/baremetal"
default_mapping: "baremetal"
properties:
subnet: true
gateway: false
vip:
-
name: "baremetal"
namespace: "haproxy"
alias: "baremetal_vip"
vendor_specific:
iptables_rules:
ns_start:
- "iptables -A INPUT -i <%INT%> -s <%CIDR%> -d <%IP%> -p tcp -m multiport --dports 6385,8080 -m state --state NEW -j ACCEPT"
- "iptables -A INPUT -i <%INT%> -s <%CIDR%> -d <%IP%> -m state --state ESTABLISHED,RELATED -j ACCEPT"
- "iptables -A INPUT -i <%INT%> -j DROP"
ns_stop:
- "iptables -D INPUT -i <%INT%> -s <%CIDR%> -d <%IP%> -p tcp -m multiport --dports 6385,8080 -m state --state NEW -j ACCEPT"
- "iptables -D INPUT -i <%INT%> -s <%CIDR%> -d <%IP%> -m state --state ESTABLISHED,RELATED -j ACCEPT"
- "iptables -D INPUT -i <%INT%> -j DROP"
networks_metadata:
bonding:
availability:
- dpdkovs: "'experimental' in version:feature_groups and interface:pxe == false and
interface:interface_properties.dpdk.enabled and not interface:interface_properties.sriov.enabled"
- linux: "not interface:interface_properties.sriov.enabled"
properties:
linux:
mode:
- values: ["balance-rr", "active-backup"]
- values: ["802.3ad"]
condition: "'experimental' in version:feature_groups or
interface:pxe == false"
- values: ["balance-xor", "broadcast", "balance-tlb", "balance-alb"]
condition: "'experimental' in version:feature_groups"
xmit_hash_policy:
- values: ["layer2", "layer2+3", "layer3+4", "encap2+3", "encap3+4"]
for_modes: ["802.3ad", "balance-xor", "balance-tlb", "balance-alb"]
lacp_rate:
- values: ["slow", "fast"]
for_modes: ["802.3ad"]
dpdkovs:
mode:
- values: ["active-backup", "balance-slb", "balance-tcp"]
lacp:
- values: ["active", "passive"]
for_modes: ["balance-tcp"]
lacp_rate:
- values: ["slow", "fast"]
for_modes: ["balance-tcp"]
xmit_hash_policy:
- values: ["layer2", "layer2+3", "layer3+4", "encap2+3", "encap3+4"]
for_modes: ["balance-tcp"]
nova_network:
networks:
- name: "public"
cidr: "172.16.0.0/24"
gateway: "172.16.0.1"
ip_range: ["172.16.0.2", "172.16.0.127"]
vlan_start: null
use_gateway: true
notation: "ip_ranges"
render_type: null
render_addr_mask: "public"
map_priority: 1
configurable: true
vips: ["haproxy", "vrouter"]
- name: "management"
cidr: "192.168.0.0/24"
vlan_start: 101
use_gateway: false
notation: "cidr"
render_type: "cidr"
render_addr_mask: "internal"
map_priority: 2
configurable: true
vips: ["haproxy", "vrouter"]
- name: "storage"
cidr: "192.168.1.0/24"
vlan_start: 102
use_gateway: false
notation: "cidr"
render_type: "cidr"
render_addr_mask: "storage"
map_priority: 2
configurable: true
- name: "fixed"
vlan_start: null
use_gateway: false
notation: null
render_type: null
render_addr_mask: null
map_priority: 2
ext_net_data: ["fixed_networks_vlan_start", "fixed_networks_amount"]
configurable: false
config:
net_manager: "FlatDHCPManager"
fixed_networks_cidr: "10.0.0.0/16"
fixed_networks_vlan_start: 103
fixed_network_size: 256
fixed_networks_amount: 1
floating_ranges: [["172.16.0.128", "172.16.0.254"]]
neutron:
networks:
- name: "public"
cidr: "172.16.0.0/24"
ip_range: ["172.16.0.2", "172.16.0.126"]
vlan_start: null
use_gateway: true
notation: "ip_ranges"
render_type: null
render_addr_mask: "public"
map_priority: 1
configurable: true
floating_range_var: "floating_ranges"
vips: ["haproxy", "vrouter"]
- name: "management"
cidr: "192.168.0.0/24"
vlan_start: 101
use_gateway: false
notation: "cidr"
render_type: "cidr"
render_addr_mask: "internal"
map_priority: 2
configurable: true
vips: ["haproxy", "vrouter"]
- name: "storage"
cidr: "192.168.1.0/24"
vlan_start: 102
use_gateway: false
notation: "cidr"
render_type: "cidr"
render_addr_mask: "storage"
map_priority: 2
configurable: true
- name: "private"
seg_type: "vlan"
vlan_start: null
use_gateway: false
notation: null
render_type: null
render_addr_mask: null
map_priority: 2
neutron_vlan_range: true
configurable: false
- name: "private"
seg_type: "gre"
cidr: "192.168.2.0/24"
vlan_start: 103
use_gateway: false
notation: "cidr"
render_type: "cidr"
render_addr_mask: null
map_priority: 2
configurable: true
- name: "private"
seg_type: "tun"
cidr: "192.168.2.0/24"
vlan_start: 103
use_gateway: false
notation: "cidr"
render_type: "cidr"
render_addr_mask: null
map_priority: 2
configurable: true
- name: "baremetal"
cidr: "192.168.3.0/24"
ip_range: ["192.168.3.2", "192.168.3.50"]
vlan_start: 104
use_gateway: false
notation: "ip_ranges"
render_type: null
map_priority: 2
configurable: true
restrictions:
- condition: "settings:additional_components.ironic.value == false"
config:
vlan_range: [1000, 1030]
gre_id_range: [2, 65535]
base_mac: "fa:16:3e:00:00:00"
internal_name: "admin_internal_net"
internal_cidr: "192.168.111.0/24"
internal_gateway: "192.168.111.1"
floating_name: "admin_floating_net"
floating_ranges: [["172.16.0.130", "172.16.0.254"]]
baremetal_gateway: "192.168.3.51"
baremetal_range: ["192.168.3.52", "192.168.3.254"]
parameters:
amqp:
provider: "rabbitmq"
username: null
passwd: ""
hosts: "hostname1:5672, hostname2:5672"
database:
provider: "mysql"
port: "3306"
database: null
username: null
passwd: ""
keystone:
admin_user: null
admin_password: ""
metadata:
metadata_proxy_shared_secret: ""
volumes_metadata:
volumes_roles_mapping:
controller:
- {allocate_size: "min", id: "os"}
- {allocate_size: "min", id: "logs"}
- {allocate_size: "all", id: "image"}
- {allocate_size: "min", id: "mysql"}
- {allocate_size: "min", id: "horizon"}
compute:
- {allocate_size: "min", id: "os"}
- {allocate_size: "all", id: "vm"}
cinder:
- {allocate_size: "min", id: "os"}
- {allocate_size: "all", id: "cinder"}
cinder-vmware:
- {allocate_size: "min", id: "os"}
ceph-osd:
- {allocate_size: "min", id: "os"}
- {allocate_size: "min", id: "cephjournal"}
- {allocate_size: "full-disk", id: "ceph"}
cinder-block-device:
- {allocate_size: "min", id: "os"}
- {allocate_size: "full-disk", id: "cinder-block-device"}
mongo:
- {allocate_size: "min", id: "os"}
- {allocate_size: "all", id: "mongo"}
other:
- {allocate_size: "all", id: "os"}
# NOTE(eli): it's better to use entire disk
# for OS, but currently we have a bug for
# Ubuntu which doesn't allow to do that:
# https://bugs.launchpad.net/fuel/+bug/1278964
base-os:
- {allocate_size: "min", id: "os"}
virt:
- {allocate_size: "min", id: "os"}
- {allocate_size: "all", id: "vm"}
compute-vmware:
- {allocate_size: "min", id: "os"}
ironic:
- {allocate_size: "min", id: "os"}
- {allocate_size: "min", id: "logs"}
volumes:
- id: "os"
type: "vg"
min_size: {generator: "calc_min_os_size"}
label: "Base System"
volumes:
- mount: "/"
type: "lv"
name: "root"
size: {generator: "calc_total_root_vg"}
file_system: "ext4"
- mount: "swap"
type: "lv"
name: "swap"
size: {generator: "calc_swap_size"}
file_system: "swap"
- id: "logs"
type: "vg"
min_size:
generator: "calc_gb_to_mb"
generator_args: [10]
label: "Logs"
volumes:
- mount: "/var/log"
type: "lv"
name: "log"
size:
generator: "calc_total_vg"
generator_args: ["logs"]
file_system: "ext4"
- id: "mongo"
type: "vg"
label: "MongoDB"
min_size: {generator: "calc_min_mongo_size"}
volumes:
- mount: "/var/lib/mongo"
type: "lv"
name: "mongodb"
size:
generator: "calc_total_vg"
generator_args: ["mongo"]
file_system: "ext4"
- id: "ceph"
type: "partition"
min_size: {generator: "calc_min_ceph_size"}
label: "Ceph"
name: "Ceph"
mount: "none"
partition_guid: "4fbd7e29-9d25-41b8-afd0-062c0ceff05d"
file_system: "none"
- id: "cephjournal"
type: "partition"
min_size: {generator: "calc_min_ceph_journal_size"}
name: "Ceph Journal"
label: "Ceph Journal"
mount: "none"
partition_guid: "45b0969e-9b03-4f30-b4c6-b4b80ceff106"
file_system: "none"
- id: "mysql"
type: "vg"
min_size: {generator: "calc_min_mysql_size"}
label: "Mysql Database"
volumes:
- mount: "/var/lib/mysql"
type: "lv"
name: "root"
size:
generator: "calc_total_vg"
generator_args: ["mysql"]
file_system: "ext4"
- id: "vm"
type: "vg"
min_size: {generator: "calc_min_vm_size"}
label: "Virtual Storage"
volumes:
- mount: "/var/lib/nova"
type: "lv"
name: "nova"
size:
generator: "calc_total_vg"
generator_args: ["vm"]
file_system: "xfs"
- id: "image"
type: "vg"
min_size: {generator: "calc_min_glance_size"}
label: "Image Storage"
volumes:
- mount: "/var/lib/glance"
type: "lv"
name: "glance"
size:
generator: "calc_total_vg"
generator_args: ["image"]
file_system: "xfs"
- id: "horizon"
type: "vg"
min_size:
generator: "calc_gb_to_mb"
generator_args: [11]
label: "Horizon Temp Storage"
volumes:
- mount: "/var/lib/horizon"
type: "lv"
name: "horizontmp"
size:
generator: "calc_total_vg"
generator_args: ["horizon"]
file_system: "xfs"
- id: "cinder"
type: "vg"
label: "Cinder"
min_size: {generator: "calc_min_cinder_size"}
volumes: []
- id: "cinder-block-device"
type: "vg"
label: "Cinder Block Device"
min_size: { generator: "calc_min_cinder_size" }
mount: "none"
volumes: []
attributes_metadata:
editable:
access:
metadata:
label: "OpenStack Access"
weight: 10
group: "general"
user:
value: "admin"
label: "Username"
description: "Username for Administrator"
weight: 10
type: "text"
regex:
source: &user_tenant_blacklist '^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?!ironic$)(?![Gg]uest$)(?!.* +.*$).+'
error: "Invalid username"
email:
value: "admin@localhost"
label: "Email"
description: "Email address for Administrator"
weight: 40
type: "text"
regex:
source: "^\\S+@\\S+$"
error: "Invalid email"
tenant:
value: "admin"
label: "Tenant"
description: "Tenant (project) name for Administrator"
weight: 30
type: "text"
regex:
source: *user_tenant_blacklist
error: "Invalid tenant name"
password:
value: "admin"
label: "Password"
description: "Password for Administrator"
weight: 20
type: "password"
regex:
source: &non_empty_string '\S'
error: "Empty password"
operator_user:
metadata:
label: "Operating System Access"
weight: 15
group: "general"
name:
label: "Username"
description: "Username for operator user"
weight: 50
type: 'text'
value: 'fueladmin'
regex:
source: *non_empty_string
error: "Empty username"
password:
label: "Password"
description: "Password for operator user"
weight: 60
type: 'password'
value:
generator: 'password'
regex:
source: *non_empty_string
error: "Empty password"
homedir:
label: "Home directory"
description: "Home directory for operator user"
weight: 70
type: 'text'
value: '/home/fueladmin'
regex:
source: '^/\S'
error: "Invalid path"
authkeys:
label: "Authorized SSH keys"
description: "Public SSH keys to include to operator user's authorized keys, one per line."
weight: 80
type: 'textarea'
value: ''
sudo:
label: "Sudoers configuration"
description: "Sudoers configuration directives for operator user, one per line."
weight: 90
type: 'textarea'
value: 'ALL=(ALL) NOPASSWD: ALL'
service_user:
metadata:
label: "Service user account"
weight: 10
group: "general"
restrictions:
- condition: "true"
action: "hide"
password:
type: 'hidden'
value:
generator: 'password'
name:
type: 'hidden'
value: 'fuel'
sudo:
type: 'hidden'
value: 'ALL=(ALL) NOPASSWD: ALL'
homedir:
type: 'hidden'
value: '/var/lib/fuel'
root_password:
type: 'hidden'
value: 'r00tme'
workloads_collector:
metadata:
label: "Workloads Collector User"
weight: 10
group: "general"
restrictions:
- condition: "true"
action: "hide"
enabled:
value: true
type: "hidden"
user:
value: "fuel_stats_user"
type: "text"
password:
value:
generator: "password"
type: "password"
tenant:
value: "services"
type: "text"
murano_settings:
metadata:
label: "Murano Settings"
weight: 20
group: "openstack_services"
restrictions:
- condition: "settings:additional_components.murano.value == false"
message: "Murano is not enabled on the Additional Components section"
action: "hide"
murano_repo_url:
value: "http://storage.apps.openstack.org/"
label: "Murano Repository URL"
description: ""
weight: 10
type: "text"
murano_glance_artifacts_plugin:
value: true
label: "Enable glance artifact repository"
description: "If selected glance artifact repository will be enabled"
weight: 40
type: "checkbox"
external_mongo:
metadata:
label: "External MongoDB"
weight: 30
group: "openstack_services"
restrictions:
- condition: "settings:additional_components.mongo.value == false"
message: "Ceilometer and MongoDB are not enabled on the Additional Components section"
action: "hide"
hosts_ip:
value: ""
label: "MongoDB hosts IP"
description: "IP Addresses of MongoDB. Use comma to split IPs"
weight: 30
type: "text"
regex:
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]?)$'
error: "Invalid hosts ip sequence"
mongo_user:
value: "ceilometer"
label: "Username"
description: "Mongo database username"
weight: 30
type: "text"
regex:
source: '^\w+$'
error: "Empty username"
mongo_password:
value: "ceilometer"
label: "Password"
description: "Mongo database password"
weight: 30
type: "password"
regex:
source: '^\S*$'
error: "Password contains spaces"
mongo_db_name:
value: "ceilometer"
label: "Database name"
description: "Mongo database name"
weight: 30
type: "text"
regex:
source: '^\w+$'
error: "Invalid database name"
mongo_replset:
value: ""
label: "Replset"
description: "Name for Mongo replication set"
weight: 30
type: "text"
additional_components:
metadata:
label: "Additional Components"
weight: 10
group: "openstack_services"
sahara:
value: false
label: "Install Sahara"
description: "If selected, Sahara component will be installed"
weight: 10
type: "checkbox"
murano:
value: false
label: "Install Murano"
description: "If selected, Murano component will be installed"
weight: 20
type: "checkbox"
murano-cfapi:
value: false
label: "Install Murano service broker for Cloud Foundry"
description: "If selected, Murano service broker will be installed"
weight: 30
type: "checkbox"
restrictions:
- condition: "settings:additional_components.murano.value == false"
message: "Murano should be enabled"
- condition: "not ('experimental' in version:feature_groups)"
action: "hide"
heat:
value: true
label: ""
description: ""
weight: 50
type: "hidden"
ceilometer:
value: false
label: "Install Ceilometer and Aodh"
description: "If selected, Ceilometer and Aodh components will be installed"
weight: 60
type: "checkbox"
mongo:
value: false
label: "Use external Mongo DB"
description: "If selected, You can use external Mongo DB as ceilometer backend"
weight: 70
type: "checkbox"
restrictions:
- "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."
ironic:
value: false
label: "Install Ironic"
description: "If selected, Ironic component will be installed"
weight: 80
type: "checkbox"
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."
common:
metadata:
label: "Common"
weight: 10
debug:
value: false
label: "OpenStack debug logging"
group: "logging"
description: "Debug logging mode provides more information, but requires more disk space."
weight: 20
type: "checkbox"
puppet_debug:
value: true
label: "Puppet debug logging"
group: "logging"
description: "Debug puppet logging mode provides more information, but requires more disk space."
weight: 20
type: "checkbox"
nova_quota:
value: false
label: "Nova quotas"
group: "compute"
description: "Quotas are used to limit CPU and memory usage for tenants. Enabling quotas will increase load on the Nova database."
weight: 30
type: "checkbox"
auto_assign_floating_ip:
value: false
label: "Auto assign floating IP"
group: "network"
description: "If selected, OpenStack will automatically assign a floating IP to a new instance"
weight: 40
type: "checkbox"
restrictions:
- condition: "cluster:net_provider == 'neutron'"
action: "hide"
use_vcenter:
value: false
weight: 30
type: "hidden"
libvirt_type:
value: "qemu"
values:
- data: "kvm"
label: "KVM"
description: "Choose this type of hypervisor if you run OpenStack on hardware"
- data: "qemu"
label: "QEMU"
description: "Choose this type of hypervisor if you run OpenStack on virtual hosts."
label: "Hypervisor type"
group: "compute"
weight: 30
type: "radio"
resume_guests_state_on_host_boot:
value: true
label: "Resume guests state on host boot"
group: "compute"
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."
weight: 50
type: "checkbox"
use_cow_images:
value: true
label: "Use qcow format for images"
group: "storage"
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."
weight: 60
type: "checkbox"
auth_key:
value: ""
# label: "Public Key"
# description: "Public key(s) to include in authorized_keys on deployed nodes"
group: "security"
weight: 70
type: "hidden"
task_deploy:
value: true
# label: "Enable task based deploy"
# description: "The new deployment engine based on cross-node dependencies for deployment tasks."
weight: 11
type: "hidden"
propagate_task_deploy:
value: false
# label: "Propagate task based deployment."
# description: "Enables adaptation of granular tasks for task deployment."
weight: 12
type: "hidden"
public_network_assignment:
metadata:
weight: 10
label: "Public network assignment"
group: "network"
restrictions:
- condition: "cluster:net_provider != 'neutron'"
action: "hide"
assign_to_all_nodes:
value: false
label: "Assign public network to all nodes"
description: "When disabled, public network will be assigned to controllers only"
weight: 10
type: "checkbox"
neutron_advanced_configuration:
metadata:
weight: 20
label: "Neutron Advanced Configuration"
group: "network"
restrictions:
- condition: "cluster:net_provider != 'neutron'"
action: "hide"
neutron_l2_pop:
value: false
label: "Neutron L2 population"
description: "Enable L2 population mechanism in Neutron"
weight: 10
type: "checkbox"
restrictions:
- condition: "networking_parameters:segmentation_type == 'vlan'"
action: "hide"
neutron_dvr:
value: false
label: "Neutron DVR"
description: "Enable Distributed Virtual Routers in Neutron"
weight: 20
type: "checkbox"
restrictions:
- "networking_parameters:segmentation_type != 'vlan' and settings:neutron_advanced_configuration.neutron_l2_pop.value == false": "DVR requires L2 population to be enabled."
neutron_l3_ha:
value: false
label: "Neutron L3 HA"
description: |
Enable High Availability features for Virtual Routers in Neutron
Requires at least 2 Controller nodes to function properly
weight: 30
type: "checkbox"
restrictions:
- condition: "settings:neutron_advanced_configuration.neutron_dvr.value == true"
message: "Neutron DVR must be disabled in order to use Neutron L3 HA"
neutron_qos:
value: false
label: "Neutron QoS"
description: "Enable Neutron QoS advanced service plug-in"
weight: 40
type: "checkbox"
corosync:
metadata:
label: "Corosync"
weight: 50
group: "general"
restrictions:
- condition: "true"
action: "hide"
group:
value: "226.94.1.1"
label: "Group"
description: ""
weight: 10
type: "text"
port:
value: "12000"
label: "Port"
description: ""
weight: 20
type: "text"
verified:
value: false
label: "Need to pass network verification."
description: "Set True only if multicast is configured correctly on router."
weight: 10
type: "checkbox"
syslog:
metadata:
label: "Syslog"
weight: 50
group: "logging"
toggleable: true
enabled: false
syslog_transport:
value: "tcp"
values:
- data: "udp"
label: "UDP"
description: ""
- data: "tcp"
label: "TCP"
description: ""
label: "Syslog transport protocol"
weight: 30
type: "radio"
syslog_server:
value: ""
label: "Hostname"
description: "Remote syslog hostname"
weight: 10
type: "text"
regex:
source: &ipv4_or_hostname_regex '^[a-zA-Z\d]+[-\.\da-zA-Z]*$'
error: "Invalid hostname"
syslog_port:
value: "514"
label: "Port"
description: "Remote syslog port"
weight: 20
type: "text"
regex:
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])$"
error: "Invalid syslog port"
provision:
metadata:
label: "Provision"
weight: 80
group: "general"
restrictions:
- condition: "true"
action: "hide"
method:
type: "hidden"
value: "image"
cgroups:
metadata:
label: "Cgroups conguration for services"
weight: 90
group: "general"
always_editable: true
restrictions:
- condition: "true"
action: "hide"
external_dns:
metadata:
label: "Host OS DNS Servers"
weight: 30
group: "network"
dns_list:
value:
generator: "from_settings"
generator_arg: "DNS_UPSTREAM"
label: "DNS list"
description: "List of upstream DNS servers"
weight: 10
type: "text_list"
max: 3
regex:
source: &ipv4_regex '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'
error: "Invalid IP address"
external_ntp:
metadata:
label: "Host OS NTP Servers"
weight: 40
group: "network"
ntp_list:
value:
generator: "from_settings"
generator_arg: "NTP_UPSTREAM"
label: "NTP server list"
description: "List of upstream NTP servers"
weight: 10
type: "text_list"
regex:
source: *ipv4_or_hostname_regex
error: "Invalid NTP server"
public_ssl:
metadata:
label: "Public TLS"
weight: 110
group: "security"
services:
value: false
label: "TLS for OpenStack public endpoints"
description: "Enable TLS termination on HAProxy for OpenStack services"
weight: 10
type: "checkbox"
horizon:
value: false
label: "HTTPS for Horizon"
description: "Secure access to Horizon enabling HTTPS instead of HTTP"
weight: 20
type: "checkbox"
restrictions:
- "settings:public_ssl.services.value == false": "TLS for OpenStack public endpoints should be enabled"
cert_source:
type: "radio"
weight: 30
label: "Select source for certificate"
description: "From where we'll get certificate and private key"
value: "self_signed"
values:
- data: "self_signed"
label: "Self-signed"
description: "Generate private key and certificate that will be signed by this key"
- data: "user_uploaded"
label: "I have my own keypair with certificate"
description: "Use pre-generated key and certificate"
restrictions:
- condition: "settings:public_ssl.horizon.value == false and settings:public_ssl.services.value == false"
action: "hide"
cert_data:
value: ""
label: "Certificate"
description: "Certificate and private key data, concatenated into a single file"
weight: 40
type: "file"
restrictions:
- condition: "(settings:public_ssl.cert_source.value != 'user_uploaded') or (settings:public_ssl.horizon.value == false and settings:public_ssl.services.value == false)"
action: "hide"
hostname:
value: "public.fuel.local"
label: "DNS hostname for public TLS endpoints"
description: "Your DNS entries should point to this name. Self-signed certificates also will use this hostname"
weight: 50
type: "text"
restrictions:
- condition: "settings:public_ssl.horizon.value == false and settings:public_ssl.services.value == false"
action: "hide"
kernel_params:
metadata:
label: "Kernel parameters"
weight: 60
group: "general"
kernel:
value: "console=tty0 biosdevname=0 rootdelay=90 nomodeset"
label: "Initial parameters"
description: "Default kernel parameters"
type: "text"
storage:
metadata:
label: "Storage Backends"
weight: 60
group: "storage"
volumes_lvm:
value: true
label: "Cinder LVM over iSCSI for volumes"
description: "It is recommended to have at least one Cinder node."
weight: 10
type: "checkbox"
restrictions:
- "settings:storage.volumes_ceph.value == true"
volumes_block_device:
value: false
label: "Cinder Block device driver"
description: "High performance block device storage. It is recommended to have at least one Cinder Block Device"
weight: 15
type: "checkbox"
restrictions:
- "settings:storage.volumes_ceph.value == true"
volumes_ceph:
value: false
label: "Ceph RBD for volumes (Cinder)"
description: "Configures Cinder to store volumes in Ceph RBD images."
weight: 20
type: "checkbox"
restrictions:
- "settings:storage.volumes_lvm.value == true or settings:storage.volumes_block_device.value == true"
images_ceph:
value: false
label: "Ceph RBD for images (Glance)"
description: "Configures Glance to use the Ceph RBD backend to store images. If enabled, this option will prevent Swift from installing."
weight: 30
type: "checkbox"
restrictions:
- "settings:storage.images_vcenter.value == true": "Only one Glance backend could be selected."
images_vcenter:
value: false
label: "VMware vCenter/ESXi datastore for images (Glance)"
description: "Configures Glance to use the vCenter/ESXi backend to store images. If enabled, this option will prevent Swift from installing."
weight: 35
type: "checkbox"
restrictions:
- condition: "settings:common.use_vcenter.value != true"
action: "hide"
- condition: "settings:storage.images_ceph.value == true"
message: "Only one Glance backend could be selected."
ephemeral_ceph:
value: false
label: "Ceph RBD for ephemeral volumes (Nova)"
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)."
weight: 75
type: "checkbox"
objects_ceph:
value: false
label: "Ceph RadosGW for objects (Swift API)"
description: "Configures RadosGW front end for Ceph RBD. This exposes S3 and Swift API Interfaces. If enabled, this option will prevent Swift from installing."
weight: 80
type: "checkbox"
osd_pool_size:
value: "3"
label: "Ceph object replication factor"
description: "Configures the default number of object replicas in Ceph. This number must be equal to or lower than the number of deployed 'Ceph OSD' nodes."
weight: 85
type: "text"
regex:
source: '^[1-9]\d*$'
error: "Invalid number"
fsid:
type: "hidden"
value:
generator: "uuid4"
mon_key:
type: "hidden"
value:
generator: "cephx_key"
admin_key:
type: "hidden"
value:
generator: "cephx_key"
bootstrap_osd_key:
type: "hidden"
value:
generator: "cephx_key"
radosgw_key:
type: "hidden"
value:
generator: "cephx_key"
generated:
mysql:
root_password:
generator: "password"
wsrep_password:
generator: "password"
keystone:
db_password:
generator: "password"
admin_token:
generator: "password"
glance:
db_password:
generator: "password"
user_password:
generator: "password"
glance_glare:
user_password:
generator: "password"
nova:
db_password:
generator: "password"
user_password:
generator: "password"
state_path: "/var/lib/nova"
rabbit:
password:
generator: "password"
swift:
user_password:
generator: "password"
cinder:
db_password:
generator: "password"
user_password:
generator: "password"
fixed_key:
generator: "hexstring"
generator_arg: "64"
horizon:
secret_key:
generator: "hexstring"
generator_arg: "64"
base_syslog:
syslog_server:
generator: "ip"
generator_arg: "admin"
syslog_port:
generator: "identical"
generator_arg: "514"
cobbler:
profile:
generator: "identical"
sahara:
user_password:
generator: "password"
db_password:
generator: "password"
murano:
user_password:
generator: "password"
rabbit_password:
generator: "password"
db_password:
generator: "password"
murano-cfapi:
user_password:
generator: "password"
rabbit_password:
generator: "password"
db_password:
generator: "password"
aodh:
user_password:
generator: "password"
db_password:
generator: "password"
heat:
user_password:
generator: "password"
rabbit_password:
generator: "password"
db_password:
generator: "password"
auth_encryption_key:
generator: "hexstring"
generator_arg: "32"
ceilometer:
db_password:
generator: "password"
user_password:
generator: "password"
metering_secret:
generator: "password"
quantum_settings:
database:
passwd:
generator: "password"
keystone:
admin_password:
generator: "password"
metadata:
metadata_proxy_shared_secret:
generator: "password"
ironic:
user_password:
generator: "password"
db_password:
generator: "password"
swift_tempurl_key:
generator: "password"
puppet:
manifests: "rsync://{settings.MASTER_IP}:/puppet/{cluster.release.version}/manifests/"
modules: "rsync://{settings.MASTER_IP}:/puppet/{cluster.release.version}/modules/"
deployed_before:
value: false
vmware_attributes_metadata:
editable:
metadata:
-
name: "availability_zones"
type: "array"
restrictions:
- condition: "settings:common.use_vcenter.value == false"
message: "VMware vCenter not enabled for cluster"
fields:
-
name: "az_name"
type: "text"
label: "Availability zone"
description: "Availability zone name"
regex:
source: &availability_zone_blacklist '^(?!nova$)\w+$'
error: "Invalid availability zone name"
-
name: "vcenter_host"
type: "text"
label: "vCenter host"
description: "vCenter host or IP"
regex:
source: *ipv4_or_hostname_regex
error: "Invalid vCenter host"
-
name: "vcenter_username"
type: "text"
label: "vCenter username"
description: "vCenter username"
regex:
source: *non_empty_string
error: "Empty vCenter username"
-
name: "vcenter_password"
type: "password"
label: "vCenter password"
description: "vCenter password"
regex:
source: *non_empty_string
error: "Empty vCenter password"
-
name: "nova_computes"
type: "array"
editable_for_deployed: true
fields:
-
name: "vsphere_cluster"
type: "text"
label: "vSphere cluster"
description: "vSphere cluster"
regex:
source: *non_empty_string
error: "Invalid vSphere cluster"
-
name: "service_name"
type: "text"
label: "Service name"
description: "Service name"
regex:
source: '^\w[\w\-]+$'
error: "Invalid service name"
-
name: "datastore_regex"
type: "text"
label: "Datastore regex"
description: "Datastore regex"
regex:
source: *non_empty_string
error: "Invalid datastore regex"
-
name: "target_node"
type: "select"
label: "Target node"
description: "Target node for nova-compute service"
-
name: "glance"
type: "object"
restrictions:
- condition: "settings:storage.images_vcenter.value == false or settings:common.use_vcenter.value == false"
message: "VMware vCenter datastore for images is not enabled in Settings tab"
fields:
-
name: "vcenter_host"
type: "text"
label: "vCenter host"
description: "vCenter host or IP"
regex:
source: *ipv4_or_hostname_regex
error: "Invalid vCenter host"
-
name: "vcenter_username"
type: "text"
label: "vCenter username"
description: "vCenter username"
regex:
source: *non_empty_string
error: "Empty vCenter username"
-
name: "vcenter_password"
type: "password"
label: "vCenter password"
description: "vCenter password"
regex:
source: *non_empty_string
error: "Empty vCenter password"
-
name: "datacenter"
type: "text"
label: "Datacenter"
description: "Datacenter"
regex:
source: *non_empty_string
error: "Invalid datacenter"
-
name: "datastore"
type: "text"
label: "Datastore"
description: "Datastore"
regex:
source: *non_empty_string
error: "Invalid datastore"
-
name: "ca_file"
type: "file"
label: "CA file"
description: "File containing the trusted CA bundle that emitted vCenter server certificate. If empty vCenters certificate is not verified."
value:
availability_zones:
-
az_name: "vcenter"
vcenter_host: ""
vcenter_username: ""
vcenter_password: ""
nova_computes:
-
vsphere_cluster: ""
service_name: ""
datastore_regex: ""
target_node:
options:
- id: "controllers"
label: "controllers"
current:
id: "controllers"
label: "controllers"
glance:
vcenter_host: ""
vcenter_username: ""
vcenter_password: ""
datacenter: ""
datastore: ""
ca_file: ""
components_metadata:
- name: hypervisor:qemu
default: true
bind: !!pairs
- "settings:common.libvirt_type.value": "qemu"
weight: 5
label: "dialog.create_cluster_wizard.compute.qemu"
description: "dialog.create_cluster_wizard.compute.qemu_description"
compatible:
- name: hypervisor:vmware
- name: hypervisor:vmware
weight: 15
bind:
- "settings:common.use_vcenter.value"
label: "dialog.create_cluster_wizard.compute.vcenter"
description: "dialog.create_cluster_wizard.compute.vcenter_description"
compatible:
- name: hypervisor:qemu
requires:
- name: hypervisor:qemu
message: "dialog.create_cluster_wizard.compute.vcenter_warning"
- name: network:neutron:core:ml2
default: true
weight: 1000
label: "dialog.create_cluster_wizard.network.neutron_ml2"
description: "dialog.create_cluster_wizard.network.neutron_ml2_description"
compatible:
- name: hypervisor:*
- name: network:neutron:ml2:*
- name: network:neutron:ml2:vlan
default: true
bind: !!pairs
- "cluster:net_provider": "neutron"
- "cluster:net_segment_type": "vlan"
weight: 5
label: "common.network.neutron_vlan"
description: "dialog.create_cluster_wizard.network.neutron_vlan_description"
incompatible:
- name: network:neutron:ml2:tun
message: "dialog.create_cluster_wizard.network.vlan_tun_alert"
compatible:
- name: network:neutron:core:ml2
- name: hypervisor:qemu
- name: hypervisor:vmware
requires:
- name: network:neutron:core:ml2
- name: network:neutron:ml2:tun
bind: !!pairs
- "cluster:net_provider": "neutron"
- "cluster:net_segment_type": "tun"
weight: 10
label: "common.network.neutron_tun"
description: "dialog.create_cluster_wizard.network.neutron_tun_description"
compatible:
- name: network:neutron:core:ml2
- name: hypervisor:qemu
incompatible:
- name: network:neutron:ml2:vlan
message: "dialog.create_cluster_wizard.network.vlan_tun_alert"
- name: hypervisor:vmware
message: "dialog.create_cluster_wizard.network.hypervisor_alert"
- name: additional_service:ironic
message: "dialog.create_cluster_wizard.additional.ironic_network_mode_alert"
requires:
- name: network:neutron:core:ml2
- name: storage:block:lvm
label: "dialog.create_cluster_wizard.storage.lvm"
description: "dialog.create_cluster_wizard.storage.default_provider"
default: true
weight: 5
bind:
- "settings:storage.volumes_lvm.value"
compatible:
- name: hypervisor:qemu
- name: hypervisor:vmware
- name: network:neutron:core:ml2
- name: network:neutron:ml2:vlan
- name: network:neutron:ml2:tun
incompatible:
- name: storage:block:ceph
message: "LVM not compatible with Ceph"
- name: storage:block:ceph
label: "dialog.create_cluster_wizard.storage.ceph"
description: "dialog.create_cluster_wizard.storage.ceph_block"
weight: 10
bind: !!pairs
- "settings:storage.volumes_ceph.value": true
- "settings:storage.volumes_lvm.value": false
compatible:
- name: hypervisor:qemu
- name: hypervisor:vmware
- name: network:neutron:core:ml2
- name: network:neutron:ml2:vlan
- name: network:neutron:ml2:tun
- name: storage:object:ceph
- name: storage:ephemeral:ceph
- name: storage:image:ceph
incompatible:
- name: storage:block:lvm
message: "Ceph not compatible with LVM"
- name: storage:object:ceph
label: "dialog.create_cluster_wizard.storage.ceph"
description: "dialog.create_cluster_wizard.storage.ceph_object"
weight: 10
bind:
- "settings:storage.objects_ceph.value"
compatible:
- name: hypervisor:qemu
- name: hypervisor:vmware
- name: network:neutron:core:ml2
- name: network:neutron:ml2:vlan
- name: network:neutron:ml2:tun
- name: storage:block:lvm
- name: storage:block:ceph
- name: storage:ephemeral:ceph
- name: storage:image:ceph
- name: storage:ephemeral:ceph
label: "dialog.create_cluster_wizard.storage.ceph"
description: "dialog.create_cluster_wizard.storage.ceph_ephemeral"
weight: 10
bind:
- "settings:storage.ephemeral_ceph.value"
compatible:
- name: hypervisor:qemu
- name: hypervisor:vmware
- name: network:neutron:core:ml2
- name: network:neutron:ml2:vlan
- name: network:neutron:ml2:tun
- name: storage:block:lvm
- name: storage:block:ceph
- name: storage:object:ceph
- name: storage:image:ceph
- name: storage:image:ceph
label: "dialog.create_cluster_wizard.storage.ceph"
description: "dialog.create_cluster_wizard.storage.ceph_image"
weight: 10
bind:
- "settings:storage.images_ceph.value"
compatible:
- name: hypervisor:qemu
- name: hypervisor:vmware
- name: network:neutron:core:ml2
- name: network:neutron:ml2:vlan
- name: network:neutron:ml2:tun
- name: storage:block:lvm
- name: storage:block:ceph
- name: storage:object:ceph
- name: storage:ephemeral:ceph
- name: additional_service:sahara
bind:
- "settings:additional_components.sahara.value"
weight: 10
label: "dialog.create_cluster_wizard.additional.install_sahara"
description: "dialog.create_cluster_wizard.additional.install_sahara_description"
compatible:
- name: hypervisor:qemu
- name: hypervisor:vmware
- name: network:neutron:core:ml2
- name: network:neutron:ml2:vlan
- name: network:neutron:ml2:tun
- name: storage:block:lvm
- name: storage:block:ceph
- name: storage:object:ceph
- name: storage:ephemeral:ceph
- name: storage:image:ceph
- name: additional_service:sahara
- name: additional_service:murano
- name: additional_service:ceilometer
- name: additional_service:ironic
- name: additional_service:murano
bind:
- "settings:additional_components.murano.value"
weight: 20
label: "dialog.create_cluster_wizard.additional.install_murano"
description: "dialog.create_cluster_wizard.additional.install_murano_description"
compatible:
- name: hypervisor:qemu
- name: hypervisor:vmware
- name: network:neutron:core:ml2
- name: network:neutron:ml2:vlan
- name: network:neutron:ml2:tun
- name: storage:block:lvm
- name: storage:block:ceph
- name: storage:object:ceph
- name: storage:ephemeral:ceph
- name: storage:image:ceph
- name: additional_service:sahara
- name: additional_service:ceilometer
- name: additional_service:ironic
- name: additional_service:ceilometer
bind:
- "settings:additional_components.ceilometer.value"
weight: 30
label: "dialog.create_cluster_wizard.additional.install_ceilometer"
description: "dialog.create_cluster_wizard.additional.install_ceilometer_description"
compatible:
- name: hypervisor:qemu
- name: hypervisor:vmware
- name: network:neutron:core:ml2
- name: network:neutron:ml2:vlan
- name: network:neutron:ml2:tun
- name: storage:block:lvm
- name: storage:block:ceph
- name: storage:object:ceph
- name: storage:ephemeral:ceph
- name: storage:image:ceph
- name: additional_service:sahara
- name: additional_service:murano
- name: additional_service:ironic
- name: additional_service:ironic
bind:
- "settings:additional_components.ironic.value"
weight: 40
label: "dialog.create_cluster_wizard.additional.install_ironic"
description: "dialog.create_cluster_wizard.additional.install_ironic_description"
compatible:
- name: hypervisor:qemu
- name: network:neutron:core:ml2
- name: network:neutron:ml2:vlan
- name: storage:block:lvm
- name: storage:block:ceph
- name: storage:object:ceph
- name: storage:ephemeral:ceph
- name: storage:image:ceph
- name: additional_service:sahara
- name: additional_service:murano
- name: additional_service:ceilometer
incompatible:
- name: network:neutron:ml2:tun
message: "dialog.create_cluster_wizard.additional.ironic_network_mode_alert"
modes: ['ha_compact']
extensions: ['volume_manager']
- pk: 1
extend: *base_release
fields:
name: "Mitaka on CentOS 6.5"
state: "unavailable"
version: "mitaka-9.0"
operating_system: "CentOS"
description: "This option will install the OpenStack Mitaka packages using a CentOS based operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment."
attributes_metadata:
editable:
kernel_params:
kernel:
value: "console=tty0 biosdevname=0 crashkernel=none rootdelay=90 nomodeset"
use_fedora_lt:
metadata:
label: "Use Fedora longterm kernel"
weight: 50
kernel:
label: "Select kernel"
weight: 55
type: "radio"
value: "default_kernel"
values:
- data: "default_kernel"
label: "CentOS default kernel"
description: "Install default 2.6.32 kernel."
- data: "fedora_lt_kernel"
label: "Fedora LT kernel"
description: "EXPERIMENTAL: Install the Fedora 3.10 longterm kernel instead of the default 2.6.32 kernel. This kernel may not work with all hardware platforms, use with caution."
repo_setup:
metadata:
label: "Repositories"
weight: 50
group: "general"
always_editable: true
repos:
type: "custom_repo_configuration"
extra_priority: null
description: |
To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-package-updates --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-9.0/reference-architecture.html#fuel-rep-mirror).
value:
- type: "rpm"
name: "mos"
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/centos/x86_64"
priority: null
- type: "rpm"
name: "mos-updates"
uri: "http://mirror.fuel-infra.org/mos-repos/centos/mos{cluster.release.environment_version}-centos7/updates/x86_64"
priority: null
- type: "rpm"
name: "mos-security"
uri: "http://mirror.fuel-infra.org/mos-repos/centos/mos{cluster.release.environment_version}-centos7/security/x86_64"
priority: null
- type: "rpm"
name: "Auxiliary"
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/centos/auxiliary"
priority: 15
generated:
cobbler:
profile:
generator_arg: "centos-x86_64"
provision:
image_data:
/:
uri: "http://{settings.MASTER_IP}:8080/targetimages/centos_65_x86_64.img.gz"
format: "ext4"
container: "gzip"
/boot:
uri: "http://{settings.MASTER_IP}:8080/targetimages/centos_65_x86_64-boot.img.gz"
format: "ext2"
container: "gzip"
node_attributes: {}
- &ubuntu_release
pk: 2
extend: *base_release
fields:
name: "Mitaka on Ubuntu 14.04"
version: "mitaka-9.0"
operating_system: "Ubuntu"
description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment."
attributes_metadata:
editable:
kernel_params:
kernel:
value: "console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset"
repo_setup:
metadata:
label: "Repositories"
weight: 50
group: "general"
always_editable: true
repos:
type: "custom_repo_configuration"
extra_priority: null
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-9.0/operations.html#external-ubuntu-ops).
value:
- type: "deb"
name: "ubuntu"
uri: "http://archive.ubuntu.com/ubuntu/"
suite: "trusty"
section: "main universe multiverse"
priority: null
- type: "deb"
name: "ubuntu-updates"
uri: "http://archive.ubuntu.com/ubuntu/"
suite: "trusty-updates"
section: "main universe multiverse"
priority: null
- type: "deb"
name: "ubuntu-security"
uri: "http://archive.ubuntu.com/ubuntu/"
suite: "trusty-security"
section: "main universe multiverse"
priority: null
- type: "deb"
name: "mos"
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64"
suite: "mos9.0"
section: "main restricted"
priority: 1050
- type: "deb"
name: "mos-updates"
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
suite: "mos9.0-updates"
section: "main restricted"
priority: 1050
- type: "deb"
name: "mos-security"
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
suite: "mos9.0-security"
section: "main restricted"
priority: 1050
- type: "deb"
name: "mos-holdback"
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
suite: "mos9.0-holdback"
section: "main restricted"
priority: 1100
- type: "deb"
name: "Auxiliary"
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary"
suite: "auxiliary"
section: "main restricted"
priority: 1150
provision:
metadata:
label: "Provision"
weight: 80
group: "general"
restrictions:
- condition: "false"
action: "hide"
packages:
label: "Initial packages"
weight: 10
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
generated:
repo_setup:
installer_kernel:
remote_relative: "dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux"
local: "/var/www/nailgun/ubuntu/x86_64/images/linux"
installer_initrd:
remote_relative: "dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz"
local: "/var/www/nailgun/ubuntu/x86_64/images/initrd.gz"
cobbler:
profile:
generator_arg: "ubuntu_1404_x86_64"
provision:
codename: "trusty"
image_data:
/:
uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_amd64.img.gz"
format: "ext4"
container: "gzip"
/boot:
uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_amd64-boot.img.gz"
format: "ext2"
container: "gzip"
node_attributes:
cpu_pinning:
metadata:
group: "nfv"
label: "CPU pinning"
weight: 10
restrictions:
- condition: "settings:common.libvirt_type.value != 'kvm'"
action: "hide"
nova:
weight: 10
description: "Number of CPUs for Nova usage"
label: "Nova CPU pinning"
type: "number"
value: 0
min: 0
dpdk:
weight: 20
description: "Number of CPUs for DPDK usage"
label: "DPDK CPU pinning"
type: "number"
value: 0
min: 0
restrictions:
- condition: "not ('experimental' in version:feature_groups)"
action: "hide"
hugepages:
metadata:
group: "nfv"
label: "Huge Pages"
weight: 20
restrictions:
- condition: "settings:common.libvirt_type.value != 'kvm'"
action: "hide"
nova:
weight: 10
description: "Nova Huge Pages configuration"
label: "Nova Huge Pages"
type: "custom_hugepages"
value: {}
dpdk:
weight: 20
description: "DPDK Huge Pages per NUMA node in MB"
label: "DPDK Huge Pages"
type: "number"
value: 0
min: 0
restrictions:
- condition: "not ('experimental' in version:feature_groups)"
action: "hide"
networks_metadata:
dpdk_drivers:
# Sources:
# http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/known_issues.rst?h=releases&id=7173acefc7cfdfbbb9b91fcba1c9a67adb4c07c9#n168
# http://dpdk.org/browse/dpdk/tree/lib/librte_eal/common/include/rte_pci_dev_ids.h?h=releases&id=7173acefc7cfdfbbb9b91fcba1c9a67adb4c07c9
igb_uio: [
"8086:100e", "8086:100f", "8086:1011", "8086:1010", "8086:1012",
"8086:101d", "8086:105e", "8086:105f", "8086:1060", "8086:10d9",
"8086:10da", "8086:10a4", "8086:10d5", "8086:10a5", "8086:10bc",
"8086:107d", "8086:107e", "8086:107f", "8086:10b9", "8086:109a",
"8086:10d3", "8086:10f6", "8086:150c", "8086:10c9", "8086:10e6",
"8086:10e7", "8086:10e8", "8086:1526", "8086:150a", "8086:1518",
"8086:150d", "8086:10a7", "8086:10a9", "8086:10d6", "8086:150e",
"8086:150f", "8086:1510", "8086:1511", "8086:1516", "8086:1527",
"8086:1521", "8086:1522", "8086:1523", "8086:1524", "8086:1546",
"8086:1533", "8086:1534", "8086:1535", "8086:1536", "8086:1537",
"8086:1538", "8086:1539", "8086:1f40", "8086:1f41", "8086:1f45",
"8086:0438", "8086:043a", "8086:043c", "8086:0440", "8086:10b6",
"8086:1508", "8086:10c6", "8086:10c8", "8086:150b", "8086:10db",
"8086:10dd", "8086:10ec", "8086:10f1", "8086:10f4", "8086:10f7",
"8086:1514", "8086:1517", "8086:10f9", "8086:10fb", "8086:11a9",
"8086:1f72", "8086:17d0", "8086:0470", "8086:152a", "8086:1529",
"8086:1507", "8086:154d", "8086:154a", "8086:1558", "8086:1557",
"8086:10fc", "8086:151c", "8086:154f", "8086:1528", "8086:1560",
"8086:15ae", "8086:1563", "8086:15aa", "8086:15ab", "8086:155d",
"8086:1572", "8086:1574", "8086:157f", "8086:1580", "8086:1581",
"8086:1583", "8086:1584", "8086:1585", "8086:1586", "8086:15a4",
"8086:10ca", "8086:152d", "8086:1520", "8086:152f", "8086:10ed",
"8086:152e", "8086:1515", "8086:1530", "8086:1564", "8086:1565",
"8086:15a8", "8086:15a9", "8086:154c", "8086:1571", "1af4:1000",
"15ad:07b0", "8086:15a5", "1137:0043", "1137:0071", "14e4:168a",
"14e4:16a9", "14e4:164f", "14e4:168e", "14e4:16af", "14e4:163d",
"14e4:163f", "14e4:168d", "14e4:16a1", "14e4:16a2", "14e4:16ad",
"14e4:16ae", "14e4:163e", "14e4:16a4"
]
- pk: 3
extend: *ubuntu_release
fields:
name: "Mitaka on Ubuntu+UCA 14.04"
version: "mitaka-9.0"
description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment."
attributes_metadata:
editable:
repo_setup:
repos:
type: "custom_repo_configuration"
extra_priority: null
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-9.0/operations.html#external-ubuntu-ops).
value:
- type: "deb"
name: "ubuntu"
uri: "http://archive.ubuntu.com/ubuntu/"
suite: "trusty"
section: "main universe multiverse"
priority: null
- type: "deb"
name: "ubuntu-updates"
uri: "http://archive.ubuntu.com/ubuntu/"
suite: "trusty-updates"
section: "main universe multiverse"
priority: null
- type: "deb"
name: "ubuntu-security"
uri: "http://archive.ubuntu.com/ubuntu/"
suite: "trusty-security"
section: "main universe multiverse"
priority: null
- type: "deb"
name: "uca"
uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
suite: "trusty-updates/mitaka"
section: "main"
priority: 1080
- type: "deb"
name: "uca-proposed"
uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
suite: "trusty-proposed/mitaka"
section: "main"
priority: 1080
- type: "deb"
name: "mos"
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64"
suite: "mos9.0"
section: "main restricted"
priority: 1050
- type: "deb"
name: "mos-updates"
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
suite: "mos9.0-updates"
section: "main restricted"
priority: 1050
- type: "deb"
name: "mos-security"
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
suite: "mos9.0-security"
section: "main restricted"
priority: 1050
- type: "deb"
name: "mos-holdback"
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
suite: "mos9.0-holdback"
section: "main restricted"
priority: 1100
- type: "deb"
name: "Auxiliary"
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary"
suite: "auxiliary"
section: "main restricted"
priority: 1150
repo_type:
type: "hidden"
weight: 58
value: "uca"
pin_haproxy:
label: "HAProxy APT Pinning"
description: "Use Fuel HAProxy packages instead of upstream"
weight: 59
type: "checkbox"
value: true
pin_rabbitmq:
label: "RabbitMQ APT Pinning"
description: "Use Fuel RabbitMQ packages instead of upstream"
weight: 60
type: "checkbox"
value: true
pin_ceph:
label: "Ceph APT Pinning"
description: "Use Fuel Ceph packages instead of upstream"
weight: 61
type: "checkbox"
value: true