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

1270 lines
49 KiB
YAML

---
- &base_release
model: "nailgun.release"
fields:
state: "available"
modes_metadata:
ha_compact:
description: "This configuration Deploys OpenStack ready for high availability (HA). Controller services are prepared for HA by setting up a base MySQL/Galera, RabbitMQ and HAProxy so that additional controllers can be deployed NOW, or scaled out LATER. 3 or more controllers are required for a true HA environment."
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
- ceph-osd
- mongo
- zabbix-server
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
compute:
name: "Compute"
description: "A compute node creates, manages and terminates virtual machine instances."
restrictions:
- condition: "settings:common.libvirt_type.value == 'vcenter'"
message: "Computes cannot be used with vCenter"
cinder:
name: "Storage - Cinder LVM"
description: "Cinder LVM provides block storage over iSCSI. Block storage can be used for database storage, expandable file systems, or providing a server with access to raw block level devices."
restrictions:
- condition: "settings:storage.volumes_lvm.value == false and settings:storage.volumes_vmdk.value == false"
message: "Cinder LVM or VMDK should be enabled in settings"
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)."
restrictions:
- condition: "settings:common.libvirt_type.value == 'vcenter'"
message: "Ceph cannot be used with vCenter"
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
restrictions:
- condition: "cluster:status == 'operational'"
message: "MongoDB node can not be added to an operational environment."
- condition: "settings:additional_components.ceilometer.value != true"
message: "Ceilometer should be enabled."
zabbix-server:
name: "Zabbix Server"
description: "Zabbix monitoring system server."
conflicts:
- controller
- compute
- cinder
- ceph-osd
- mongo
restrictions:
- condition: "not ('experimental' in version:feature_groups)"
action: "hide"
networks_metadata:
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
assign_vip: true
- 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
assign_vip: true
- 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
assign_vip: false
- 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
assign_vip: 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"
assign_vip: true
- 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
assign_vip: true
- 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
assign_vip: false
- 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
assign_vip: false
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"}
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"}
zabbix-server:
- {allocate_size: "min", id: "os"}
- {allocate_size: "all", id: "mysql"}
other:
- {allocate_size: "all", 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: "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: "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"
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"
vcenter:
metadata:
label: "vCenter"
weight: 20
restrictions:
- condition: "settings:common.libvirt_type.value != 'vcenter'"
action: "hide"
use_vcenter:
value: true
label: ""
description: ""
weight: 5
type: "hidden"
host_ip:
value: ""
label: "vCenter IP"
description: "IP Address of vCenter"
weight: 10
type: "text"
regex:
source: &ipv4_regex '^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$'
error: 'Specify valid IPv4 address'
vc_user:
value: ""
label: "Username"
description: "vCenter admin username"
weight: 20
type: "text"
regex:
source: &non_empty_string '\S'
error: 'Empty username'
vc_password:
value: ""
label: "Password"
description: "vCenter admin password"
weight: 30
type: "password"
regex:
source: *non_empty_string
error: "Empty password"
cluster:
value: ""
label: "Cluster"
description: "vCenter cluster name. If you have multiple clusters, use comma to separate names"
weight: 40
type: "text"
regex:
source: &valid_cluster_name '^([^,\ ]+([\ ]*[^,\ ])*)(,[^,\ ]+([\ ]*[^,\ ])*)*$'
error: "Invalid cluster list"
nsx_plugin:
metadata:
enabled: false
label: "VMware NSX"
weight: 20
restrictions:
- condition: "cluster:net_provider != 'neutron' or networking_parameters:net_l23_provider != 'nsx'"
action: "hide"
nsx_username:
value: "admin"
label: "NSX username"
description: "NSX administrator's username"
weight: 20
type: "text"
regex:
source: *non_empty_string
error: "Empty username"
nsx_password:
value: ""
label: "NSX password"
description: "Password for Administrator"
weight: 30
type: "password"
regex:
source: *non_empty_string
error: "Empty password"
transport_zone_uuid:
value: ""
label: "Transport zone UUID"
description: "UUID of the pre-existing default NSX Transport zone"
weight: 40
type: "text"
regex:
source: &valid_uuid '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}'
error: "Invalid transport zone UUID"
l3_gw_service_uuid:
value: ""
label: "L3 service UUID"
description: "UUID for the default L3 gateway service to use with this cluster"
weight: 50
type: "text"
regex:
source: *valid_uuid
error: "Invalid L3 gateway service UUID"
nsx_controllers:
value: ""
label: "NSX controller endpoint"
description: "One or more IPv4[:port] addresses of NSX controller node, separated by comma (e.g. 10.30.30.2,192.168.110.254:443)"
weight: 60
type: "text"
regex:
source: '^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(,(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?)*$'
error: "Invalid controller endpoints, specify valid IPv4[:port] pair"
packages_url:
value: ""
label: "URL to NSX bits"
description: "URL to NSX specific packages"
weight: 70
type: "text"
regex:
source: '^https?://(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])(:(6553[0-5]|655[0-2][\d]|65[0-4][\d]{2}|6[0-4][\d]{3}|5[\d]{4}|[\d][\d]{0,3}))?(/.*)?$'
error: "Invalid URL, specify valid HTTP/HTTPS URL with IPv4 address (e.g. http://10.20.0.2/nsx)"
connector_type:
value: "stt"
values:
- data: "gre"
label: "GRE"
- data: "ipsec_gre"
label: "GRE over IPSec"
- data: "stt"
label: "STT"
- data: "ipsec_stt"
label: "STT over IPSec"
- data: "bridge"
label: "Bridge"
label: "NSX connector type"
description: "Default network transport type to use"
weight: 80
type: "select"
replication_mode:
description: ""
label: "NSX cluster has Service nodes"
value: true
type: "checkbox"
weight: 90
neutron_mellanox:
metadata:
toggleable: false
enabled: true
label: "Mellanox Neutron components"
weight: 50
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"
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"
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"
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:
- "cluster:net_provider == 'neutron'"
libvirt_type:
value: "qemu"
values:
- data: "kvm"
label: "KVM"
description: "Choose this type of hypervisor if you run OpenStack on hardware"
restrictions:
- "settings:common.libvirt_type.value == 'vcenter'"
- data: "qemu"
label: "QEMU"
description: "Choose this type of hypervisor if you run OpenStack on virtual hosts."
restrictions:
- "settings:common.libvirt_type.value == 'vcenter'"
- data: "vcenter"
label: "vCenter"
description: "Choose this type of hypervisor if you run OpenStack in a vCenter environment."
restrictions:
- "settings:common.libvirt_type.value != 'vcenter' or cluster:net_provider == 'neutron'"
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"
compute_scheduler_driver:
value: "nova.scheduler.filter_scheduler.FilterScheduler"
values:
- data: "nova.scheduler.filter_scheduler.FilterScheduler"
label: "Filter scheduler"
description: "Currently the most advanced OpenStack scheduler. See the OpenStack documentation for details."
- data: "nova.scheduler.simple.SimpleScheduler"
label: "Simple scheduler"
description: "This is 'naive' scheduler which tries to find the least loaded host"
label: "Scheduler driver"
weight: 40
type: "radio"
auth_key:
value: ""
label: "Public Key"
description: "Public key(s) to include in authorized_keys on deployed nodes"
weight: 70
type: "text"
disable_offload:
value: true
label: "Disable generic offload on physical nics"
description: "If set, generic segmentation offload (gso) and generic receive offload (gro) on physical nics will be disabled. See ethtool man."
weight: 80
type: "checkbox"
restrictions:
- condition: "cluster:net_provider == 'neutron' and networking_parameters:segmentation_type == 'gre'"
action: "hide"
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 and zabbix-server 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"
zabbix:
metadata:
label: "Zabbix Access"
weight: 70
restrictions:
- condition: "not ('experimental' in version:feature_groups)"
action: "hide"
username:
value: "admin"
label: "username"
description: "Username for Zabbix Administrator"
weight: 10
type: "text"
password:
value: "zabbix"
label: "password"
description: "Password for Zabbix Administrator"
weight: 20
type: "password"
provision:
metadata:
label: "Provision"
weight: 80
restrictions:
- condition: "not ('experimental' in version:feature_groups)"
action: "hide"
method:
type: "radio"
label: "Provision method"
description: "Which provision method to use for this cluster."
value: "cobbler"
values:
- data: "image"
label: "Image"
description: "Copying pre-built images on a disk."
- data: "cobbler"
label: "Classic (use anaconda or debian-installer)"
description: "Install from scratch using anaconda or debian-installer."
external_dns:
metadata:
label: "Upstream DNS"
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"
external_ntp:
metadata:
label: "Upstream NTP"
weight: 100
ntp_list:
value:
generator: "from_settings"
generator_arg: "NTP_UPSTREAM"
label: "NTP servers list"
description: "List of upstream NTP servers separated by comma"
weight: 10
type: "text"
kernel_params:
metadata:
label: "Kernel parameters"
weight: 40
kernel:
value: "console=ttyS0,9600 console=tty0 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: "Requires at least one Storage - Cinder LVM node."
weight: 10
type: "checkbox"
restrictions:
- "settings:storage.volumes_ceph.value == true"
volumes_vmdk:
value: false
label: "VMware vCenter for volumes (Cinder)"
description: "Configures Cinder to store volumes via VMware vCenter."
weight: 15
type: "checkbox"
restrictions:
- "settings:common.libvirt_type.value != 'vcenter' or settings:storage.volumes_lvm.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'"
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:common.libvirt_type.value == 'vcenter'"
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:common.libvirt_type.value == 'vcenter'"
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:
- "settings:common.libvirt_type.value != 'vcenter'"
vc_host:
value: ""
label: "vCenter/ESXi IP"
description: "IP Address of vCenter/ESXi"
weight: 45
type: "text"
regex:
source: *ipv4_regex
error: 'Specify valid IPv4 address'
restrictions: &glance_vcenter_restr
- condition: "settings:storage.images_vcenter.value == false or settings:common.libvirt_type.value != 'vcenter'"
action: "hide"
vc_user:
value: ""
label: "Username"
description: "vCenter/ESXi admin username"
weight: 50
type: "text"
regex:
source: *non_empty_string
error: 'Empty username'
restrictions: *glance_vcenter_restr
vc_password:
value: ""
label: "Password"
description: "vCenter/ESXi admin password"
weight: 55
type: "password"
regex:
source: *non_empty_string
error: "Empty password"
restrictions: *glance_vcenter_restr
vc_datastore:
value: ""
label: "Datastore name"
description: "Datastore associated with the datacenter."
weight: 60
type: "text"
regex:
source: *non_empty_string
error: 'Empty datastore'
restrictions: *glance_vcenter_restr
vc_datacenter:
value: ""
label: "Datacenter name"
description: "Inventory path to a datacenter. If you want to use ESXi host as datastore, it should be \"ha-datacenter\"."
weight: 65
type: "text"
regex:
source: *non_empty_string
error: 'Empty datacenter'
restrictions: *glance_vcenter_restr
vc_image_dir:
value: "/openstack_glance"
label: "Datastore Images directory"
description: "The name of the directory where the glance images will be stored in the VMware datastore."
weight: 70
type: "text"
regex:
source: *non_empty_string
error: 'Empty images directory'
restrictions: *glance_vcenter_restr
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"
restrictions:
- "settings:common.libvirt_type.value == 'vcenter'"
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"
restrictions:
- "settings:common.libvirt_type.value == 'vcenter'"
regex:
source: '^[1-9]\d*$'
error: "Invalid number"
generated:
mysql:
root_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"
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"
zabbix:
db_password:
generator: "password"
db_root_password:
generator: "password"
quantum_settings:
database:
passwd:
generator: "password"
keystone:
admin_password:
generator: "password"
metadata:
metadata_proxy_shared_secret:
generator: "password"
wizard_metadata:
Mode:
mode:
type: "radio"
bind: "cluster:mode"
values:
- data: "ha_compact"
label: "cluster.mode.ha_compact"
- data: "multinode"
label: "cluster.mode.multinode"
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.cinder": "default"
- data: "qemu"
label: "dialog.create_cluster_wizard.compute.qemu"
description: "dialog.create_cluster_wizard.compute.qemu_description"
bind:
- "wizard:Storage.cinder": "default"
- data: "vcenter"
label: "dialog.create_cluster_wizard.compute.vcenter"
description: "dialog.create_cluster_wizard.compute.vcenter_description"
bind:
- "wizard:Storage.cinder": "vcenter"
host_ip:
type: "text"
label: "dialog.create_cluster_wizard.compute.vcenter_ip"
description: "dialog.create_cluster_wizard.compute.vcenter_ip_description"
weight: 10
bind: "settings:vcenter.host_ip.value"
restrictions:
- condition: "Compute.hypervisor != 'vcenter'"
action: "hide"
message: null
regex:
source: *ipv4_regex
error: "dialog.create_cluster_wizard.compute.vcenter_ip_warning"
vc_user:
type: "text"
label: "dialog.create_cluster_wizard.compute.vcenter_username"
description: "dialog.create_cluster_wizard.compute.vcenter_username_description"
weight: 20
bind: "settings:vcenter.vc_user.value"
restrictions:
- condition: "Compute.hypervisor != 'vcenter'"
action: "hide"
message: null
regex:
source: *non_empty_string
error: "dialog.create_cluster_wizard.compute.vcenter_user_warning"
vc_password:
type: "password"
label: "dialog.create_cluster_wizard.compute.vcenter_password"
description: "dialog.create_cluster_wizard.compute.vcenter_password_description"
weight: 30
bind: "settings:vcenter.vc_password.value"
restrictions:
- condition: "Compute.hypervisor != 'vcenter'"
action: "hide"
message: null
regex:
source: *non_empty_string
error: "dialog.create_cluster_wizard.compute.vcenter_password_warning"
cluster:
type: "text"
label: "dialog.create_cluster_wizard.compute.vcenter_cluster"
description: "dialog.create_cluster_wizard.compute.vcenter_cluster_description"
weight: 40
bind: "settings:vcenter.cluster.value"
restrictions:
- condition: "Compute.hypervisor != 'vcenter'"
action: "hide"
message: null
regex:
source: *valid_cluster_name
error: "dialog.create_cluster_wizard.compute.vcenter_cluster_warning"
Network:
manager:
type: "radio"
values:
- data: "nova-network"
label: "dialog.create_cluster_wizard.network.nova_network"
bind:
- "cluster:net_provider": "nova_network"
- data: "neutron-gre"
label: "dialog.create_cluster_wizard.network.neutr_gre"
restrictions:
- "Compute.hypervisor == 'vcenter'": "dialog.create_cluster_wizard.network.hypervisor_alert"
bind:
- "cluster:net_provider": "neutron"
- "cluster:net_segment_type": "gre"
- data: "neutron-vlan"
label: "dialog.create_cluster_wizard.network.neutr_vlan"
restrictions:
- "Compute.hypervisor == 'vcenter'": "dialog.create_cluster_wizard.network.hypervisor_alert"
bind:
- "cluster:net_provider": "neutron"
- "cluster:net_segment_type": "vlan"
- data: "neutron-nsx"
label: "dialog.create_cluster_wizard.network.neutr_nsx"
restrictions:
- condition: "not ('experimental' in version:feature_groups)"
action: "disable"
message: "Neutron with NSX can be used with Experimental mode only. Please, look at the documentation to enable it"
- condition: "('experimental' in version:feature_groups) and (NameAndRelease.release_operating_system == 'Ubuntu')"
action: "none"
message: "NSX with Ubuntu was not tested properly and can be inoperable"
bind:
- "cluster:net_provider": "neutron"
- "cluster:net_l23_provider": "nsx"
- "cluster:net_segment_type": "gre"
- "settings:nsx_plugin.metadata.enabled": true
Storage:
cinder:
type: "radio"
values:
- data: "default"
label: "dialog.create_cluster_wizard.storage.default"
restrictions:
- "Compute.hypervisor == 'vcenter'"
bind:
- "settings:storage.volumes_lvm.value": true
- "settings:storage.volumes_ceph.value": false
- "settings:storage.volumes_vmdk.value": false
- data: "ceph"
label: "dialog.create_cluster_wizard.storage.ceph"
restrictions:
- "not ('ceph-osd' in NameAndRelease.release_roles)": "dialog.create_cluster_wizard.storage.alert"
- "Compute.hypervisor == 'vcenter'": "dialog.create_cluster_wizard.storage.cinder_vcenter_alert"
bind:
- "settings:storage.volumes_ceph.value": true
- "settings:storage.volumes_lvm.value": false
- "settings:storage.volumes_vmdk.value": false
- data: "vcenter"
label: "dialog.create_cluster_wizard.storage.vcenter"
restrictions:
- "Compute.hypervisor != 'vcenter'"
bind:
- "settings:storage.volumes_vmdk.value": true
- "settings:storage.volumes_lvm.value": false
- "settings:storage.volumes_ceph.value": false
glance:
type: "radio"
values:
- data: "default"
label: "dialog.create_cluster_wizard.storage.default"
- data: "ceph"
label: "dialog.create_cluster_wizard.storage.ceph"
restrictions:
- "not ('ceph-osd' in NameAndRelease.release_roles)": "dialog.create_cluster_wizard.storage.alert"
- "Compute.hypervisor == 'vcenter'": "dialog.create_cluster_wizard.storage.glance_vcenter_alert"
bind:
- "settings:storage.images_ceph.value": true
- data: "vcenter"
label: "dialog.create_cluster_wizard.storage.vcenter"
restrictions:
- "Compute.hypervisor != 'vcenter'"
bind:
- "settings:storage.images_vcenter.value": true
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: {}
- pk: 1
extend: *base_release
fields:
name: "Juno on CentOS 6.5"
version: "2014.2-6.0"
can_update_from_versions: []
operating_system: "CentOS"
description: "This option will install the OpenStack Juno 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=ttyS0,9600 console=tty0 biosdevname=0 crashkernel=none rootdelay=90 nomodeset"
vlan_splinters:
metadata:
toggleable: true
enabled: false
label: "VLAN Splinters"
weight: 50
restrictions:
- condition: "cluster:net_provider != 'neutron'"
action: "hide"
vswitch:
value: "disabled"
label: "Open VSwitch VLAN Splinters feature"
weight: 55
type: "radio"
values:
- data: "soft"
label: "Enable OVS VLAN splinters soft trunks workaround"
description: "Configure OVS to use VLAN splinters workaround with soft trunk detection. This may resolve issues that might be encountered when using VLAN tags with OVS and Neutron on Kernels <3.3 (CentOS)"
- data: "hard"
label: "Enable OVS VLAN splinters hard trunks workaround"
description: "Configure OVS to use VLAN splinters workaround with hard trunk allocation. Offers similar effect as soft trunks workaround, but forces each trunk to be predefined. This may work better than soft trunks especially if you still see network problems using soft trunks"
- data: "kernel_lt"
label: "EXPERIMENTAL: Use Fedora longterm kernel"
description: "Install the Fedora 3.10 longterm kernel instead of the default 2.6.32 kernel. This should remove any need for VLAN Splinters workarounds as the 3.10 kernel has better support for OVS VLANs. This kernel may not work with all hardware platforms, use caution."
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"
orchestrator_data:
puppet_manifests_source: "rsync://{MASTER_IP}:/puppet/{OPENSTACK_VERSION}/manifests/"
puppet_modules_source: "rsync://{MASTER_IP}:/puppet/{OPENSTACK_VERSION}/modules/"
repo_metadata:
"{OPENSTACK_VERSION}": "http://{MASTER_IP}:8080/{OPENSTACK_VERSION}/centos/x86_64"
- pk: 2
extend: *base_release
fields:
name: "Juno on Ubuntu 12.04.4"
version: "2014.2-6.0"
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."
attributes_metadata:
generated:
cobbler:
profile:
generator_arg: "ubuntu_1204_x86_64"
provision:
image_data:
/:
uri: "http://{{settings.MASTER_IP}}:8080/targetimages/ubuntu_1204_amd64.img.gz"
format: "ext4"
container: "gzip"
/boot:
uri: "http://{{settings.MASTER_IP}}:8080/targetimages/ubuntu_1204_amd64-boot.img.gz"
format: "ext2"
container: "gzip"
orchestrator_data:
puppet_manifests_source: "rsync://{MASTER_IP}:/puppet/{OPENSTACK_VERSION}/manifests/"
puppet_modules_source: "rsync://{MASTER_IP}:/puppet/{OPENSTACK_VERSION}/modules/"
repo_metadata:
"{OPENSTACK_VERSION}": "http://{MASTER_IP}:8080/{OPENSTACK_VERSION}/ubuntu/x86_64 precise main"