--- - &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 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." tags: - controller - rabbitmq - database - keystone - neutron 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%" tags: - compute 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" tags: - cinder cinder-block-device: name: 'Cinder Block Device' description: 'Host node for Cinder Block Devices.' public_ip_required: false weight: 35 group: "storage" conflicts: - controller - cinder - 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" tags: - cinder-block-device 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 tags: - ceph-osd 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 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." tags: - mongo base-os: name: "Operating System" description: "Install base Operating System without additional packages and configuration." weight: 70 group: "other" tags: - base-os 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" message: "Advanced feature should be enabled in feature groups" tags: - virt 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." tags: - ironic tags_metadata: controller: has_primary: true rabbitmq: has_primary: true database: has_primary: true keystone: has_primary: true neutron: has_primary: true compute: has_primary: false cinder: has_primary: false cinder-block-device: has_primary: false ceph-osd: has_primary: false mongo: has_primary: true base-os: has_primary: false virt: has_primary: false ironic: has_primary: false 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 nic_attributes:dpdk.enabled.value and not nic_attributes:sriov.enabled.value" - linux: "not nic_attributes:sriov.enabled.value" 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"} 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"} 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: [] rule_to_pick_boot_disk: - type: "exclude_disks_by_name" regex: "^nvme" description: "NVMe drives should be skipped as accessing such drives during the boot typically requires using UEFI which is still not supported by fuel-agent (it always installs BIOS variant of grub). grub bug (http://savannah.gnu.org/bugs/?41883)" - type: "pick_root_disk_if_disk_name_match" regex: "^md" root_mount: "/" description: "If we have /root on fake raid, then /boot partition should land on to it too. We can't proceed with grub-install otherwise." 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" run_ping_checker: value: true label: "Public Gateway is Available" group: "network" description: "Uncheck this box if the public gateway will not be available or will not respond to ICMP requests to the deployed cluster. If unchecked, the controllers will not take public gateway availability into account as part of the cluster health. If the cluster will not have internet access, you will need to make sure to provide proper offline mirrors for the deployment to succeed." weight: 50 type: "checkbox" 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: "checkbox" security_groups: value: "iptables_hybrid" values: - data: "openvswitch" label: "Open vSwitch Firewall Driver" description: "Choose this driver for OVS based security groups implementation. NOTE: Open vSwitch Firewall Driver requires kernel version >= 4.3 for non-dpdk case." - data: "iptables_hybrid" label: "Iptables-based Firewall Driver (No firewall for DPDK case)" description: "Choose this driver for iptables/linux bridge based security groups implementation." label: "Security Groups" group: "security" weight: 20 type: "radio" 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" atop: metadata: label: "Advanced System & Process Monitor (atop)" weight: 60 group: "logging" toggleable: false enabled: true service_enabled: value: true label: "Enable atop service" description: | NOTE: When enabled, the service may generate logs up to a gigabyte in size per day. This should be taken into consideration when determining the correct size for the log partition. weight: 10 type: "checkbox" interval: description: "Interval between the snapshots in seconds" value: "20" label: "Interval between the snapshots" weight: 20 type: "text" regex: source: '^[1-9]\d*$' error: "Should be a number of seconds" restrictions: - condition: "settings:atop.service_enabled.value == false" action: "hide" rotate: description: "Number of days to keep log files" value: "7" label: "Rotate days" weight: 30 type: "text" regex: source: '^[1-9]\d*$' error: "Should be a number of days" restrictions: - condition: "settings:atop.service_enabled.value == false" action: "hide" 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" min: 1 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" regex: source: *ipv4_or_hostname_regex error: "Invalid DNS hostname" restrictions: - condition: "settings:public_ssl.horizon.value == false and settings:public_ssl.services.value == false" action: "hide" ssh: metadata: label: "SSH security" weight: 120 group: "security" toggleable: false enabled: true security_enabled: value: false label: "Restrict SSH service on network" description: | NOTE: When enabled, provide at least one working IP address (the Fuel Master node IP is already added). We recommend adding new addresses instead of replacing the provided Fuel Master node IP. When disabled (by default), the admin, management, and storage networks are only allowed to connect to the SSH service. weight: 10 type: "checkbox" security_networks: value: - "{settings.MASTER_IP}" label: "Restrict access to" description: "IPv4/CIDR address" weight: 20 type: "text_list" regex: source: &ipv4_cidr_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])(\/([0-9]|[1-2][0-9]|3[0-2]))*$' error: "Invalid IPv4/CIDR address" restrictions: - condition: "settings:ssh.security_enabled.value == false" action: "hide" brute_force_protection: value: false label: "Brute force protection" description: "When enabled, the access from all networks (except the provided ones) will be granted, but the networks will be checked against the brute force attack." weight: 30 type: "checkbox" restrictions: - condition: "settings:ssh.security_enabled.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" 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" auth_s3_keystone_ceph: value: false label: "Enable S3 API Authentication via Keystone in Ceph RadosGW" description: "This allows to authenticate S3 requests basing on EC2/S3 credentials managed by Keystone. Please note that enabling the integration will increase the latency of S3 requests as well as load on Keystone service. Please consult with Mirantis Technical Bulletin 27 and Mirantis Support on mitigating the risks related with load." weight: 82 type: "checkbox" restrictions: - condition: "settings:storage.objects_ceph.value == false" action: "hide" 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 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:* - 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 requires: - one_of: items: - 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: additional_service:ironic message: "dialog.create_cluster_wizard.additional.ironic_network_mode_alert" requires: - one_of: items: - 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: 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: 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: 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: 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: 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: 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: 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: 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" required_component_types: - hypervisor - network - storage nic_attributes: offloading: metadata: label: "Offloading" weight: 10 disable: label: "Disable Offloading" weight: 10 type: "checkbox" value: False modes: label: "Offloading Modes" weight: 20 type: "offloading_modes" value: {} mtu: metadata: label: "MTU" weight: 20 value: label: "Use Custom MTU" weight: 10 type: "number" nullable: True value: null min: 42 max: 65536 sriov: metadata: label: "SR-IOV" weight: 30 enabled: label: "Enable SR-IOV" description: 'Single-root I/O Virtualization (SR-IOV) is a specification that, when implemented by a physical PCIe device, enables it to appear as multiple separate PCIe devices. This enables multiple virtualized guests to share direct access to the physical device, offering improved performance over an equivalent virtual device.' weight: 10 type: "checkbox" value: False restrictions: - "settings:common.libvirt_type.value != 'kvm'": "Only KVM hypervisor works with SR-IOV" numvfs: label: "Custom Number of Virtual Functions" weight: 20 type: "number" nullable: True min: 1 value: null restrictions: - "nic_attributes:sriov.enabled.value == false" physnet: label: "Physical Network Name" weight: 30 type: "text" value: "" regex: source: "^[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*$" error: "Invalid physical network name" restrictions: - "nic_attributes:sriov.enabled.value == false" - condition: "nic_attributes:sriov.physnet.value != 'physnet2'" message: "Only \"physnet2\" will be configured by Fuel in Neutron. Configuration of other physical networks is up to Operator or plugin. Fuel will just configure appropriate pci_passthrough_whitelist option in nova.conf for such interface and physical networks." action: "none" dpdk: metadata: restrictions: - condition: "not ('experimental' in version:feature_groups)" action: "hide" label: "DPDK" weight: 40 enabled: label: "Enable DPDK" description: 'The Data Plane Development Kit (DPDK) provides high-performance packet processing libraries and user space drivers.' weight: 10 type: "checkbox" value: False restrictions: - "settings:common.libvirt_type.value != 'kvm'": "Only KVM hypervisor works with DPDK" bond_attributes: type__: type: 'hidden' value: null mode: metadata: label: "Mode" weight: 10 value: label: "Mode" weight: 10 type: "select" value: '' offloading: metadata: label: "Offloading" weight: 20 disable: label: "Disable Offloading" weight: 10 type: "checkbox" value: False modes: label: "Offloading Modes" weight: 20 type: "offloading_modes" value: {} mtu: metadata: label: "MTU" weight: 30 value: label: "Use Custom MTU" weight: 10 type: "number" nullable: True value: null min: 42 max: 65536 dpdk: metadata: restrictions: - condition: "not ('experimental' in version:feature_groups)" action: "hide" label: "DPDK" weight: 40 enabled: label: "Enable DPDK" description: 'The Data Plane Development Kit (DPDK) provides high-performance packet processing libraries and user space drivers.' weight: 10 type: "checkbox" value: False restrictions: - "settings:common.libvirt_type.value != 'kvm'": "Only KVM hypervisor works with DPDK" lacp: metadata: label: "Lacp" weight: 50 value: label: "Lacp" weight: 10 type: "select" value: '' lacp_rate: metadata: label: "Lacp rate" weight: 60 value: label: "Lacp rate" weight: 10 type: "select" value: '' xmit_hash_policy: metadata: label: "Xmit hash policy" weight: 70 value: label: "Xmit hash policy" weight: 10 type: "select" value: '' modes: ['ha_compact'] extensions: ['volume_manager', 'network_manager'] - pk: 1 extend: *base_release fields: name: "Newton on CentOS 6.5" state: "unavailable" version: "newton-10.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. 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_xenial pk: 2 extend: *base_release fields: name: "Newton on Ubuntu 16.04" version: "newton-10.0" operating_system: "Ubuntu" description: "This option will install the OpenStack Newton 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=1 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. value: - type: "deb" name: "ubuntu" uri: "http://archive.ubuntu.com/ubuntu/" suite: "xenial" section: "main universe multiverse" priority: null - type: "deb" name: "ubuntu-updates" uri: "http://archive.ubuntu.com/ubuntu/" suite: "xenial-updates" section: "main universe multiverse" priority: null - type: "deb" name: "ubuntu-security" uri: "http://archive.ubuntu.com/ubuntu/" suite: "xenial-security" section: "main universe multiverse" priority: null - type: "deb" name: "mos" uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" suite: "mos10.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: "mos10.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: "mos10.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: "mos10.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 hwloc linux-firmware linux-headers-generic-lts-xenial linux-image-generic-lts-xenial lvm2 mcollective mdadm multipath-tools multipath-tools-boot nailgun-agent nailgun-mcagents network-checker ntp ntpdate 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: cobbler: profile: generator_arg: "ubuntu_bootstrap" provision: codename: "xenial" image_data: /: uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1604_amd64.img.gz" format: "ext4" container: "gzip" /boot: uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1604_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", "8086:10f8" ] - pk: 3 extend: *ubuntu_xenial fields: name: "Newton on Ubuntu+UCA 16.04" version: "newton-10.0" description: "This option will install the OpenStack Newton 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. value: - type: "deb" name: "ubuntu" uri: "http://archive.ubuntu.com/ubuntu/" suite: "xenial" section: "main universe multiverse" priority: null - type: "deb" name: "ubuntu-updates" uri: "http://archive.ubuntu.com/ubuntu/" suite: "xenial-updates" section: "main universe multiverse" priority: null - type: "deb" name: "ubuntu-security" uri: "http://archive.ubuntu.com/ubuntu/" suite: "xenial-security" section: "main universe multiverse" priority: null - type: "deb" name: "uca" uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" suite: "xenial-updates/newton" section: "main" priority: 1080 - type: "deb" name: "uca-proposed" uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" suite: "xenial-proposed/newton" section: "main" priority: 1080 - type: "deb" name: "mos" uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" suite: "mos10.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: "mos10.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: "mos10.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: "mos10.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