fuel-plugin-purestorage-cinder/environment_config.yaml

441 lines
22 KiB
YAML

attributes:
metadata:
group: 'storage'
multibackend:
value: true
label: 'Multi-backend enabled'
description: 'Pure Storage will be used in a multi-backend environment'
weight: 10
type: "checkbox"
pure_cg:
value: "false"
values:
- data: "true"
label: "True"
description: "Enables Cinder Consistency Groups for all users and all backends (where supported)"
- data: "false"
label: "False"
description: "Disables Cinder Consistency Groups for all users and all backends"
label: "Cinder Consistency Groups"
description: 'Enable/Disable consistency groups for ALL tenants and users.'
weight: 13
type: "radio"
pure_san_ip:
value: ""
label: 'Pure Storage Management IP (san_ip)'
description: 'The hostname (or IP address) for the Pure Storage Management VIP.'
weight: 15
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]?)$'
error: "Error: Enter in regular IP address dot notation"
pure_api:
value: ""
label: 'API Token for Pure Storage (pure_api_token)'
description: 'Purity API token used to perform actions on the FlashArray.'
weight: 20
type: "text"
regex:
source: '^(?!\s*$).+'
error: "Error: API token field cannot be empty"
pure_multipath:
value: "true"
values:
- data: "true"
label: "True"
description: "Enables multipathing for image transfers"
- data: "false"
label: "False"
description: "Disables multipathing for image transfers"
label: "Pure Storage Multipath for Image Transfers (use_multipath_for_image_xfer)"
description: 'Enable/Disable multipathing for image transfers.'
weight: 24
type: "radio"
pure_nova_multipath:
value: "false"
values:
- data: "true"
label: "True"
description: "Enables multipathing for Nova compute servers - applies to both iSCSI and FC"
- data: "false"
label: "False"
description: "Disables multipathing for Nova compute servers - applies to both iSCSI and FC"
label: "Multipathing for iSCSI and FC in Nova Compute servers (iscsi_use_multipath)"
description: 'Enable/Disable multipathing for Nova compute servers.'
weight: 25
type: "radio"
pure_replication:
value: "false"
values:
- data: "false"
label: "False"
description: 'Disable replicaton to remote Pure Storage array'
- data: "true"
label: "True"
description: 'Enable replicaton to remote Pure Storage array'
label: 'Replication to Remote Pure Storage array'
description: 'Configure replication to a remote array - remote array connection must be created manually'
weight: 26
type: "radio"
pure_replication_name:
value: ''
label: 'Name of array to replicate data to'
description: 'Name of remote replication target array'
weight: 27
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_replication.value != 'true'"
action: "hide"
regex:
source: '^(?!\s*$).+'
error: "Error: remote array name field cannot be empty"
pure_replication_ip:
value: ''
label: 'IP address of remote array'
description: 'IP address of remote Pure Storage array'
weight: 28
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_replication.value != 'true'"
action: "hide"
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]?)$'
error: "Error: Enter in regular IP address dot notation"
pure_replication_api:
value: ''
label: 'API Token for remote Pure Storage'
description: 'Purity API token used to perform actions on the remote array.'
weight: 29
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_replication.value != 'true'"
action: "hide"
regex:
source: '^(?!\s*$).+'
error: "Error: API token field cannot be empty"
pure_replication_default:
value: "true"
values:
- data: "true"
label: "Default"
description: 'Use default replication retention vlaues (see documentation)'
- data: "false"
label: "Manual"
description: 'Manually define replication retention settings'
label: 'Replication Retention Configuration'
description: 'Configure the remote replication retention parameters or leave as default'
weight: 30
type: "radio"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_replication.value != 'true'"
action: "hide"
pure_interval:
value: "900"
label: "Replication internal (in seconds)"
description: "(pure_replica_interval_default)"
weight: 31
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_replication.value != 'true' or (settings:fuel-plugin-purestorage-cinder.pure_replication.value == 'true' and settings:fuel-plugin-purestorage-cinder.pure_replication_default.value == 'true')"
action: "hide"
regex:
source: '^(34560000|[1-3][0-4][0-5][0-5][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[3-9][0-9][0-9])$'
error: "Error: Range for snapshot replication interval is 300 - 34560000 seconds"
pure_retention_short:
value: "14400"
label: "Retention period for snapshots on target(in seconds)"
description: "(pure_replica_retention_short_term_default)"
weight: 32
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_replication.value != 'true' or (settings:fuel-plugin-purestorage-cinder.pure_replication.value == 'true' and settings:fuel-plugin-purestorage-cinder.pure_replication_default.value == 'true')"
action: "hide"
regex:
source: '^(34560000|[1-3][0-4][0-5][0-5][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9]|[6-9][0-9])$'
error: "Error: Range for maximum time all snapshots can be retained for is 60 - 34560000 seconds"
pure_retention_long_day:
value: "3"
label: "Number of snapshots to keep per day"
description: "(pure_replica_retention_long_term_per_day_default)"
weight: 34
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_replication.value != 'true' or (settings:fuel-plugin-purestorage-cinder.pure_replication.value == 'true' and settings:fuel-plugin-purestorage-cinder.pure_replication_default.value == 'true')"
action: "hide"
regex:
source: '^(1440|1[0-4][0-3][0-9]|[1-9][0-9][0-9]|[1-9][0-9]|[1-9])$'
error: "Error: Maximum number of snapshots per day is 1440"
pure_retention_long:
value: "7"
label: "Number of days to keep snapshots"
description: "(pure_replica_retention_long_term_default)"
weight: 33
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_replication.value != 'true' or (settings:fuel-plugin-purestorage-cinder.pure_replication.value == 'true' and settings:fuel-plugin-purestorage-cinder.pure_replication_default.value == 'true')"
action: "hide"
regex:
source: '^(4000|[1-3][0-9][0-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9]|[1-9])$'
error: "Error: Maximum number of days to keep snapshots is 4000"
pure_glance_image_cache:
value: "false"
values:
- data: "false"
label: "False"
description: 'Disable the Glance Image-Cache for Cinder backend'
- data: "true"
label: "True"
description: 'Enable the Glance Image-Cache for Cinder backend'
label: 'Glance Image-Cache (image_volume_cache_enabled)'
description: 'Configure the Glance Image-Cache for Cinder'
weight: 35
type: "radio"
pure_glance_cache_count:
value: '0'
label: 'Glance Image Cache Max Count (image_volume_cache_max_count)'
description: 'Maximum number of images in Glance Image Cache (0 = no limit)'
weight: 36
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_glance_image_cache.value != 'true'"
action: "hide"
regex:
source: '^[0-9]+$'
error: "Error: Only numbers are permitted"
pure_glance_cache_size:
value: '0'
label: 'Glance Image Cache Size (image_volume_cache_max_size_gb)'
description: 'Maximum size for Glance Image Cache [GB] 90 = no limit)'
weight: 37
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_glance_image_cache.value != 'true'"
action: "hide"
regex:
source: '^[0-9]+$'
error: "Error: Only numbers are permitted"
pure_eradicate:
value: "false"
values:
- data: "false"
label: "False"
description: "Disables auto-eradication of deleted volumes"
- data: "true"
label: "True"
description: "Enables auto-eradication of deleted volumes"
label: "Auto-Eradication of Deleted Volumes"
description: 'Select whether to auto-eradicate volumes on deletion or leave as default'
weight: 38
type: "radio"
pure_protocol:
value: "iSCSI"
values:
- data: "iSCSI"
label: "iSCSI"
description: "Enables iSCSI protocol for block storage volumes"
- data: "FC"
label: "Fibre Channel"
description: "Enables Fibre Channel protocol for block storage volumes"
label: "Protocol for Pure Storage block access"
description: 'Select block storage protocol for FlashArray.'
weight: 39
type: "radio"
pure_fczm_config:
value: "manual"
values:
- data: "automatic"
label: "Automatic"
description: "Use automated Fibre Channel Zone Manager for zoning"
- data: "manual"
label: "Manual"
description: "Use manual fibre channel zoning"
label: "Fibre Channel Zoning Manager"
description: "Method for configuring fibre channel zones"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_protocol.value != 'FC'"
action: "hide"
weight: 40
type: "radio"
pure_chap:
value: "false"
values:
- data: "true"
label: "True"
description: "Enables CHAP on iSCSI connections to FlashArray"
- data: "false"
label: "False"
description: "Disables CHAP on iSCSI connections to FlashArray"
label: "Pure Storage iSCSI CHAP (use_chap_auth)"
description: 'Enable/Disable CHAP on iSCSI connections to the FlashArray.'
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_protocol.value != 'iSCSI'"
action: "hide"
weight: 40
type: "radio"
pure_switch_vendor:
value: "Brocade"
values:
- data: "Brocade"
label: "Brocade"
- data: "Cisco"
label: "Cisco"
label: "Fibre Channel SAN Switch Provider"
description: "FC Vendor"
weight: 40
type: "select"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value == 'manual')"
action: "hide"
pure_fabric_count:
value: '2'
type: "select"
weight: 41
values:
- data: '1'
label: "1"
- data: '2'
label: "2"
label: "Number of SAN fabrics"
description: "Number of SAN fabrics connected to compute and controller nodes"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value == 'manual')"
action: "hide"
pure_fabric_name_1:
value: ""
label: "Name of Fabric 1"
description: "Name of the active zone set for the zoning VSAN if your switch vendor is Cisco, or name of active zone configuration if Brocade. Used in definition of 'zone_name_prefix'."
weight: 42
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value == 'manual')"
action: "hide"
regex:
source: '^(?!\s*$).+'
error: "Error: Fabric name cannot be blank"
pure_fabric_ip_1:
value: ""
type: "text"
weight: 43
label: "IP address of Fabric 1 switch"
description: "Management IP address of SAN switch for fabric number 1"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value == 'manual')"
action: "hide"
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]?)$'
error: "Error: Enter in regular IP address dot notation"
pure_username_1:
value: ""
type: "text"
weight: 44
label: "User ID for Fabric 1 switch"
description: "Fabric switch username (with admin privilages)"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value == 'manual')"
action: "hide"
regex:
source: '^(?!\s*$).+'
error: "Error: Username cannot be blank"
pure_password_1:
value: ""
type: "password"
weight: 45
label: "Password for Fabric 1 switch"
description: "Fabric switch password for username above"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value == 'manual')"
action: "hide"
regex:
source: '^(?!\s*$).+'
error: "Error: Password cannot be blank"
pure_vsan_1:
value: ""
label: "VSAN for Fabric 1"
description: "Number of zoning VSAN with active zone set which is the same as the name of Fabric 1"
weight: 46
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value != 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual') or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual' and settings:fuel-plugin-purestorage-cinder.pure_switch_vendor.value != 'Cisco')"
action: "hide"
regex:
source: '^(409[0-3]|40[1-8][0-9]|[1-3][0-9][0-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9]|[1-9])$'
error: "Error: VSAN must be in range 1-4093"
pure_zone_prefix_1:
value: ""
label: "Zoning prefix for Fabric 1"
description: "Prefix for zone name created by FCZM (Blank field will use default of 'openstack')"
weight: 47
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value == 'manual')"
action: "hide"
pure_fabric_name_2:
value: ""
label: "Name of Fabric 2"
description: "Name of the active zone set for the zoning VSAN if your switch vendor is Cisco, or name of active zone configuration if Brocade. Used in definition of 'zone_name_prefix'."
weight: 51
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value != 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual') or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual' and settings:fuel-plugin-purestorage-cinder.pure_fabric_count.value != '2')"
action: "hide"
regex:
source: '^(?!\s*$).+'
error: "Error: Fabric name cannot be blank"
pure_fabric_ip_2:
value: ""
type: "text"
weight: 52
label: "IP address of Fabric 2 switch"
description: "Management IP address of SAN switch for fabric number 2"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value != 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual') or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual' and settings:fuel-plugin-purestorage-cinder.pure_fabric_count.value != '2')"
action: "hide"
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]?)$'
error: "Error: Enter in regular IP address dot notation"
pure_username_2:
value: ""
type: "text"
weight: 53
label: "User ID for Fabric 2 switch"
description: "Fabric switch username (with admin privilages)"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value != 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual') or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual' and settings:fuel-plugin-purestorage-cinder.pure_fabric_count.value != '2')"
action: "hide"
regex:
source: '^(?!\s*$).+'
error: "Error: Username cannot be blank"
pure_password_2:
value: ""
type: "password"
weight: 54
label: "Password for fabric 2 switch"
description: "Fabric switch password for username above"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value != 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual') or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual' and settings:fuel-plugin-purestorage-cinder.pure_fabric_count.value != '2')"
action: "hide"
regex:
source: '^(?!\s*$).+'
error: "Error: Password cannot be blank"
pure_vsan_2:
value: ""
label: "VSAN for Fabric 2"
description: "Number of zoning VSAN with active zone set which is the same as the name of Fabric 2"
weight: 56
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value != 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual') or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual' and settings:fuel-plugin-purestorage-cinder.pure_fabric_count.value != '2' or (settings:fuel-plugin-purestorage-cinder.pure_fabric_count.value == '2' and settings:fuel-plugin-purestorage-cinder.pure_switch_vendor.value == 'Brocade'))"
action: "hide"
regex:
source: '^(409[0-3]|40[1-8][0-9]|[1-3][0-9][0-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9]|[1-9])$'
error: "Error: VSAN must be in range 1-4093"
pure_zone_prefix_2:
value: ""
label: "Zoning prefix for Fabric 2"
description: "Prefix for zone name created by FCZM (Blank field will use default of 'openstack')"
weight: 57
type: "text"
restrictions:
- condition: "settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'automatic' or settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'iSCSI' or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value != 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual') or (settings:fuel-plugin-purestorage-cinder.pure_protocol.value == 'FC' and settings:fuel-plugin-purestorage-cinder.pure_fczm_config.value != 'manual' and settings:fuel-plugin-purestorage-cinder.pure_fabric_count.value != '2')"
action: "hide"