--- - &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." multinode: description: "In this configuration the OpenStack controller is deployed separately from the compute and cinder nodes. This mode assumes the presence of 1 controller node and 1 or more compute/cinder nodes. You can add more nodes to scale your cloud later." roles: - controller - compute - cinder - cinder-vmware - ceph-osd - mongo - base-os 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." conflicts: - compute update_required: - compute - cinder has_primary: true limits: min: 1 overrides: - condition: "cluster:mode == 'multinode'" max: 1 message: "Multi-node environment can not have more than one Controller node." - condition: "cluster:mode == 'ha_compact'" recommended: 3 message: "At least 3 Controller nodes are recommended for HA deployment." compute: name: "Compute" description: "A Compute node creates, manages and terminates virtual machine instances." limits: recommended: 1 fault_tolerance: "2%" cinder: # NOTE: naming, see https://bugs.launchpad.net/fuel/+bug/1383224 name: "Storage - 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 providing a server with access to raw block level devices." limits: recommended: 1 restrictions: - condition: "settings:storage.volumes_lvm.value == false" message: "Cinder LVM should be enabled in 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-vmware: name: "Storage - 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." limits: recommended: 1 restrictions: - condition: "settings:common.use_vcenter.value == false" action: "hide" ceph-osd: name: "Storage - 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)." 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" message: "Ceph must be enabled in settings" update_once: - controller mongo: name: "Telemetry - MongoDB" description: "A feature-complete and recommended database for storage of metering data from OpenStack Telemetry (Ceilometer)." 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: "cluster:status == 'operational'" message: "MongoDB node can not be added to an operational environment." - condition: "settings:additional_components.ceilometer.value == false" message: "Ceilometer should be enabled." - 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." networks_metadata: bonding: availability: - linux: "settings:storage.iser.value == false and settings:neutron_mellanox.plugin.value != 'ethernet'" - ovs: "false" properties: linux: mode: - values: ["balance-rr", "active-backup", "802.3ad"] - 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"] 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: "private" map_priority: 2 configurable: true config: vlan_range: [1000, 1030] gre_id_range: [2, 65535] base_mac: "fa:16:3e:00:00:00" internal_cidr: "192.168.111.0/24" internal_gateway: "192.168.111.1" floating_ranges: [["172.16.0.130", "172.16.0.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: "all", id: "image"} 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"} 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"} 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: "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: "cinder" type: "vg" label: "Cinder" min_size: {generator: "calc_min_cinder_size"} volumes: [] attributes_metadata: editable: access: metadata: label: "Access" weight: 10 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$)(?![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" workloads_collector: metadata: label: "Workloads Collector User" weight: 10 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 restrictions: - condition: "settings:additional_components.murano.value == false" action: "hide" murano_repo_url: value: "http://storage.apps.openstack.org/" label: "Murano Repository URL" description: "" weight: 10 type: "text" external_mongo: metadata: label: "External MongoDB" weight: 20 restrictions: - condition: "settings:additional_components.mongo.value == false" 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" neutron_mellanox: metadata: toggleable: false enabled: true label: "Mellanox Neutron components" weight: 50 restrictions: - condition: "not ('experimental' in version:feature_groups)" action: "hide" plugin: value: "disabled" label: "Mellanox drivers and SR-IOV plugin" weight: 60 type: "radio" values: - data: "disabled" label: "Mellanox drivers and plugins disabled" description: "If selected, Mellanox drivers, Neutron and Cinder plugin will not be installed." restrictions: - "settings:storage.iser.value == true" - data: "drivers_only" label: "Install only Mellanox drivers" description: "If selected, Mellanox Ethernet drivers will be installed to support networking over Mellanox NIC. Mellanox Neutron plugin will not be installed." restrictions: - "settings:common.libvirt_type.value != 'kvm'" - data: "ethernet" label: "Install Mellanox drivers and SR-IOV plugin" description: "If selected, both Mellanox Ethernet drivers and Mellanox network acceleration (Neutron) plugin will be installed." restrictions: - "settings:common.libvirt_type.value != 'kvm' or not (cluster:net_provider == 'neutron' and networking_parameters:segmentation_type == 'vlan')" vf_num: value: "16" label: "Number of virtual NICs" description: "Note that one virtual function will be reserved to the storage network, in case of choosing iSER." weight: 70 type: "text" restrictions: - "settings:neutron_mellanox.plugin.value != 'ethernet'" additional_components: metadata: label: "Additional Components" weight: 20 sahara: value: false label: "Install Sahara" description: "If selected, Sahara component will be installed" weight: 10 type: "checkbox" restrictions: - condition: "true" action: disable murano: value: false label: "Install Murano" description: "If selected, Murano component will be installed" weight: 20 type: "checkbox" restrictions: - "cluster:net_provider != 'neutron'" heat: value: true label: "" description: "" weight: 30 type: "hidden" ceilometer: value: false label: "Install Ceilometer" description: "If selected, Ceilometer component will be installed" weight: 40 type: "checkbox" restrictions: - condition: "true" action: disable mongo: value: false label: "Use external Mongo DB" description: "If selected, You can use external Mongo DB as ceilometer backend" weight: 40 type: "checkbox" restrictions: - "settings:additional_components.ceilometer.value == false" common: metadata: label: "Common" weight: 30 debug: value: false label: "OpenStack debug 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" description: "Debug puppet logging mode provides more information, but requires more disk space." weight: 20 type: "checkbox" nova_quota: value: false label: "Nova quotas" description: "Quotas are used to limit CPU and memory usage for tenants. Enabling quotas will increase load on the Nova database." weight: 25 type: "checkbox" auto_assign_floating_ip: value: false label: "Auto assign floating IP" description: "If selected, OpenStack will automatically assign a floating IP to a new instance" weight: 40 type: "checkbox" restrictions: - condition: "cluster:net_provider == 'neutron'" action: "hide" use_vcenter: value: false weight: 30 type: "hidden" libvirt_type: value: "qemu" values: - data: "kvm" label: "KVM" description: "Choose this type of hypervisor if you run OpenStack on hardware" - data: "qemu" label: "QEMU" description: "Choose this type of hypervisor if you run OpenStack on virtual hosts." label: "Hypervisor type" weight: 30 type: "radio" resume_guests_state_on_host_boot: value: true label: "Resume guests state on host boot" description: "Whether to resume previous guests state when the host reboots. If enabled, this option causes guests assigned to the host to resume their previous state. If the guest was running a restart will be attempted when nova-compute starts. If the guest was not running previously, a restart will not be attempted." weight: 60 type: "checkbox" use_cow_images: value: true label: "Use qcow format for images" description: "For most cases you will want qcow format. If it's disabled, raw image format will be used to run VMs. OpenStack with raw format currently does not support snapshotting." weight: 50 type: "checkbox" auth_key: value: "" label: "Public Key" description: "Public key(s) to include in authorized_keys on deployed nodes" weight: 70 type: "textarea" public_network_assignment: metadata: weight: 50 label: "Public network assignment" 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" corosync: metadata: label: "Corosync" weight: 50 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 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" syslog_port: value: "514" label: "Port" description: "Remote syslog port" weight: 20 type: "text" regex: source: "^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$" error: "Invalid Syslog port" provision: metadata: label: "Provision" weight: 80 method: type: "radio" label: "Provision method" description: "Which provision method to use for this cluster." value: "image" values: - data: "image" label: "Image" description: "Copying pre-built images on a disk." - data: "cobbler" label: "(DEPRECATED) Classic (use anaconda or debian-installer)" description: "Install from scratch using anaconda or debian-installer." external_dns: metadata: label: "Host OS DNS Servers" weight: 90 dns_list: value: generator: "from_settings" generator_arg: "DNS_UPSTREAM" label: "DNS list" description: "List of upstream DNS servers, separated by comma" weight: 10 type: "text" regex: source: '^\*$|^(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3}(?:\s*,\s*(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3})*$' error: "Invalid IP address list" external_ntp: metadata: label: "Host OS NTP Servers" weight: 100 ntp_list: value: generator: "from_settings" generator_arg: "NTP_UPSTREAM" label: "NTP server list" description: "List of upstream NTP servers, separated by comma" weight: 10 type: "text" regex: source: '^\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(?:\.\d{1,3}){3})\s*(?:,\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(\.\d{1,3}){3})\s*)*$' error: "Invalid NTP server list" kernel_params: metadata: label: "Kernel parameters" weight: 40 kernel: value: "console=ttyS0,9600 console=tty0 biosdevname=0 rootdelay=90 nomodeset" label: "Initial parameters" description: "Default kernel parameters" weight: 45 type: "text" storage: metadata: label: "Storage" weight: 60 volumes_lvm: value: true label: "Cinder LVM over iSCSI for volumes" description: "It is recommended to have at least one Storage - Cinder LVM node." weight: 10 type: "checkbox" restrictions: - "settings:storage.volumes_ceph.value == true" iser: value: false label: "iSER protocol for volumes (Cinder)" description: "High performance block storage: Cinder volumes over iSER protocol (iSCSI over RDMA). This feature requires SR-IOV capabilities in the NIC, and will use a dedicated virtual function for the storage network." weight: 11 type: "checkbox" restrictions: - "settings:storage.volumes_lvm.value != true or settings:common.libvirt_type.value != 'kvm'" - condition: "not ('experimental' in version:feature_groups)" action: "hide" 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" 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" restrictions: - "settings:storage.images_ceph.value == false" osd_pool_size: value: "2" 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 'Storage - Ceph OSD' nodes." weight: 85 type: "text" regex: source: '^[1-9]\d*$' error: "Invalid number" 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" 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" 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" puppet: manifests: "rsync://{settings.MASTER_IP}:/puppet/{cluster.release.version}/manifests/" modules: "rsync://{settings.MASTER_IP}:/puppet/{cluster.release.version}/modules/" wizard_metadata: Mode: metadata: restrictions: - condition: "true" action: "hide" mode: type: "radio" bind: "cluster:mode" values: - data: "ha_compact" label: "cluster.mode.ha_compact" Compute: hypervisor: type: "radio" value: "qemu" weight: 5 bind: "settings:common.libvirt_type.value" values: - data: "kvm" label: "dialog.create_cluster_wizard.compute.kvm" description: "dialog.create_cluster_wizard.compute.kvm_description" bind: - "wizard:Storage.ceph": "disable" - "wizard:Network.manager": "neutron-vlan" - data: "qemu" label: "dialog.create_cluster_wizard.compute.qemu" description: "dialog.create_cluster_wizard.compute.qemu_description" bind: - "wizard:Storage.ceph": "disable" - "wizard:Network.manager": "neutron-vlan" vcenter: type: "checkbox" weight: 10 label: "dialog.create_cluster_wizard.compute.vcenter" description: "dialog.create_cluster_wizard.compute.vcenter_description" bind: - "wizard:Storage.ceph": "disable" - "wizard:Network.manager": "nova-network" - "settings:common.use_vcenter.value" Network: manager: type: "radio" values: - data: "neutron-vlan" label: "dialog.create_cluster_wizard.network.neutr_vlan" description: "dialog.create_cluster_wizard.network.neutr_vlan_description" restrictions: - "Compute.vcenter == true": "dialog.create_cluster_wizard.network.hypervisor_alert" bind: - "cluster:net_provider": "neutron" - "cluster:net_segment_type": "vlan" - data: "neutron-gre" label: "dialog.create_cluster_wizard.network.neutr_gre" description: "dialog.create_cluster_wizard.network.neutr_gre_description" restrictions: - "Compute.vcenter == true": "dialog.create_cluster_wizard.network.hypervisor_alert" bind: - "cluster:net_provider": "neutron" - "cluster:net_segment_type": "gre" - data: "nova-network" label: "dialog.create_cluster_wizard.network.nova_network" description: "dialog.create_cluster_wizard.network.nova_network_description" bind: - "cluster:net_provider": "nova_network" Storage: ceph: type: "radio" values: - data: "disable" label: "dialog.create_cluster_wizard.storage.ceph_disable" bind: - "settings:storage.volumes_lvm.value": true - "settings:storage.volumes_ceph.value": false - "settings:storage.objects_ceph.value": false - "settings:storage.ephemeral_ceph.value": false - "settings:storage.images_ceph.value": false - data: "enable" label: "dialog.create_cluster_wizard.storage.ceph_enable" bind: - "settings:storage.volumes_ceph.value": true - "settings:storage.objects_ceph.value": true - "settings:storage.ephemeral_ceph.value": true - "settings:storage.images_ceph.value": true - "settings:storage.volumes_lvm.value": false AdditionalServices: sahara: type: "checkbox" label: "dialog.create_cluster_wizard.additional.install_sahara" description: "dialog.create_cluster_wizard.additional.install_sahara_description" bind: "settings:additional_components.sahara.value" weight: 10 murano: type: "checkbox" label: "dialog.create_cluster_wizard.additional.install_murano" description: "dialog.create_cluster_wizard.additional.install_murano_description" bind: "settings:additional_components.murano.value" weight: 20 restrictions: - "Network.manager == 'nova-network'": "dialog.create_cluster_wizard.additional.network_mode_alert" ceilometer: type: "checkbox" label: "dialog.create_cluster_wizard.additional.install_ceilometer" description: "dialog.create_cluster_wizard.additional.install_ceilometer_description" bind: "settings:additional_components.ceilometer.value" weight: 30 Ready: {} 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 '^[a-zA-Z\d]+[-\.\da-zA-Z]*$' 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" 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+$' 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: "network" type: "object" restrictions: - condition: "cluster:net_provider != 'nova_network' or networking_parameters:net_manager != 'VlanManager' or settings:common.use_vcenter.value == false" action: "hide" fields: - name: "esxi_vlan_interface" type: "text" label: "VLAN interface" description: "VLAN interface" regex: source: *non_empty_string error: "Invalid Network Interface" - 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" value: availability_zones: - az_name: "vcenter" vcenter_host: "" vcenter_username: "" vcenter_password: "" nova_computes: - vsphere_cluster: "" service_name: "" datastore_regex: "" cinder: enable: true network: esxi_vlan_interface: "" glance: vcenter_host: "" vcenter_username: "" vcenter_password: "" datacenter: "" datastore: "" modes: ['ha_compact'] - pk: 9 extend: *base_release fields: name: "Juno+Citrix XenServer on Ubuntu 14.04.1" version: "2014.2.2-6.1" can_update_from_versions: [] operating_system: "Ubuntu" description: "This option will install the OpenStack Juno packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." roles: - controller - compute - cinder 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." conflicts: - compute update_required: - compute - cinder has_primary: true limits: min: 1 overrides: - condition: "cluster:mode == 'multinode'" max: 1 message: "Multi-node environment can not have more than one Controller node." - condition: "cluster:mode == 'ha_compact'" recommended: 3 message: "At least 3 Controller nodes are recommended for HA deployment." compute: name: "Compute" description: "A Compute node creates, manages and terminates virtual machine instances." limits: recommended: 1 fault_tolerance: "2%" cinder: # NOTE: naming, see https://bugs.launchpad.net/fuel/+bug/1383224 name: "Storage - 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 providing a server with access to raw block level devices." limits: recommended: 1 restrictions: - condition: "settings:storage.volumes_lvm.value == false" message: "Cinder LVM should be enabled in 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" attributes_metadata: editable: kernel_params: kernel: value: "console=ttyS0,9600 console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset" repo_setup: metadata: label: "Repositories" weight: 50 always_editable: true repos: type: "custom_repo_configuration" extra_priority: null description: | Please note: the first repository will be considered the operating system mirror that will be used during node provisioning. To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node. Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror. For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-6.1/operations.html#external-ubuntu-ops). value: - type: "deb" name: "ubuntu" uri: "http://archive.ubuntu.com/ubuntu/" suite: "trusty" section: "main universe multiverse" priority: null - type: "deb" name: "ubuntu-updates" uri: "http://archive.ubuntu.com/ubuntu/" suite: "trusty-updates" section: "main universe multiverse" priority: null - type: "deb" name: "ubuntu-security" uri: "http://archive.ubuntu.com/ubuntu/" suite: "trusty-security" section: "main universe multiverse" priority: null - type: "deb" name: "mos" uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" suite: "mos6.1" section: "main restricted" priority: 1050 - type: "deb" name: "mos-updates" uri: "http://mirror.fuel-infra.org/mos/ubuntu/" suite: "mos6.1-updates" section: "main restricted" priority: 1050 - type: "deb" name: "mos-security" uri: "http://mirror.fuel-infra.org/mos/ubuntu/" suite: "mos6.1-security" section: "main restricted" priority: 1050 - type: "deb" name: "mos-holdback" uri: "http://mirror.fuel-infra.org/mos/ubuntu/" suite: "mos6.1-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 additional_components: metadata: label: "Additional Components" weight: 20 sahara: value: false label: "Install Sahara" description: "If selected, Sahara component will be installed" weight: 10 type: "checkbox" restrictions: - condition: "true" action: disable murano: value: false label: "Install Murano" description: "If selected, Murano component will be installed" weight: 20 type: "checkbox" restrictions: - condition: "true" action: disable heat: value: true label: "" description: "" weight: 30 type: "hidden" ceilometer: value: false label: "Install Ceilometer" description: "If selected, Ceilometer component will be installed" weight: 40 type: "checkbox" restrictions: - condition: "true" action: disable mongo: value: false label: "Use external Mongo DB" description: "If selected, You can use external Mongo DB as ceilometer backend" weight: 40 type: "checkbox" restrictions: - condition: "true" action: disable common: metadata: label: "Common" weight: 30 debug: value: false label: "OpenStack debug 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" description: "Debug puppet logging mode provides more information, but requires more disk space." weight: 20 type: "checkbox" nova_quota: value: false label: "Nova quotas" description: "Quotas are used to limit CPU and memory usage for tenants. Enabling quotas will increase load on the Nova database." weight: 25 type: "checkbox" auto_assign_floating_ip: value: false label: "Auto assign floating IP" description: "If selected, OpenStack will automatically assign a floating IP to a new instance" weight: 40 type: "checkbox" restrictions: - condition: "cluster:net_provider == 'neutron'" action: "hide" use_vcenter: value: false weight: 30 type: "hidden" libvirt_type: value: "qemu" values: - data: "kvm" label: "KVM" description: "Choose this type of hypervisor if you run OpenStack on hardware" restrictions: - condition: "true" action: disable - data: "qemu" label: "QEMU" description: "Choose this type of hypervisor if you run OpenStack on virtual hosts." restrictions: - condition: "true" action: disable label: "Hypervisor type" weight: 30 type: "radio" resume_guests_state_on_host_boot: value: true label: "Resume guests state on host boot" description: "Whether to resume previous guests state when the host reboots. If enabled, this option causes guests assigned to the host to resume their previous state. If the guest was running a restart will be attempted when nova-compute starts. If the guest was not running previously, a restart will not be attempted." weight: 60 type: "checkbox" use_cow_images: value: true label: "Use qcow format for images" description: "For most cases you will want qcow format. If it's disabled, raw image format will be used to run VMs. OpenStack with raw format currently does not support snapshotting." weight: 50 type: "checkbox" auth_key: value: "" label: "Public Key" description: "Public key(s) to include in authorized_keys on deployed nodes" weight: 70 type: "textarea" external_ntp: metadata: label: "Host OS NTP Servers" weight: 100 ntp_list: value: "0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org" label: "NTP server list" description: "List of upstream NTP servers, separated by comma" weight: 10 type: "text" regex: source: '^\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(?:\.\d{1,3}){3})\s*(?:,\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(\.\d{1,3}){3})\s*)*$' error: "Invalid NTP server list" generated: repo_setup: installer_kernel: remote_relative: "dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux" local: "/var/www/nailgun/ubuntu/x86_64/images/linux" installer_initrd: remote_relative: "dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz" local: "/var/www/nailgun/ubuntu/x86_64/images/initrd.gz" cobbler: profile: generator_arg: "ubuntu_1404_x86_64" provision: codename: "trusty" image_data: /: uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_amd64.img.gz" format: "ext4" container: "gzip" /boot: uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_amd64-boot.img.gz" format: "ext2" container: "gzip" wizard_metadata: Mode: metadata: restrictions: - condition: "true" action: "hide" mode: type: "radio" bind: "cluster:mode" values: - data: "ha_compact" label: "cluster.mode.ha_compact" Compute: hypervisor: type: "radio" value: "qemu" weight: 5 bind: "settings:common.libvirt_type.value" values: - data: "kvm" label: "dialog.create_cluster_wizard.compute.kvm" description: "dialog.create_cluster_wizard.compute.kvm_description" bind: - "wizard:Storage.ceph": "disable" - "wizard:Network.manager": "neutron-vlan" restrictions: - condition: "true" action: disable - data: "qemu" label: "dialog.create_cluster_wizard.compute.qemu" description: "dialog.create_cluster_wizard.compute.qemu_description" bind: - "wizard:Storage.ceph": "disable" - "wizard:Network.manager": "nova-network" - "settings:fuel-plugin-xenserver.metadata.enabled" : "true" restrictions: - condition: "true" action: disable - condition: "true" message: "The XenServer OpenStack release has been chosen, which requires deploying on the XenServer hypervisor." vcenter: type: "checkbox" weight: 10 label: "dialog.create_cluster_wizard.compute.vcenter" description: "dialog.create_cluster_wizard.compute.vcenter_description" bind: - "wizard:Storage.ceph": "disable" - "wizard:Network.manager": "nova-network" - "settings:common.use_vcenter.value" restrictions: - condition: "true" action: disable Network: manager: type: "radio" value: "nova-network" values: - data: "neutron-vlan" label: "dialog.create_cluster_wizard.network.neutr_vlan" description: "dialog.create_cluster_wizard.network.neutr_vlan_description" restrictions: - condition: "true" action: disable - condition: "true" message: "The XenServer OpenStack Release has been chosen. Neutron is not a supported option." bind: - "cluster:net_provider": "neutron" - "cluster:net_segment_type": "vlan" - data: "neutron-gre" label: "dialog.create_cluster_wizard.network.neutr_gre" description: "dialog.create_cluster_wizard.network.neutr_gre_description" restrictions: - condition: "true" action: disable bind: - "cluster:net_provider": "neutron" - "cluster:net_segment_type": "gre" - data: "nova-network" label: "dialog.create_cluster_wizard.network.nova_network" description: "dialog.create_cluster_wizard.network.nova_network_description" bind: - "cluster:net_provider": "nova_network" restrictions: - condition: "true" action: disable Storage: ceph: type: "radio" values: - data: "disable" label: "dialog.create_cluster_wizard.storage.ceph_disable" bind: - "settings:storage.volumes_lvm.value": true - "settings:storage.volumes_ceph.value": false - "settings:storage.objects_ceph.value": false - "settings:storage.ephemeral_ceph.value": false - "settings:storage.images_ceph.value": false restrictions: - condition: "true" action: disable - condition: "true" message: "The XenServer OpenStack release has been chosen. Ceph is not a supported option." - data: "enable" label: "dialog.create_cluster_wizard.storage.ceph_enable" bind: - "settings:storage.volumes_ceph.value": true - "settings:storage.objects_ceph.value": true - "settings:storage.ephemeral_ceph.value": true - "settings:storage.images_ceph.value": true - "settings:storage.volumes_lvm.value": false restrictions: - condition: "true" action: disable AdditionalServices: sahara: type: "checkbox" label: "dialog.create_cluster_wizard.additional.install_sahara" description: "dialog.create_cluster_wizard.additional.install_sahara_description" bind: "settings:additional_components.sahara.value" weight: 10 restrictions: - condition: "true" action: disable - condition: "true" message: "The XenServer OpenStack release has been chosen. No additional services are supported in this combination." murano: type: "checkbox" label: "dialog.create_cluster_wizard.additional.install_murano" description: "dialog.create_cluster_wizard.additional.install_murano_description" bind: "settings:additional_components.murano.value" weight: 20 restrictions: - condition: "true" action: disable ceilometer: type: "checkbox" label: "dialog.create_cluster_wizard.additional.install_ceilometer" description: "dialog.create_cluster_wizard.additional.install_ceilometer_description" bind: "settings:additional_components.ceilometer.value" weight: 30 restrictions: - condition: "true" action: disable Ready: {}