fuel-plugin-scaleio/environment_config.yaml

335 lines
11 KiB
YAML

attributes:
metadata:
# Settings group can be one of "general", "security", "compute", "network",
# "storage", "logging", "openstack_services" and "other".
group: 'storage'
existing_cluster:
type: "checkbox"
value: false
label: "Use existing ScaleIO."
description: "Do not deploy ScaleIO cluster, just use existing cluster."
weight: 10
gateway_ip:
type: "text"
value: ""
label: "Gateway IP address"
description: "Cinder and Nova use it for requests to ScaleIO."
weight: 20
regex:
source: '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'
error: "Gateway address is requried parameter"
restrictions:
- condition: "settings:scaleio.existing_cluster.value == false"
action: hide
gateway_port:
type: "text"
value: "4443"
label: "Gateway port"
description: "Cinder and Nova use it for requests to ScaleIO."
weight: 25
regex:
source: '^[0-9]+$'
error: "Gateway port is required parameter"
restrictions:
- condition: "settings:scaleio.existing_cluster.value == false"
action: hide
gateway_user:
type: "text"
value: "admin"
label: "Gateway user"
description: "Type a user name for the gateway"
weight: 30
regex:
source: '^\w+$'
restrictions:
- condition: "settings:scaleio.existing_cluster.value == false"
action: hide
password:
type: "password"
weight: 40
value: ""
label: "Admin password"
description: "Type ScaleIO Admin password"
regex:
source: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,15}$'
error: "You must provide a password with between 8 and 15 characters, one uppercase, and one number"
protection_domain:
type: "text"
value: "default"
label: "Protection domain"
description:
Name of first protection domain. In case of auto-scaling next domains will get names like default_2, default_3.
Auto-scaling works if the Use Existing Cluster option is disabled. Next domain is created
if number of SDS-es reaches the limit in the setting Maximum number of nodes in one protection domain.
weight: 70
regex:
source: '^(\w+){1}((,){1}(?=\w+))*'
error: "Can contain characters, numbers and underlines"
protection_domain_nodes:
type: "text"
value: "100"
label: "Maximum number of nodes in one protection domain"
description:
If number of nodes gets larger than this threshold then new protection domain will be created.
Note, in that case it is needed to add at least 3 new nodes to make new domain operationable.
In case of hyper-converged deployment they should be compute nodes, otherwise - the ScaleIO nodes.
weight: 75
regex:
source: '^[1-9]{1}[0-9]*$'
error: "Should be number that equal or larger than 1"
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
enable_sds_role:
type: "checkbox"
value: false
label: "Experimental role-based deployment"
description: "Hidden option to disable experimental feature"
weight: 5
restrictions:
- condition: "true"
action: hide
storage_pools:
type: "text"
value: "default"
label: "Storage pools"
description:
Comma separated list for splitting devices between them.
It could be just one element if all devices are belong to the one pool.
weight: 80
regex:
source: '^(\w+){1}((,){1}(?=\w+))*'
error: "Can contain characters, numbers and underlines"
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true or settings:scaleio.enable_sds_role.value == true"
action: hide
existing_storage_pools:
type: "text"
value: "default"
label: "Storage pools"
description: "Storage pools which are allowed to be used in new Cloud."
weight: 90
regex:
source: '^(\w+){1}((,){1}(?=\w+))*'
error: "Can contain characters, numbers and underlines"
restrictions:
- condition: "settings:scaleio.existing_cluster.value == false"
action: hide
device_paths:
type: "text"
value: ""
label: "Storage devices"
description: "Comma separated list of devices, e.g. /dev/sdb,/dev/sdc."
weight: 100
regex:
source: '^(/[a-zA-Z0-9:-_]+)+(,(/[a-zA-Z0-9:-_]+)+)*$'
error: 'List of path is incorrect. It is comma separated list aka /dev/sdb,/dev/sdc'
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true or settings:scaleio.enable_sds_role.value == true"
action: hide
hyper_converged_deployment:
type: "checkbox"
value: true
label: "Hyper-converged deployment"
description:
Deploy SDS component on all compute nodes automatically and optionally on controller nodes.
If the option disabled then SDS will be deployed only on the nodes with the ScaleIO role.
weight: 103
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
sds_on_controller:
type: "checkbox"
value: true
label: "Controller as Storage"
description: "Setup SDS-es on controller nodes."
weight: 105
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true or settings:scaleio.hyper_converged_deployment.value == false or settings:scaleio.enable_sds_role.value == true"
action: hide
provisioning_type:
type: "radio"
value: "thin"
label: "Provisioning type"
description: "Thin/Thick provisioning for ephemeral and persistent volumes."
weight: 110
values:
- data: 'thin'
label: 'Thin provisioning'
description: "Thin provisioning for ephemeral and persistent volumes."
- data: 'thick'
label: 'Thick provisioning'
description: "Thick provisioning for ephemeral and persistent volumes."
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
checksum_mode:
type: "checkbox"
value: false
label: "Checksum mode"
description:
Checksum protection. ScaleIO protects data in-flight by calculating and validating the checksum value for the payload at both ends.
Note, the checksum feature may have a minor effect on performance.
ScaleIO utilizes hardware capabilities for this feature, where possible.
weight: 120
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
spare_policy:
type: "text"
value: '10'
label: "Spare policy"
description: "% out of total space"
weight: 130
regex:
source: '^[0-9]{1,2}$'
error: "Value could be between 0 and 99"
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
zero_padding:
type: "checkbox"
value: true
label: "Enable Zero Padding for Storage Pools"
description: "New volumes will be zeroed if the option enabled."
weight: 140
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
scanner_mode:
type: "checkbox"
value: false
label: "Background device scanner"
description: "This options enables the background device scanner on the devices in device only mode."
weight: 150
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
rmcache_usage:
type: "checkbox"
value: false
label: "Use RAM cache (RMCache)"
description: "SDS Server RAM is reserved for caching storage devices in a Storage Pool."
weight: 155
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
rmcache_passthrough_pools:
type: "text"
value: ""
label: "Passthrough RMCache storage pools"
description: "List of Storage pools which should be cached in RAM in passthrough mode (writes to storage only)."
weight: 157
regex:
source: '^(\w+)*((,){1}(?=\w+))*'
error: 'List of storage pools incorrect. It could be either empty or the comma separated list e.g. pool1,pool2'
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true or settings:scaleio.rmcache_usage.value == false"
action: hide
rmcache_cached_pools:
type: "text"
value: ""
label: "Cached RMCache storage pools"
description: "List of Storage pools which should be cached in RAM in cached mode (writes both to cache and to storage)."
weight: 158
regex:
source: '^(\w+)*((,){1}(?=\w+))*'
error: 'List of storage pools incorrect. It could be either empty or the comma separated list e.g. pool1,pool2'
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true or settings:scaleio.rmcache_usage.value == false"
action: hide
rfcache_devices:
type: "text"
value: ""
label: "XtremCache devices"
description: "List of SDS devices for SSD caching. Cache is disabled if list empty."
weight: 160
regex:
source: '^(/[a-zA-Z0-9:-_]+)*(,(/[a-zA-Z0-9:-_]+)+)*$'
error: 'List of path is incorrect. It could be either empty or the comma separated list e.g. /dev/sdb,/dev/sdc'
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true or settings:scaleio.enable_sds_role.value == true"
action: hide
cached_storage_pools:
type: "text"
value: ""
label: "XtremCache storage pools"
description: "List of storage pools which should be cached with XtremCache."
weight: 170
regex:
source: '^(\w+)*((,){1}(?=\w+))*'
error: 'List of storage pools incorrect. It could be either empty or the comma separated list e.g. pool1,pool2'
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true or settings:scaleio.enable_sds_role.value == true"
action: hide
capacity_high_alert_threshold:
type: "text"
value: '80'
label: "Capacity high priority alert"
description: "Threshold of the non-spare capacity of the Storage Pool that will trigger a high-priority alert, in percentage format"
weight: 180
regex:
source: '^[0-9]{1,2}$'
error: "Value could be between 0 and 99"
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
capacity_critical_alert_threshold:
type: "text"
value: '90'
label: "Capacity critical priority alert"
description: "Threshold of the non-spare capacity of the Storage Pool that will trigger a critical-priority alert, in percentage format"
weight: 190
regex:
source: '^[0-9]{1,2}$'
error: "Value could be between 0 and 99"
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true"
action: hide
use_scaleio_for_glance:
type: "checkbox"
value: false
label: "Glance images on ScaleIO"
description: "Glance uses ScaleIO as a backend for images if the option enabled. It uses cinder backend in Glance to store images on ScaleIO."
weight: 195
restrictions:
- condition: "settings:scaleio.existing_cluster.value == true or cluster:fuel_version == '6.1' or cluster:fuel_version == '7.0' or cluster:fuel_version == '8.0'"
action: hide
version:
type: "select"
weight: 200
value: "2.0"
label: "Version"
description: "Select the ScaleIO version you wish to install. The only version 2.0 is supported for now."
values:
- data: "2.0"
label: "2.0"