2303 lines
85 KiB
YAML
2303 lines
85 KiB
YAML
---
|
|
- &base_release
|
|
model: "nailgun.release"
|
|
fields:
|
|
state: "available"
|
|
modes_metadata:
|
|
ha_compact:
|
|
description: "This configuration Deploys OpenStack ready for high availability (HA). Controller services are prepared for HA by setting up a base MySQL/Galera, RabbitMQ and HAProxy so that additional controllers can be deployed NOW, or scaled out LATER. 3 or more controllers are required for a true HA environment."
|
|
roles_metadata:
|
|
controller:
|
|
name: "Controller"
|
|
description: "The Controller initiates orchestration activities and provides an external API. Other components like Glance (image storage), Keystone (identity management), Horizon (OpenStack dashboard) and Nova-Scheduler are installed on the controller as well."
|
|
weight: 10
|
|
conflicts:
|
|
- compute
|
|
update_required:
|
|
- compute
|
|
- cinder
|
|
has_primary: true
|
|
public_ip_required: true
|
|
public_for_dvr_required: true
|
|
group: "base"
|
|
limits:
|
|
min: 1
|
|
recommended: 3
|
|
overrides:
|
|
- condition: "settings:neutron_advanced_configuration.neutron_l3_ha.value == true"
|
|
min: 2
|
|
message: "Neutron L3 HA requires at least 2 Controller nodes to function properly."
|
|
compute:
|
|
name: "Compute"
|
|
description: "A Compute node creates, manages, and terminates virtual machine instances."
|
|
weight: 20
|
|
public_for_dvr_required: true
|
|
group: "compute"
|
|
limits:
|
|
recommended: 1
|
|
fault_tolerance: "2%"
|
|
cinder:
|
|
# NOTE: naming, see https://bugs.launchpad.net/fuel/+bug/1383224
|
|
name: "Cinder"
|
|
description: "Cinder provides scheduling of block storage resources, typically delivered over iSCSI and other compatible backend storage systems. Block storage can be used for database storage, expandable file systems, or to provide a server with access to raw block level devices."
|
|
weight: 30
|
|
group: "storage"
|
|
limits:
|
|
recommended: 1
|
|
restrictions:
|
|
- condition: "settings:storage.volumes_lvm.value == false"
|
|
message: "Cinder LVM should be enabled in 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 should be enabled in settings"
|
|
- condition: "settings:storage.volumes_ceph.value == true"
|
|
message: "Ceph RBD cannot be used with Cinder Block Device"
|
|
cinder-vmware:
|
|
name: "Cinder Proxy to VMware Datastore"
|
|
description: "Cinder-VMware provides scheduling of block storage resources delivered over VMware vCenter. Block storage can be used for database storage, expandable file systems, or providing a server with access to raw block level devices."
|
|
weight: 40
|
|
group: "storage"
|
|
limits:
|
|
recommended: 1
|
|
restrictions:
|
|
- condition: "settings:common.use_vcenter.value == false"
|
|
action: "hide"
|
|
ceph-osd:
|
|
name: "Ceph OSD"
|
|
description: "Ceph storage can be configured to provide storage for block volumes (Cinder), images (Glance) and ephemeral instance storage (Nova). It can also provide object storage through the S3 and Swift API (See settings to enable each)."
|
|
weight: 50
|
|
group: "storage"
|
|
limits:
|
|
min: "settings:storage.osd_pool_size.value"
|
|
restrictions:
|
|
- condition: "settings:storage.volumes_ceph.value == false and settings:storage.images_ceph.value == false and settings:storage.ephemeral_ceph.value == false and settings:storage.objects_ceph.value == false"
|
|
message: "Ceph 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)."
|
|
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."
|
|
- condition: "settings:additional_components.mongo.value == true"
|
|
message: "You are already using external MongoDB."
|
|
base-os:
|
|
name: "Operating System"
|
|
description: "Install base Operating System without additional packages and configuration."
|
|
weight: 70
|
|
group: "other"
|
|
virt:
|
|
name: "Virtual"
|
|
description: "ADVANCED: Make available possibilities to spawn vms on this node that can be assign as a normal nodes."
|
|
weight: 80
|
|
group: "compute"
|
|
public_ip_required: true
|
|
conflicts:
|
|
- controller
|
|
- base-os
|
|
restrictions:
|
|
- condition: "not ('advanced' in version:feature_groups)"
|
|
action: "hide"
|
|
compute-vmware:
|
|
name: "Compute VMware"
|
|
description: "A node that runs nova-compute with VCDriver, that manages ESXi computing resources via VMware vCenter."
|
|
weight: 90
|
|
group: "compute"
|
|
conflicts:
|
|
- controller
|
|
- compute
|
|
- cinder
|
|
- cinder-block-device
|
|
- ceph-osd
|
|
- mongo
|
|
- base-os
|
|
- virt
|
|
- ironic
|
|
restrictions:
|
|
- condition: "settings:common.use_vcenter.value == false"
|
|
action: "hide"
|
|
ironic:
|
|
name: "Ironic"
|
|
description: "Ironic conductor"
|
|
weight: 100
|
|
group: "compute"
|
|
limits:
|
|
min: 1
|
|
recommended: 3
|
|
conflicts:
|
|
- compute
|
|
restrictions:
|
|
- condition: "settings:additional_components.ironic.value == false"
|
|
message: "Ironic should be enabled."
|
|
|
|
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:
|
|
- ovs: "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"]
|
|
ovs:
|
|
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.1", "192.168.3.50"]
|
|
vlan_start: 104
|
|
use_gateway: false
|
|
notation: "ip_ranges"
|
|
render_type: null
|
|
map_priority: 2
|
|
configurable: true
|
|
restrictions:
|
|
- condition: "settings:additional_components.ironic.value == false"
|
|
config:
|
|
vlan_range: [1000, 1030]
|
|
gre_id_range: [2, 65535]
|
|
base_mac: "fa:16:3e:00:00:00"
|
|
internal_name: "admin_internal_net"
|
|
internal_cidr: "192.168.111.0/24"
|
|
internal_gateway: "192.168.111.1"
|
|
floating_name: "admin_floating_net"
|
|
floating_ranges: [["172.16.0.130", "172.16.0.254"]]
|
|
baremetal_gateway: "192.168.3.51"
|
|
baremetal_range: ["192.168.3.52", "192.168.3.254"]
|
|
parameters:
|
|
amqp:
|
|
provider: "rabbitmq"
|
|
username: null
|
|
passwd: ""
|
|
hosts: "hostname1:5672, hostname2:5672"
|
|
database:
|
|
provider: "mysql"
|
|
port: "3306"
|
|
database: null
|
|
username: null
|
|
passwd: ""
|
|
keystone:
|
|
admin_user: null
|
|
admin_password: ""
|
|
metadata:
|
|
metadata_proxy_shared_secret: ""
|
|
volumes_metadata:
|
|
volumes_roles_mapping:
|
|
controller:
|
|
- {allocate_size: "min", id: "os"}
|
|
- {allocate_size: "min", id: "logs"}
|
|
- {allocate_size: "all", id: "image"}
|
|
- {allocate_size: "min", id: "mysql"}
|
|
- {allocate_size: "min", id: "horizon"}
|
|
compute:
|
|
- {allocate_size: "min", id: "os"}
|
|
- {allocate_size: "all", id: "vm"}
|
|
cinder:
|
|
- {allocate_size: "min", id: "os"}
|
|
- {allocate_size: "all", id: "cinder"}
|
|
cinder-vmware:
|
|
- {allocate_size: "min", id: "os"}
|
|
ceph-osd:
|
|
- {allocate_size: "min", id: "os"}
|
|
- {allocate_size: "min", id: "cephjournal"}
|
|
- {allocate_size: "full-disk", id: "ceph"}
|
|
cinder-block-device:
|
|
- {allocate_size: "min", id: "os"}
|
|
- {allocate_size: "full-disk", id: "cinder-block-device"}
|
|
mongo:
|
|
- {allocate_size: "min", id: "os"}
|
|
- {allocate_size: "all", id: "mongo"}
|
|
other:
|
|
- {allocate_size: "all", id: "os"}
|
|
# NOTE(eli): it's better to use entire disk
|
|
# for OS, but currently we have a bug for
|
|
# Ubuntu which doesn't allow to do that:
|
|
# https://bugs.launchpad.net/fuel/+bug/1278964
|
|
base-os:
|
|
- {allocate_size: "min", id: "os"}
|
|
virt:
|
|
- {allocate_size: "min", id: "os"}
|
|
- {allocate_size: "all", id: "vm"}
|
|
compute-vmware:
|
|
- {allocate_size: "min", id: "os"}
|
|
ironic:
|
|
- {allocate_size: "min", id: "os"}
|
|
- {allocate_size: "min", id: "logs"}
|
|
volumes:
|
|
- id: "os"
|
|
type: "vg"
|
|
min_size: {generator: "calc_min_os_size"}
|
|
label: "Base System"
|
|
volumes:
|
|
- mount: "/"
|
|
type: "lv"
|
|
name: "root"
|
|
size: {generator: "calc_total_root_vg"}
|
|
file_system: "ext4"
|
|
- mount: "swap"
|
|
type: "lv"
|
|
name: "swap"
|
|
size: {generator: "calc_swap_size"}
|
|
file_system: "swap"
|
|
- id: "logs"
|
|
type: "vg"
|
|
min_size:
|
|
generator: "calc_gb_to_mb"
|
|
generator_args: [10]
|
|
label: "Logs"
|
|
volumes:
|
|
- mount: "/var/log"
|
|
type: "lv"
|
|
name: "log"
|
|
size:
|
|
generator: "calc_total_vg"
|
|
generator_args: ["logs"]
|
|
file_system: "ext4"
|
|
- id: "mongo"
|
|
type: "vg"
|
|
label: "MongoDB"
|
|
min_size: {generator: "calc_min_mongo_size"}
|
|
volumes:
|
|
- mount: "/var/lib/mongo"
|
|
type: "lv"
|
|
name: "mongodb"
|
|
size:
|
|
generator: "calc_total_vg"
|
|
generator_args: ["mongo"]
|
|
file_system: "ext4"
|
|
- id: "ceph"
|
|
type: "partition"
|
|
min_size: {generator: "calc_min_ceph_size"}
|
|
label: "Ceph"
|
|
name: "Ceph"
|
|
mount: "none"
|
|
partition_guid: "4fbd7e29-9d25-41b8-afd0-062c0ceff05d"
|
|
file_system: "none"
|
|
- id: "cephjournal"
|
|
type: "partition"
|
|
min_size: {generator: "calc_min_ceph_journal_size"}
|
|
name: "Ceph Journal"
|
|
label: "Ceph Journal"
|
|
mount: "none"
|
|
partition_guid: "45b0969e-9b03-4f30-b4c6-b4b80ceff106"
|
|
file_system: "none"
|
|
- id: "mysql"
|
|
type: "vg"
|
|
min_size: {generator: "calc_min_mysql_size"}
|
|
label: "Mysql Database"
|
|
volumes:
|
|
- mount: "/var/lib/mysql"
|
|
type: "lv"
|
|
name: "root"
|
|
size:
|
|
generator: "calc_total_vg"
|
|
generator_args: ["mysql"]
|
|
file_system: "ext4"
|
|
- id: "vm"
|
|
type: "vg"
|
|
min_size: {generator: "calc_min_vm_size"}
|
|
label: "Virtual Storage"
|
|
volumes:
|
|
- mount: "/var/lib/nova"
|
|
type: "lv"
|
|
name: "nova"
|
|
size:
|
|
generator: "calc_total_vg"
|
|
generator_args: ["vm"]
|
|
file_system: "xfs"
|
|
- id: "image"
|
|
type: "vg"
|
|
min_size: {generator: "calc_min_glance_size"}
|
|
label: "Image Storage"
|
|
volumes:
|
|
- mount: "/var/lib/glance"
|
|
type: "lv"
|
|
name: "glance"
|
|
size:
|
|
generator: "calc_total_vg"
|
|
generator_args: ["image"]
|
|
file_system: "xfs"
|
|
- id: "horizon"
|
|
type: "vg"
|
|
min_size:
|
|
generator: "calc_gb_to_mb"
|
|
generator_args: [11]
|
|
label: "Horizon Temp Storage"
|
|
volumes:
|
|
- mount: "/var/lib/horizon"
|
|
type: "lv"
|
|
name: "horizontmp"
|
|
size:
|
|
generator: "calc_total_vg"
|
|
generator_args: ["horizon"]
|
|
file_system: "xfs"
|
|
- id: "cinder"
|
|
type: "vg"
|
|
label: "Cinder"
|
|
min_size: {generator: "calc_min_cinder_size"}
|
|
volumes: []
|
|
- id: "cinder-block-device"
|
|
type: "vg"
|
|
label: "Cinder Block Device"
|
|
min_size: { generator: "calc_min_cinder_size" }
|
|
mount: "none"
|
|
volumes: []
|
|
attributes_metadata:
|
|
editable:
|
|
access:
|
|
metadata:
|
|
label: "OpenStack Access"
|
|
weight: 10
|
|
group: "general"
|
|
user:
|
|
value: "admin"
|
|
label: "Username"
|
|
description: "Username for Administrator"
|
|
weight: 10
|
|
type: "text"
|
|
regex:
|
|
source: &user_tenant_blacklist '^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?!ironic$)(?![Gg]uest$)(?!.* +.*$).+'
|
|
error: "Invalid username"
|
|
email:
|
|
value: "admin@localhost"
|
|
label: "Email"
|
|
description: "Email address for Administrator"
|
|
weight: 40
|
|
type: "text"
|
|
regex:
|
|
source: "^\\S+@\\S+$"
|
|
error: "Invalid email"
|
|
tenant:
|
|
value: "admin"
|
|
label: "Tenant"
|
|
description: "Tenant (project) name for Administrator"
|
|
weight: 30
|
|
type: "text"
|
|
regex:
|
|
source: *user_tenant_blacklist
|
|
error: "Invalid tenant name"
|
|
password:
|
|
value: "admin"
|
|
label: "Password"
|
|
description: "Password for Administrator"
|
|
weight: 20
|
|
type: "password"
|
|
regex:
|
|
source: &non_empty_string '\S'
|
|
error: "Empty password"
|
|
operator_user:
|
|
metadata:
|
|
label: "Operating System Access"
|
|
weight: 15
|
|
group: "general"
|
|
name:
|
|
label: "Username"
|
|
description: "Username for operator user"
|
|
weight: 50
|
|
type: 'text'
|
|
value: 'fueladmin'
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Empty username"
|
|
password:
|
|
label: "Password"
|
|
description: "Password for operator user"
|
|
weight: 60
|
|
type: 'password'
|
|
value:
|
|
generator: 'password'
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Empty password"
|
|
homedir:
|
|
label: "Home directory"
|
|
description: "Home directory for operator user"
|
|
weight: 70
|
|
type: 'text'
|
|
value: '/home/fueladmin'
|
|
regex:
|
|
source: '^/\S'
|
|
error: "Invalid path"
|
|
authkeys:
|
|
label: "Authorized SSH keys"
|
|
description: "Public SSH keys to include to operator user's authorized keys, one per line."
|
|
weight: 80
|
|
type: 'textarea'
|
|
value: ''
|
|
sudo:
|
|
label: "Sudoers configuration"
|
|
description: "Sudoers configuration directives for operator user, one per line."
|
|
weight: 90
|
|
type: 'textarea'
|
|
value: 'ALL=(ALL) NOPASSWD: ALL'
|
|
service_user:
|
|
metadata:
|
|
label: "Service user account"
|
|
weight: 10
|
|
group: "general"
|
|
restrictions:
|
|
- condition: "true"
|
|
action: "hide"
|
|
password:
|
|
type: 'hidden'
|
|
value:
|
|
generator: 'password'
|
|
name:
|
|
type: 'hidden'
|
|
value: 'fuel'
|
|
sudo:
|
|
type: 'hidden'
|
|
value: 'ALL=(ALL) NOPASSWD: ALL'
|
|
homedir:
|
|
type: 'hidden'
|
|
value: '/var/lib/fuel'
|
|
root_password:
|
|
type: 'hidden'
|
|
value: 'r00tme'
|
|
workloads_collector:
|
|
metadata:
|
|
label: "Workloads Collector User"
|
|
weight: 10
|
|
group: "general"
|
|
restrictions:
|
|
- condition: "true"
|
|
action: "hide"
|
|
enabled:
|
|
value: true
|
|
type: "hidden"
|
|
user:
|
|
value: "fuel_stats_user"
|
|
type: "text"
|
|
password:
|
|
value:
|
|
generator: "password"
|
|
type: "password"
|
|
tenant:
|
|
value: "services"
|
|
type: "text"
|
|
murano_settings:
|
|
metadata:
|
|
label: "Murano Settings"
|
|
weight: 20
|
|
group: "openstack_services"
|
|
restrictions:
|
|
- condition: "settings:additional_components.murano.value == false"
|
|
message: "Murano is not enabled on the Additional Components section"
|
|
action: "hide"
|
|
murano_repo_url:
|
|
value: "http://storage.apps.openstack.org/"
|
|
label: "Murano Repository URL"
|
|
description: ""
|
|
weight: 10
|
|
type: "text"
|
|
external_mongo:
|
|
metadata:
|
|
label: "External MongoDB"
|
|
weight: 20
|
|
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: 20
|
|
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"
|
|
murano_glance_artifacts_plugin:
|
|
value: false
|
|
label: "Enable glance artifact repository"
|
|
description: "If selected glance artifact repository will be enabled"
|
|
weight: 40
|
|
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"
|
|
ironic:
|
|
value: false
|
|
label: "Install Ironic"
|
|
description: "If selected, Ironic component will be installed"
|
|
weight: 80
|
|
type: "checkbox"
|
|
restrictions:
|
|
- "cluster:net_provider != 'neutron' or networking_parameters:segmentation_type != 'vlan'": "Ironic requires Neutron with VLAN segmentation."
|
|
- "settings:storage.images_ceph.value == true and settings:storage.objects_ceph.value == false": "Ironic requires Swift or RadosGW for Glance images."
|
|
common:
|
|
metadata:
|
|
label: "Common"
|
|
weight: 10
|
|
debug:
|
|
value: false
|
|
label: "OpenStack debug logging"
|
|
group: "logging"
|
|
description: "Debug logging mode provides more information, but requires more disk space."
|
|
weight: 20
|
|
type: "checkbox"
|
|
puppet_debug:
|
|
value: true
|
|
label: "Puppet debug logging"
|
|
group: "logging"
|
|
description: "Debug puppet logging mode provides more information, but requires more disk space."
|
|
weight: 20
|
|
type: "checkbox"
|
|
nova_quota:
|
|
value: false
|
|
label: "Nova quotas"
|
|
group: "compute"
|
|
description: "Quotas are used to limit CPU and memory usage for tenants. Enabling quotas will increase load on the Nova database."
|
|
weight: 30
|
|
type: "checkbox"
|
|
auto_assign_floating_ip:
|
|
value: false
|
|
label: "Auto assign floating IP"
|
|
group: "network"
|
|
description: "If selected, OpenStack will automatically assign a floating IP to a new instance"
|
|
weight: 40
|
|
type: "checkbox"
|
|
restrictions:
|
|
- condition: "cluster:net_provider == 'neutron'"
|
|
action: "hide"
|
|
use_vcenter:
|
|
value: false
|
|
weight: 30
|
|
type: "hidden"
|
|
libvirt_type:
|
|
value: "qemu"
|
|
values:
|
|
- data: "kvm"
|
|
label: "KVM"
|
|
description: "Choose this type of hypervisor if you run OpenStack on hardware"
|
|
- data: "qemu"
|
|
label: "QEMU"
|
|
description: "Choose this type of hypervisor if you run OpenStack on virtual hosts."
|
|
label: "Hypervisor type"
|
|
group: "compute"
|
|
weight: 30
|
|
type: "radio"
|
|
resume_guests_state_on_host_boot:
|
|
value: true
|
|
label: "Resume guests state on host boot"
|
|
group: "compute"
|
|
description: "Whether to resume previous guests state when the host reboots. If enabled, this option causes guests assigned to the host to resume their previous state. If the guest was running a restart will be attempted when nova-compute starts. If the guest was not running previously, a restart will not be attempted."
|
|
weight: 50
|
|
type: "checkbox"
|
|
use_cow_images:
|
|
value: true
|
|
label: "Use qcow format for images"
|
|
group: "storage"
|
|
description: "For most cases you will want qcow format. If it's disabled, raw image format will be used to run VMs. OpenStack with raw format currently does not support snapshotting."
|
|
weight: 60
|
|
type: "checkbox"
|
|
auth_key:
|
|
value: ""
|
|
label: "Public Key"
|
|
group: "security"
|
|
description: "Public key(s) to include in authorized_keys on deployed nodes"
|
|
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"
|
|
|
|
public_network_assignment:
|
|
metadata:
|
|
weight: 10
|
|
label: "Public network assignment"
|
|
group: "network"
|
|
restrictions:
|
|
- condition: "cluster:net_provider != 'neutron'"
|
|
action: "hide"
|
|
assign_to_all_nodes:
|
|
value: false
|
|
label: "Assign public network to all nodes"
|
|
description: "When disabled, public network will be assigned to controllers only"
|
|
weight: 10
|
|
type: "checkbox"
|
|
neutron_advanced_configuration:
|
|
metadata:
|
|
weight: 20
|
|
label: "Neutron Advanced Configuration"
|
|
group: "network"
|
|
restrictions:
|
|
- condition: "cluster:net_provider != 'neutron'"
|
|
action: "hide"
|
|
neutron_l2_pop:
|
|
value: false
|
|
label: "Neutron L2 population"
|
|
description: "Enable L2 population mechanism in Neutron"
|
|
weight: 10
|
|
type: "checkbox"
|
|
restrictions:
|
|
- condition: "networking_parameters:segmentation_type == 'vlan'"
|
|
action: "hide"
|
|
neutron_dvr:
|
|
value: false
|
|
label: "Neutron DVR"
|
|
description: "Enable Distributed Virtual Routers in Neutron"
|
|
weight: 20
|
|
type: "checkbox"
|
|
restrictions:
|
|
- "networking_parameters:segmentation_type != 'vlan' and settings:neutron_advanced_configuration.neutron_l2_pop.value == false": "DVR requires L2 population to be enabled."
|
|
neutron_l3_ha:
|
|
value: false
|
|
label: "Neutron L3 HA"
|
|
description: |
|
|
Enable High Availability features for Virtual Routers in Neutron
|
|
Requires at least 2 Controller nodes to function properly
|
|
weight: 30
|
|
type: "checkbox"
|
|
restrictions:
|
|
- condition: "settings:neutron_advanced_configuration.neutron_dvr.value == true"
|
|
message: "Neutron DVR must be disabled in order to use Neutron L3 HA"
|
|
neutron_qos:
|
|
value: false
|
|
label: "Neutron QoS"
|
|
description: "Enable Neutron QoS advanced service plug-in"
|
|
weight: 40
|
|
type: "checkbox"
|
|
corosync:
|
|
metadata:
|
|
label: "Corosync"
|
|
weight: 50
|
|
group: "general"
|
|
restrictions:
|
|
- condition: "true"
|
|
action: "hide"
|
|
group:
|
|
value: "226.94.1.1"
|
|
label: "Group"
|
|
description: ""
|
|
weight: 10
|
|
type: "text"
|
|
port:
|
|
value: "12000"
|
|
label: "Port"
|
|
description: ""
|
|
weight: 20
|
|
type: "text"
|
|
verified:
|
|
value: false
|
|
label: "Need to pass network verification."
|
|
description: "Set True only if multicast is configured correctly on router."
|
|
weight: 10
|
|
type: "checkbox"
|
|
syslog:
|
|
metadata:
|
|
label: "Syslog"
|
|
weight: 50
|
|
group: "logging"
|
|
toggleable: true
|
|
enabled: false
|
|
syslog_transport:
|
|
value: "tcp"
|
|
values:
|
|
- data: "udp"
|
|
label: "UDP"
|
|
description: ""
|
|
- data: "tcp"
|
|
label: "TCP"
|
|
description: ""
|
|
label: "Syslog transport protocol"
|
|
weight: 30
|
|
type: "radio"
|
|
syslog_server:
|
|
value: ""
|
|
label: "Hostname"
|
|
description: "Remote syslog hostname"
|
|
weight: 10
|
|
type: "text"
|
|
regex:
|
|
source: &ipv4_or_hostname_regex '^[a-zA-Z\d]+[-\.\da-zA-Z]*$'
|
|
error: "Invalid hostname"
|
|
syslog_port:
|
|
value: "514"
|
|
label: "Port"
|
|
description: "Remote syslog port"
|
|
weight: 20
|
|
type: "text"
|
|
regex:
|
|
source: "^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$"
|
|
error: "Invalid syslog port"
|
|
provision:
|
|
metadata:
|
|
label: "Provision"
|
|
weight: 80
|
|
group: "general"
|
|
restrictions:
|
|
- condition: "true"
|
|
action: "hide"
|
|
method:
|
|
type: "hidden"
|
|
value: "image"
|
|
cgroups:
|
|
metadata:
|
|
label: "Cgroups conguration for services"
|
|
weight: 90
|
|
group: "general"
|
|
always_editable: true
|
|
restrictions:
|
|
- condition: "true"
|
|
action: "hide"
|
|
external_dns:
|
|
metadata:
|
|
label: "Host OS DNS Servers"
|
|
weight: 30
|
|
group: "network"
|
|
dns_list:
|
|
value:
|
|
generator: "from_settings"
|
|
generator_arg: "DNS_UPSTREAM"
|
|
label: "DNS list"
|
|
description: "List of upstream DNS servers"
|
|
weight: 10
|
|
type: "text_list"
|
|
max: 3
|
|
regex:
|
|
source: &ipv4_regex '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'
|
|
error: "Invalid IP address"
|
|
external_ntp:
|
|
metadata:
|
|
label: "Host OS NTP Servers"
|
|
weight: 40
|
|
group: "network"
|
|
ntp_list:
|
|
value:
|
|
generator: "from_settings"
|
|
generator_arg: "NTP_UPSTREAM"
|
|
label: "NTP server list"
|
|
description: "List of upstream NTP servers"
|
|
weight: 10
|
|
type: "text_list"
|
|
regex:
|
|
source: *ipv4_or_hostname_regex
|
|
error: "Invalid NTP server"
|
|
public_ssl:
|
|
metadata:
|
|
label: "Public TLS"
|
|
weight: 110
|
|
group: "security"
|
|
services:
|
|
value: false
|
|
label: "TLS for OpenStack public endpoints"
|
|
description: "Enable TLS termination on HAProxy for OpenStack services"
|
|
weight: 10
|
|
type: "checkbox"
|
|
horizon:
|
|
value: false
|
|
label: "HTTPS for Horizon"
|
|
description: "Secure access to Horizon enabling HTTPS instead of HTTP"
|
|
weight: 20
|
|
type: "checkbox"
|
|
restrictions:
|
|
- "settings:public_ssl.services.value == false": "TLS for OpenStack public endpoints should be enabled"
|
|
cert_source:
|
|
type: "radio"
|
|
weight: 30
|
|
label: "Select source for certificate"
|
|
description: "From where we'll get certificate and private key"
|
|
value: "self_signed"
|
|
values:
|
|
- data: "self_signed"
|
|
label: "Self-signed"
|
|
description: "Generate private key and certificate that will be signed by this key"
|
|
- data: "user_uploaded"
|
|
label: "I have my own keypair with certificate"
|
|
description: "Use pre-generated key and certificate"
|
|
restrictions:
|
|
- condition: "settings:public_ssl.horizon.value == false and settings:public_ssl.services.value == false"
|
|
action: "hide"
|
|
cert_data:
|
|
value: ""
|
|
label: "Certificate"
|
|
description: "Certificate and private key data, concatenated into a single file"
|
|
weight: 40
|
|
type: "file"
|
|
restrictions:
|
|
- condition: "(settings:public_ssl.cert_source.value != 'user_uploaded') or (settings:public_ssl.horizon.value == false and settings:public_ssl.services.value == false)"
|
|
action: "hide"
|
|
hostname:
|
|
value: "public.fuel.local"
|
|
label: "DNS hostname for public TLS endpoints"
|
|
description: "Your DNS entries should point to this name. Self-signed certificates also will use this hostname"
|
|
weight: 50
|
|
type: "text"
|
|
restrictions:
|
|
- condition: "settings:public_ssl.horizon.value == false and settings:public_ssl.services.value == false"
|
|
action: "hide"
|
|
kernel_params:
|
|
metadata:
|
|
label: "Kernel parameters"
|
|
weight: 60
|
|
group: "general"
|
|
kernel:
|
|
value: "console=tty0 biosdevname=0 rootdelay=90 nomodeset"
|
|
label: "Initial parameters"
|
|
description: "Default kernel parameters"
|
|
type: "text"
|
|
storage:
|
|
metadata:
|
|
label: "Storage Backends"
|
|
weight: 60
|
|
group: "storage"
|
|
volumes_lvm:
|
|
value: true
|
|
label: "Cinder LVM over iSCSI for volumes"
|
|
description: "It is recommended to have at least one Cinder node."
|
|
weight: 10
|
|
type: "checkbox"
|
|
restrictions:
|
|
- "settings:storage.volumes_ceph.value == true"
|
|
volumes_block_device:
|
|
value: false
|
|
label: "Cinder Block device driver"
|
|
description: "High performance block device storage. It is recommended to have at least one Cinder Block Device"
|
|
weight: 15
|
|
type: "checkbox"
|
|
restrictions:
|
|
- "settings:storage.volumes_ceph.value == true"
|
|
volumes_ceph:
|
|
value: false
|
|
label: "Ceph RBD for volumes (Cinder)"
|
|
description: "Configures Cinder to store volumes in Ceph RBD images."
|
|
weight: 20
|
|
type: "checkbox"
|
|
restrictions:
|
|
- "settings:storage.volumes_lvm.value == true or settings:storage.volumes_block_device.value == true"
|
|
images_ceph:
|
|
value: false
|
|
label: "Ceph RBD for images (Glance)"
|
|
description: "Configures Glance to use the Ceph RBD backend to store images. If enabled, this option will prevent Swift from installing."
|
|
weight: 30
|
|
type: "checkbox"
|
|
restrictions:
|
|
- "settings:storage.images_vcenter.value == true": "Only one Glance backend could be selected."
|
|
images_vcenter:
|
|
value: false
|
|
label: "VMware vCenter/ESXi datastore for images (Glance)"
|
|
description: "Configures Glance to use the vCenter/ESXi backend to store images. If enabled, this option will prevent Swift from installing."
|
|
weight: 35
|
|
type: "checkbox"
|
|
restrictions:
|
|
- condition: "settings:common.use_vcenter.value != true"
|
|
action: "hide"
|
|
- condition: "settings:storage.images_ceph.value == true"
|
|
message: "Only one Glance backend could be selected."
|
|
ephemeral_ceph:
|
|
value: false
|
|
label: "Ceph RBD for ephemeral volumes (Nova)"
|
|
description: "Configures Nova to store ephemeral volumes in RBD. This works best if Ceph is enabled for volumes and images, too. Enables live migration of all types of Ceph backed VMs (without this option, live migration will only work with VMs launched from Cinder volumes)."
|
|
weight: 75
|
|
type: "checkbox"
|
|
objects_ceph:
|
|
value: false
|
|
label: "Ceph RadosGW for objects (Swift API)"
|
|
description: "Configures RadosGW front end for Ceph RBD. This exposes S3 and Swift API Interfaces. If enabled, this option will prevent Swift from installing."
|
|
weight: 80
|
|
type: "checkbox"
|
|
osd_pool_size:
|
|
value: "3"
|
|
label: "Ceph object replication factor"
|
|
description: "Configures the default number of object replicas in Ceph. This number must be equal to or lower than the number of deployed 'Ceph OSD' nodes."
|
|
weight: 85
|
|
type: "text"
|
|
regex:
|
|
source: '^[1-9]\d*$'
|
|
error: "Invalid number"
|
|
fsid:
|
|
type: "hidden"
|
|
value:
|
|
generator: "uuid4"
|
|
mon_key:
|
|
type: "hidden"
|
|
value:
|
|
generator: "cephx_key"
|
|
admin_key:
|
|
type: "hidden"
|
|
value:
|
|
generator: "cephx_key"
|
|
bootstrap_osd_key:
|
|
type: "hidden"
|
|
value:
|
|
generator: "cephx_key"
|
|
radosgw_key:
|
|
type: "hidden"
|
|
value:
|
|
generator: "cephx_key"
|
|
generated:
|
|
mysql:
|
|
root_password:
|
|
generator: "password"
|
|
wsrep_password:
|
|
generator: "password"
|
|
keystone:
|
|
db_password:
|
|
generator: "password"
|
|
admin_token:
|
|
generator: "password"
|
|
glance:
|
|
db_password:
|
|
generator: "password"
|
|
user_password:
|
|
generator: "password"
|
|
glance_glare:
|
|
user_password:
|
|
generator: "password"
|
|
nova:
|
|
db_password:
|
|
generator: "password"
|
|
user_password:
|
|
generator: "password"
|
|
state_path: "/var/lib/nova"
|
|
rabbit:
|
|
password:
|
|
generator: "password"
|
|
swift:
|
|
user_password:
|
|
generator: "password"
|
|
cinder:
|
|
db_password:
|
|
generator: "password"
|
|
user_password:
|
|
generator: "password"
|
|
fixed_key:
|
|
generator: "hexstring"
|
|
generator_arg: "64"
|
|
horizon:
|
|
secret_key:
|
|
generator: "hexstring"
|
|
generator_arg: "64"
|
|
base_syslog:
|
|
syslog_server:
|
|
generator: "ip"
|
|
generator_arg: "admin"
|
|
syslog_port:
|
|
generator: "identical"
|
|
generator_arg: "514"
|
|
cobbler:
|
|
profile:
|
|
generator: "identical"
|
|
sahara:
|
|
user_password:
|
|
generator: "password"
|
|
db_password:
|
|
generator: "password"
|
|
murano:
|
|
user_password:
|
|
generator: "password"
|
|
rabbit_password:
|
|
generator: "password"
|
|
db_password:
|
|
generator: "password"
|
|
murano-cfapi:
|
|
user_password:
|
|
generator: "password"
|
|
rabbit_password:
|
|
generator: "password"
|
|
db_password:
|
|
generator: "password"
|
|
aodh:
|
|
user_password:
|
|
generator: "password"
|
|
db_password:
|
|
generator: "password"
|
|
heat:
|
|
user_password:
|
|
generator: "password"
|
|
rabbit_password:
|
|
generator: "password"
|
|
db_password:
|
|
generator: "password"
|
|
auth_encryption_key:
|
|
generator: "hexstring"
|
|
generator_arg: "32"
|
|
ceilometer:
|
|
db_password:
|
|
generator: "password"
|
|
user_password:
|
|
generator: "password"
|
|
metering_secret:
|
|
generator: "password"
|
|
quantum_settings:
|
|
database:
|
|
passwd:
|
|
generator: "password"
|
|
keystone:
|
|
admin_password:
|
|
generator: "password"
|
|
metadata:
|
|
metadata_proxy_shared_secret:
|
|
generator: "password"
|
|
ironic:
|
|
user_password:
|
|
generator: "password"
|
|
db_password:
|
|
generator: "password"
|
|
swift_tempurl_key:
|
|
generator: "password"
|
|
puppet:
|
|
manifests: "rsync://{settings.MASTER_IP}:/puppet/{cluster.release.version}/manifests/"
|
|
modules: "rsync://{settings.MASTER_IP}:/puppet/{cluster.release.version}/modules/"
|
|
deployed_before:
|
|
value: false
|
|
vmware_attributes_metadata:
|
|
editable:
|
|
metadata:
|
|
-
|
|
name: "availability_zones"
|
|
type: "array"
|
|
restrictions:
|
|
- condition: "settings:common.use_vcenter.value == false"
|
|
message: "VMware vCenter not enabled for cluster"
|
|
fields:
|
|
-
|
|
name: "az_name"
|
|
type: "text"
|
|
label: "Availability zone"
|
|
description: "Availability zone name"
|
|
regex:
|
|
source: &availability_zone_blacklist '^(?!nova$)\w+$'
|
|
error: "Invalid availability zone name"
|
|
-
|
|
name: "vcenter_host"
|
|
type: "text"
|
|
label: "vCenter host"
|
|
description: "vCenter host or IP"
|
|
regex:
|
|
source: *ipv4_or_hostname_regex
|
|
error: "Invalid vCenter host"
|
|
-
|
|
name: "vcenter_username"
|
|
type: "text"
|
|
label: "vCenter username"
|
|
description: "vCenter username"
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Empty vCenter username"
|
|
-
|
|
name: "vcenter_password"
|
|
type: "password"
|
|
label: "vCenter password"
|
|
description: "vCenter password"
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Empty vCenter password"
|
|
-
|
|
name: "nova_computes"
|
|
type: "array"
|
|
editable_for_deployed: true
|
|
fields:
|
|
-
|
|
name: "vsphere_cluster"
|
|
type: "text"
|
|
label: "vSphere cluster"
|
|
description: "vSphere cluster"
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Invalid vSphere cluster"
|
|
-
|
|
name: "service_name"
|
|
type: "text"
|
|
label: "Service name"
|
|
description: "Service name"
|
|
regex:
|
|
source: '^\w[\w\-]+$'
|
|
error: "Invalid service name"
|
|
-
|
|
name: "datastore_regex"
|
|
type: "text"
|
|
label: "Datastore regex"
|
|
description: "Datastore regex"
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Invalid datastore regex"
|
|
-
|
|
name: "target_node"
|
|
type: "select"
|
|
label: "Target node"
|
|
description: "Target node for nova-compute service"
|
|
-
|
|
name: "glance"
|
|
type: "object"
|
|
restrictions:
|
|
- condition: "settings:storage.images_vcenter.value == false or settings:common.use_vcenter.value == false"
|
|
message: "VMware vCenter datastore for images is not enabled in Settings tab"
|
|
fields:
|
|
-
|
|
name: "vcenter_host"
|
|
type: "text"
|
|
label: "vCenter host"
|
|
description: "vCenter host or IP"
|
|
regex:
|
|
source: *ipv4_or_hostname_regex
|
|
error: "Invalid vCenter host"
|
|
-
|
|
name: "vcenter_username"
|
|
type: "text"
|
|
label: "vCenter username"
|
|
description: "vCenter username"
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Empty vCenter username"
|
|
-
|
|
name: "vcenter_password"
|
|
type: "password"
|
|
label: "vCenter password"
|
|
description: "vCenter password"
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Empty vCenter password"
|
|
-
|
|
name: "datacenter"
|
|
type: "text"
|
|
label: "Datacenter"
|
|
description: "Datacenter"
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Invalid datacenter"
|
|
-
|
|
name: "datastore"
|
|
type: "text"
|
|
label: "Datastore"
|
|
description: "Datastore"
|
|
regex:
|
|
source: *non_empty_string
|
|
error: "Invalid datastore"
|
|
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: ""
|
|
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
|
|
requires:
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:tun
|
|
bind: !!pairs
|
|
- "cluster:net_provider": "neutron"
|
|
- "cluster:net_segment_type": "tun"
|
|
weight: 10
|
|
label: "common.network.neutron_tun"
|
|
description: "dialog.create_cluster_wizard.network.neutron_tun_description"
|
|
compatible:
|
|
- name: network:neutron:core:ml2
|
|
- name: hypervisor:qemu
|
|
incompatible:
|
|
- name: network:neutron:ml2:vlan
|
|
message: "dialog.create_cluster_wizard.network.vlan_tun_alert"
|
|
- name: hypervisor:vmware
|
|
message: "dialog.create_cluster_wizard.network.hypervisor_alert"
|
|
- name: additional_service:ironic
|
|
message: "dialog.create_cluster_wizard.additional.ironic_network_mode_alert"
|
|
requires:
|
|
- name: network:neutron:core:ml2
|
|
- name: storage:block:lvm
|
|
label: "dialog.create_cluster_wizard.storage.lvm"
|
|
description: "dialog.create_cluster_wizard.storage.default_provider"
|
|
default: true
|
|
weight: 5
|
|
bind:
|
|
- "settings:storage.volumes_lvm.value"
|
|
compatible:
|
|
- name: hypervisor:qemu
|
|
- name: hypervisor:vmware
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:vlan
|
|
- name: network:neutron:ml2:tun
|
|
incompatible:
|
|
- name: storage:block:ceph
|
|
message: "LVM not compatible with Ceph"
|
|
- name: storage:block:ceph
|
|
label: "dialog.create_cluster_wizard.storage.ceph"
|
|
description: "dialog.create_cluster_wizard.storage.ceph_block"
|
|
weight: 10
|
|
bind: !!pairs
|
|
- "settings:storage.volumes_ceph.value": true
|
|
- "settings:storage.volumes_lvm.value": false
|
|
compatible:
|
|
- name: hypervisor:qemu
|
|
- name: hypervisor:vmware
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:vlan
|
|
- name: network:neutron:ml2:tun
|
|
- name: storage:object:ceph
|
|
- name: storage:ephemeral:ceph
|
|
- name: storage:image:ceph
|
|
incompatible:
|
|
- name: storage:block:lvm
|
|
message: "Ceph not compatible with LVM"
|
|
- name: storage:object:ceph
|
|
label: "dialog.create_cluster_wizard.storage.ceph"
|
|
description: "dialog.create_cluster_wizard.storage.ceph_object"
|
|
weight: 10
|
|
bind:
|
|
- "settings:storage.objects_ceph.value"
|
|
compatible:
|
|
- name: hypervisor:qemu
|
|
- name: hypervisor:vmware
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:vlan
|
|
- name: network:neutron:ml2:tun
|
|
- name: storage:block:lvm
|
|
- name: storage:block:ceph
|
|
- name: storage:ephemeral:ceph
|
|
- name: storage:image:ceph
|
|
- name: storage:ephemeral:ceph
|
|
label: "dialog.create_cluster_wizard.storage.ceph"
|
|
description: "dialog.create_cluster_wizard.storage.ceph_ephemeral"
|
|
weight: 10
|
|
bind:
|
|
- "settings:storage.ephemeral_ceph.value"
|
|
compatible:
|
|
- name: hypervisor:qemu
|
|
- name: hypervisor:vmware
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:vlan
|
|
- name: network:neutron:ml2:tun
|
|
- name: storage:block:lvm
|
|
- name: storage:block:ceph
|
|
- name: storage:object:ceph
|
|
- name: storage:image:ceph
|
|
- name: storage:image:ceph
|
|
label: "dialog.create_cluster_wizard.storage.ceph"
|
|
description: "dialog.create_cluster_wizard.storage.ceph_image"
|
|
weight: 10
|
|
bind:
|
|
- "settings:storage.images_ceph.value"
|
|
compatible:
|
|
- name: hypervisor:qemu
|
|
- name: hypervisor:vmware
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:vlan
|
|
- name: network:neutron:ml2:tun
|
|
- name: storage:block:lvm
|
|
- name: storage:block:ceph
|
|
- name: storage:object:ceph
|
|
- name: storage:ephemeral:ceph
|
|
- name: additional_service:sahara
|
|
bind:
|
|
- "settings:additional_components.sahara.value"
|
|
weight: 10
|
|
label: "dialog.create_cluster_wizard.additional.install_sahara"
|
|
description: "dialog.create_cluster_wizard.additional.install_sahara_description"
|
|
compatible:
|
|
- name: hypervisor:qemu
|
|
- name: hypervisor:vmware
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:vlan
|
|
- name: network:neutron:ml2:tun
|
|
- name: storage:block:lvm
|
|
- name: storage:block:ceph
|
|
- name: storage:object:ceph
|
|
- name: storage:ephemeral:ceph
|
|
- name: storage:image:ceph
|
|
- name: additional_service:sahara
|
|
- name: additional_service:murano
|
|
- name: additional_service:ceilometer
|
|
- name: additional_service:ironic
|
|
- name: additional_service:murano
|
|
bind:
|
|
- "settings:additional_components.murano.value"
|
|
weight: 20
|
|
label: "dialog.create_cluster_wizard.additional.install_murano"
|
|
description: "dialog.create_cluster_wizard.additional.install_murano_description"
|
|
compatible:
|
|
- name: hypervisor:qemu
|
|
- name: hypervisor:vmware
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:vlan
|
|
- name: network:neutron:ml2:tun
|
|
- name: storage:block:lvm
|
|
- name: storage:block:ceph
|
|
- name: storage:object:ceph
|
|
- name: storage:ephemeral:ceph
|
|
- name: storage:image:ceph
|
|
- name: additional_service:sahara
|
|
- name: additional_service:ceilometer
|
|
- name: additional_service:ironic
|
|
- name: additional_service:ceilometer
|
|
bind:
|
|
- "settings:additional_components.ceilometer.value"
|
|
weight: 30
|
|
label: "dialog.create_cluster_wizard.additional.install_ceilometer"
|
|
description: "dialog.create_cluster_wizard.additional.install_ceilometer_description"
|
|
compatible:
|
|
- name: hypervisor:qemu
|
|
- name: hypervisor:vmware
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:vlan
|
|
- name: network:neutron:ml2:tun
|
|
- name: storage:block:lvm
|
|
- name: storage:block:ceph
|
|
- name: storage:object:ceph
|
|
- name: storage:ephemeral:ceph
|
|
- name: storage:image:ceph
|
|
- name: additional_service:sahara
|
|
- name: additional_service:murano
|
|
- name: additional_service:ironic
|
|
- name: additional_service:ironic
|
|
bind:
|
|
- "settings:additional_components.ironic.value"
|
|
weight: 40
|
|
label: "dialog.create_cluster_wizard.additional.install_ironic"
|
|
description: "dialog.create_cluster_wizard.additional.install_ironic_description"
|
|
compatible:
|
|
- name: hypervisor:qemu
|
|
- name: network:neutron:core:ml2
|
|
- name: network:neutron:ml2:vlan
|
|
- name: storage:block:lvm
|
|
- name: storage:block:ceph
|
|
- name: storage:object:ceph
|
|
- name: storage:ephemeral:ceph
|
|
- name: storage:image:ceph
|
|
- name: additional_service:sahara
|
|
- name: additional_service:murano
|
|
- name: additional_service:ceilometer
|
|
incompatible:
|
|
- name: network:neutron:ml2:tun
|
|
message: "dialog.create_cluster_wizard.additional.ironic_network_mode_alert"
|
|
modes: ['ha_compact']
|
|
extensions: ['volume_manager']
|
|
- pk: 1
|
|
extend: *base_release
|
|
fields:
|
|
name: "Mitaka on CentOS 6.5"
|
|
state: "unavailable"
|
|
version: "mitaka-9.0"
|
|
operating_system: "CentOS"
|
|
description: "This option will install the OpenStack Mitaka packages using a CentOS based operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment."
|
|
attributes_metadata:
|
|
editable:
|
|
kernel_params:
|
|
kernel:
|
|
value: "console=tty0 biosdevname=0 crashkernel=none rootdelay=90 nomodeset"
|
|
use_fedora_lt:
|
|
metadata:
|
|
label: "Use Fedora longterm kernel"
|
|
weight: 50
|
|
kernel:
|
|
label: "Select kernel"
|
|
weight: 55
|
|
type: "radio"
|
|
value: "default_kernel"
|
|
values:
|
|
- data: "default_kernel"
|
|
label: "CentOS default kernel"
|
|
description: "Install default 2.6.32 kernel."
|
|
- data: "fedora_lt_kernel"
|
|
label: "Fedora LT kernel"
|
|
description: "EXPERIMENTAL: Install the Fedora 3.10 longterm kernel instead of the default 2.6.32 kernel. This kernel may not work with all hardware platforms, use with caution."
|
|
repo_setup:
|
|
metadata:
|
|
label: "Repositories"
|
|
weight: 50
|
|
group: "general"
|
|
always_editable: true
|
|
repos:
|
|
type: "custom_repo_configuration"
|
|
extra_priority: null
|
|
description: |
|
|
To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-package-updates --help" on the Fuel master node.
|
|
Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror.
|
|
For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-9.0/reference-architecture.html#fuel-rep-mirror).
|
|
value:
|
|
- type: "rpm"
|
|
name: "mos"
|
|
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/centos/x86_64"
|
|
priority: null
|
|
- type: "rpm"
|
|
name: "mos-updates"
|
|
uri: "http://mirror.fuel-infra.org/mos-repos/centos/mos{cluster.release.environment_version}-centos7-fuel/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-fuel/security/x86_64"
|
|
priority: null
|
|
- type: "rpm"
|
|
name: "Auxiliary"
|
|
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/centos/auxiliary"
|
|
priority: 15
|
|
generated:
|
|
cobbler:
|
|
profile:
|
|
generator_arg: "centos-x86_64"
|
|
provision:
|
|
image_data:
|
|
/:
|
|
uri: "http://{settings.MASTER_IP}:8080/targetimages/centos_65_x86_64.img.gz"
|
|
format: "ext4"
|
|
container: "gzip"
|
|
/boot:
|
|
uri: "http://{settings.MASTER_IP}:8080/targetimages/centos_65_x86_64-boot.img.gz"
|
|
format: "ext2"
|
|
container: "gzip"
|
|
node_attributes: {}
|
|
- &ubuntu_release
|
|
pk: 2
|
|
extend: *base_release
|
|
fields:
|
|
name: "Mitaka on Ubuntu 14.04"
|
|
version: "mitaka-9.0"
|
|
operating_system: "Ubuntu"
|
|
description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment."
|
|
attributes_metadata:
|
|
editable:
|
|
kernel_params:
|
|
kernel:
|
|
value: "console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset"
|
|
repo_setup:
|
|
metadata:
|
|
label: "Repositories"
|
|
weight: 50
|
|
group: "general"
|
|
always_editable: true
|
|
repos:
|
|
type: "custom_repo_configuration"
|
|
extra_priority: null
|
|
description: |
|
|
Please note: the first repository will be considered the operating system mirror that will be used during node provisioning.
|
|
To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node.
|
|
Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror.
|
|
For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-9.0/operations.html#external-ubuntu-ops).
|
|
value:
|
|
- type: "deb"
|
|
name: "ubuntu"
|
|
uri: "http://archive.ubuntu.com/ubuntu/"
|
|
suite: "trusty"
|
|
section: "main universe multiverse"
|
|
priority: null
|
|
- type: "deb"
|
|
name: "ubuntu-updates"
|
|
uri: "http://archive.ubuntu.com/ubuntu/"
|
|
suite: "trusty-updates"
|
|
section: "main universe multiverse"
|
|
priority: null
|
|
- type: "deb"
|
|
name: "ubuntu-security"
|
|
uri: "http://archive.ubuntu.com/ubuntu/"
|
|
suite: "trusty-security"
|
|
section: "main universe multiverse"
|
|
priority: null
|
|
- type: "deb"
|
|
name: "mos"
|
|
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64"
|
|
suite: "mos9.0"
|
|
section: "main restricted"
|
|
priority: 1050
|
|
- type: "deb"
|
|
name: "mos-updates"
|
|
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
|
|
suite: "mos9.0-updates"
|
|
section: "main restricted"
|
|
priority: 1050
|
|
- type: "deb"
|
|
name: "mos-security"
|
|
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
|
|
suite: "mos9.0-security"
|
|
section: "main restricted"
|
|
priority: 1050
|
|
- type: "deb"
|
|
name: "mos-holdback"
|
|
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
|
|
suite: "mos9.0-holdback"
|
|
section: "main restricted"
|
|
priority: 1100
|
|
- type: "deb"
|
|
name: "Auxiliary"
|
|
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary"
|
|
suite: "auxiliary"
|
|
section: "main restricted"
|
|
priority: 1150
|
|
provision:
|
|
metadata:
|
|
label: "Provision"
|
|
weight: 80
|
|
group: "general"
|
|
restrictions:
|
|
- condition: "false"
|
|
action: "hide"
|
|
packages:
|
|
label: "Initial packages"
|
|
weight: 10
|
|
type: "textarea"
|
|
value: |
|
|
acl
|
|
anacron
|
|
bash-completion
|
|
bridge-utils
|
|
bsdmainutils
|
|
build-essential
|
|
cloud-init
|
|
curl
|
|
daemonize
|
|
debconf-utils
|
|
gdisk
|
|
grub-pc
|
|
hpsa-dkms
|
|
hwloc
|
|
i40e-dkms
|
|
linux-firmware
|
|
linux-firmware-nonfree
|
|
linux-headers-generic-lts-trusty
|
|
linux-image-generic-lts-trusty
|
|
lvm2
|
|
mcollective
|
|
mdadm
|
|
multipath-tools
|
|
multipath-tools-boot
|
|
nailgun-agent
|
|
nailgun-mcagents
|
|
network-checker
|
|
ntp
|
|
openssh-client
|
|
openssh-server
|
|
puppet
|
|
python-amqp
|
|
ruby-augeas
|
|
ruby-ipaddress
|
|
ruby-json
|
|
ruby-netaddr
|
|
ruby-openstack
|
|
ruby-shadow
|
|
ruby-stomp
|
|
telnet
|
|
ubuntu-minimal
|
|
ubuntu-standard
|
|
uuid-runtime
|
|
vim
|
|
virt-what
|
|
vlan
|
|
generated:
|
|
repo_setup:
|
|
installer_kernel:
|
|
remote_relative: "dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux"
|
|
local: "/var/www/nailgun/ubuntu/x86_64/images/linux"
|
|
installer_initrd:
|
|
remote_relative: "dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz"
|
|
local: "/var/www/nailgun/ubuntu/x86_64/images/initrd.gz"
|
|
cobbler:
|
|
profile:
|
|
generator_arg: "ubuntu_1404_x86_64"
|
|
provision:
|
|
codename: "trusty"
|
|
image_data:
|
|
/:
|
|
uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_amd64.img.gz"
|
|
format: "ext4"
|
|
container: "gzip"
|
|
/boot:
|
|
uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_amd64-boot.img.gz"
|
|
format: "ext2"
|
|
container: "gzip"
|
|
node_attributes:
|
|
cpu_pinning:
|
|
metadata:
|
|
group: "nfv"
|
|
label: "CPU pinning"
|
|
weight: 10
|
|
restrictions:
|
|
- condition: "settings:common.libvirt_type.value != 'kvm'"
|
|
action: "hide"
|
|
nova:
|
|
weight: 10
|
|
description: "Number of CPUs for Nova usage"
|
|
label: "Nova CPU pinning"
|
|
type: "text"
|
|
value: "0"
|
|
regex:
|
|
source: '^\d+$'
|
|
error: "Incorrect value"
|
|
dpdk:
|
|
weight: 20
|
|
description: "Number of CPUs for DPDK usage"
|
|
label: "DPDK CPU pinning"
|
|
type: "text"
|
|
value: "0"
|
|
regex:
|
|
source: '^\d+$'
|
|
error: "Incorrect value"
|
|
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: "text"
|
|
value: "0"
|
|
regex:
|
|
source: '^\d+$'
|
|
error: "Incorrect value"
|
|
networks_metadata:
|
|
dpdk_drivers:
|
|
# Sources:
|
|
# http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/known_issues.rst?h=releases&id=7173acefc7cfdfbbb9b91fcba1c9a67adb4c07c9#n168
|
|
# http://dpdk.org/browse/dpdk/tree/lib/librte_eal/common/include/rte_pci_dev_ids.h?h=releases&id=7173acefc7cfdfbbb9b91fcba1c9a67adb4c07c9
|
|
igb_uio: [
|
|
"8086:100e", "8086:100f", "8086:1011", "8086:1010", "8086:1012",
|
|
"8086:101d", "8086:105e", "8086:105f", "8086:1060", "8086:10d9",
|
|
"8086:10da", "8086:10a4", "8086:10d5", "8086:10a5", "8086:10bc",
|
|
"8086:107d", "8086:107e", "8086:107f", "8086:10b9", "8086:109a",
|
|
"8086:10d3", "8086:10f6", "8086:150c", "8086:10c9", "8086:10e6",
|
|
"8086:10e7", "8086:10e8", "8086:1526", "8086:150a", "8086:1518",
|
|
"8086:150d", "8086:10a7", "8086:10a9", "8086:10d6", "8086:150e",
|
|
"8086:150f", "8086:1510", "8086:1511", "8086:1516", "8086:1527",
|
|
"8086:1521", "8086:1522", "8086:1523", "8086:1524", "8086:1546",
|
|
"8086:1533", "8086:1534", "8086:1535", "8086:1536", "8086:1537",
|
|
"8086:1538", "8086:1539", "8086:1f40", "8086:1f41", "8086:1f45",
|
|
"8086:0438", "8086:043a", "8086:043c", "8086:0440", "8086:10b6",
|
|
"8086:1508", "8086:10c6", "8086:10c8", "8086:150b", "8086:10db",
|
|
"8086:10dd", "8086:10ec", "8086:10f1", "8086:10f4", "8086:10f7",
|
|
"8086:1514", "8086:1517", "8086:10f9", "8086:10fb", "8086:11a9",
|
|
"8086:1f72", "8086:17d0", "8086:0470", "8086:152a", "8086:1529",
|
|
"8086:1507", "8086:154d", "8086:154a", "8086:1558", "8086:1557",
|
|
"8086:10fc", "8086:151c", "8086:154f", "8086:1528", "8086:1560",
|
|
"8086:15ae", "8086:1563", "8086:15aa", "8086:15ab", "8086:155d",
|
|
"8086:1572", "8086:1574", "8086:157f", "8086:1580", "8086:1581",
|
|
"8086:1583", "8086:1584", "8086:1585", "8086:1586", "8086:15a4",
|
|
"8086:10ca", "8086:152d", "8086:1520", "8086:152f", "8086:10ed",
|
|
"8086:152e", "8086:1515", "8086:1530", "8086:1564", "8086:1565",
|
|
"8086:15a8", "8086:15a9", "8086:154c", "8086:1571", "1af4:1000",
|
|
"15ad:07b0", "8086:15a5", "1137:0043", "1137:0071", "14e4:168a",
|
|
"14e4:16a9", "14e4:164f", "14e4:168e", "14e4:16af", "14e4:163d",
|
|
"14e4:163f", "14e4:168d", "14e4:16a1", "14e4:16a2", "14e4:16ad",
|
|
"14e4:16ae", "14e4:163e", "14e4:16a4"
|
|
]
|
|
- pk: 3
|
|
extend: *ubuntu_release
|
|
fields:
|
|
name: "Mitaka on Ubuntu+UCA 14.04"
|
|
version: "mitaka-9.0"
|
|
description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment."
|
|
attributes_metadata:
|
|
editable:
|
|
repo_setup:
|
|
repos:
|
|
type: "custom_repo_configuration"
|
|
extra_priority: null
|
|
description: |
|
|
Please note: the first repository will be considered the operating system mirror that will be used during node provisioning.
|
|
To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node.
|
|
Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror.
|
|
For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-9.0/operations.html#external-ubuntu-ops).
|
|
value:
|
|
- type: "deb"
|
|
name: "ubuntu"
|
|
uri: "http://archive.ubuntu.com/ubuntu/"
|
|
suite: "trusty"
|
|
section: "main universe multiverse"
|
|
priority: null
|
|
- type: "deb"
|
|
name: "ubuntu-updates"
|
|
uri: "http://archive.ubuntu.com/ubuntu/"
|
|
suite: "trusty-updates"
|
|
section: "main universe multiverse"
|
|
priority: null
|
|
- type: "deb"
|
|
name: "ubuntu-security"
|
|
uri: "http://archive.ubuntu.com/ubuntu/"
|
|
suite: "trusty-security"
|
|
section: "main universe multiverse"
|
|
priority: null
|
|
- type: "deb"
|
|
name: "uca"
|
|
uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
|
|
suite: "trusty-updates/mitaka"
|
|
section: "main"
|
|
priority: 1080
|
|
- type: "deb"
|
|
name: "uca-proposed"
|
|
uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
|
|
suite: "trusty-proposed/mitaka"
|
|
section: "main"
|
|
priority: 1080
|
|
- type: "deb"
|
|
name: "mos"
|
|
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64"
|
|
suite: "mos9.0"
|
|
section: "main restricted"
|
|
priority: 1050
|
|
- type: "deb"
|
|
name: "mos-updates"
|
|
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
|
|
suite: "mos9.0-updates"
|
|
section: "main restricted"
|
|
priority: 1050
|
|
- type: "deb"
|
|
name: "mos-security"
|
|
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
|
|
suite: "mos9.0-security"
|
|
section: "main restricted"
|
|
priority: 1050
|
|
- type: "deb"
|
|
name: "mos-holdback"
|
|
uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/{cluster.release.environment_version}/"
|
|
suite: "mos9.0-holdback"
|
|
section: "main restricted"
|
|
priority: 1100
|
|
- type: "deb"
|
|
name: "Auxiliary"
|
|
uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary"
|
|
suite: "auxiliary"
|
|
section: "main restricted"
|
|
priority: 1150
|
|
repo_type:
|
|
type: "hidden"
|
|
weight: 58
|
|
value: "uca"
|
|
pin_haproxy:
|
|
label: "HAProxy APT Pinning"
|
|
description: "Use Fuel HAProxy packages instead of upstream"
|
|
weight: 59
|
|
type: "checkbox"
|
|
value: true
|
|
pin_rabbitmq:
|
|
label: "RabbitMQ APT Pinning"
|
|
description: "Use Fuel RabbitMQ packages instead of upstream"
|
|
weight: 60
|
|
type: "checkbox"
|
|
value: true
|
|
pin_ceph:
|
|
label: "Ceph APT Pinning"
|
|
description: "Use Fuel Ceph packages instead of upstream"
|
|
weight: 61
|
|
type: "checkbox"
|
|
value: true
|