--- - &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" message: "VMware vCenter not enabled for cluster" 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" message: "Advanced feature should be enabled in feature groups" 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" message: "VMware vCenter not enabled for cluster" 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: [] 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" 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" 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" 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" 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: "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_release pk: 2 extend: *base_release fields: name: "Newton on Ubuntu 14.04" version: "newton-10.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. 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: "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 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: cobbler: profile: generator_arg: "ubuntu_bootstrap" 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: "Newton on Ubuntu+UCA 14.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: "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: "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