diff --git a/components.yaml b/components.yaml index 056eaad..3d3b43c 100644 --- a/components.yaml +++ b/components.yaml @@ -1,6 +1,6 @@ - name: 'storage:block:backend:kaminario' label: 'Kaminario' - description: 'Cinder with Kaminario backend' + description: 'Use Kaminario K2 as backend for Cinder volumes' compatible: - name: storage:block:lvm - name: storage:block:ceph diff --git a/deployment_scripts/puppet/modules/kaminario/manifests/controller_config.pp b/deployment_scripts/puppet/modules/kaminario/manifests/controller_config.pp index c3bfa61..6437c0d 100644 --- a/deployment_scripts/puppet/modules/kaminario/manifests/controller_config.pp +++ b/deployment_scripts/puppet/modules/kaminario/manifests/controller_config.pp @@ -3,7 +3,7 @@ class kaminario::controller_config{ $config_file='/etc/cinder/cinder.conf' $plugin_settings = hiera('cinder_kaminario') - if $plugin_settings['scheduler_default_filters'] != '' + if ($plugin_settings['filter_function_0'] != '') or ($plugin_settings['filter_function_1'] != '') or ($plugin_settings['filter_function_2'] != '') or ($plugin_settings['filter_function_3'] != '') or ($plugin_settings['filter_function_4'] != '') or ($plugin_settings['filter_function_5'] != '') { ini_subsetting {'scheduler_default_filters': ensure => present, @@ -11,23 +11,20 @@ $plugin_settings = hiera('cinder_kaminario') key_val_separator => '=', path => $config_file, setting => 'scheduler_default_filters', - subsetting => $plugin_settings['scheduler_default_filters'], + subsetting => 'DriverFilters', + subsetting_separator => ',', + } + + ini_subsetting {'scheduler_default_filter': + ensure => present, + section => 'DEFAULT', + key_val_separator => '=', + path => $config_file, + setting => 'scheduler_default_filters', + subsetting => 'CapacityFilter', subsetting_separator => ',', } } - if $plugin_settings['scheduler_default_weighers'] != '' - { - cinder_config { - 'DEFAULT/scheduler_default_weighers' : value => $plugin_settings['scheduler_default_weighers']; - } - } - if $plugin_settings['rpc_response_timeout'] != '' - { - cinder_config { - 'DEFAULT/rpc_response_timeout' : value => $plugin_settings['rpc_response_timeout']; - } - } - cinder_config { 'DEFAULT/default_volume_type' : value => $default_volume_type } diff --git a/deployment_scripts/puppet/modules/kaminario/manifests/init.pp b/deployment_scripts/puppet/modules/kaminario/manifests/init.pp index f7960c1..417f47d 100644 --- a/deployment_scripts/puppet/modules/kaminario/manifests/init.pp +++ b/deployment_scripts/puppet/modules/kaminario/manifests/init.pp @@ -10,24 +10,24 @@ define recursion( $plugin_settings = hiera('cinder_kaminario') config {"plugin_${value}": - add_backend => $plugin_settings["add_backend_${value}"], - cinder_node => $plugin_settings["cinder_node_${value}"], - storage_protocol => $plugin_settings["storage_protocol_${value}"], - backend_name => $plugin_settings["backend_name_${value}"], - storage_user => $plugin_settings["storage_user_${value}"], - storage_password => $plugin_settings["storage_password_${value}"], - storage_ip => $plugin_settings["storage_ip_${value}"], - enable_replication => $plugin_settings["enable_replication_${value}"], - replication_ip => $plugin_settings["replication_ip_${value}"], - replication_login => $plugin_settings["replication_login_${value}"], - replication_rpo => $plugin_settings["replication_rpo_${value}"], - replication_password => $plugin_settings["replication_password_${value}"], - enable_multipath => $plugin_settings["enable_multipath_${value}"], - suppress_logs => $plugin_settings["suppress_logs_${value}"], - filter_function => $plugin_settings["filter_function_${value}"], - goodness_function => $plugin_settings["goodness_function_${value}"], - oversubscription_ratio => $plugin_settings["oversubscription_ratio_${value}"], - num => $value + add_backend => $plugin_settings["add_backend_${value}"], + cinder_node => $plugin_settings["cinder_node_${value}"], + storage_protocol => $plugin_settings["storage_protocol_${value}"], + backend_name => $plugin_settings["backend_name_${value}"], + storage_user => $plugin_settings["storage_user_${value}"], + storage_password => $plugin_settings["storage_password_${value}"], + storage_ip => $plugin_settings["storage_ip_${value}"], + enable_replication => $plugin_settings["enable_replication_${value}"], + replication_ip => $plugin_settings["replication_ip_${value}"], + replication_login => $plugin_settings["replication_login_${value}"], + replication_rpo => $plugin_settings["replication_rpo_${value}"], + replication_password => $plugin_settings["replication_password_${value}"], + enable_multipath => $plugin_settings["enable_multipath_${value}"], + suppress_logs => $plugin_settings["suppress_logs_${value}"], + filter_function => $plugin_settings["filter_function_${value}"], + oversubscription_ratio => $plugin_settings["oversubscription_ratio_${value}"], + report_discard_supported => $plugin_settings["report_discard_supported_${value}"], + num => $value } $minus1 = inline_template('<%= @value.to_i - 1 %>') if $minus1 < '0' { @@ -41,7 +41,7 @@ $plugin_settings = hiera('cinder_kaminario') } -define config($add_backend,$storage_protocol,$backend_name,$storage_user,$storage_password,$storage_ip,$num,$cinder_node,$enable_replication,$replication_ip,$replication_login,$replication_rpo,$replication_password,$enable_multipath,$suppress_logs,$filter_function,$oversubscription_ratio,$goodness_function) { +define config($add_backend,$storage_protocol,$backend_name,$storage_user,$storage_password,$storage_ip,$num,$cinder_node,$enable_replication,$replication_ip,$replication_login,$replication_rpo,$replication_password,$enable_multipath,$suppress_logs,$filter_function,$oversubscription_ratio,$report_discard_supported) { $sec_name = section_name( $storage_ip , $backend_name ) $config_file = '/etc/cinder/cinder.conf' @@ -99,17 +99,18 @@ define config($add_backend,$storage_protocol,$backend_name,$storage_user,$storag } } - if $goodness_function != '' { - cinder_config { - "${sec_name}/goodness_function" : value => $goodness_function; - } - } - if $oversubscription_ratio == true { cinder_config { "${sec_name}/auto_calc_max_oversubscription_ratio" : value => 'True'; } } + + if $report_discard_supported == true { + cinder_config { + "${sec_name}/report_discard_supported" : value => 'True'; + } + } + } } } diff --git a/deployment_scripts/puppet/modules/kaminario/manifests/krest.pp b/deployment_scripts/puppet/modules/kaminario/manifests/krest.pp index cf4b18f..9ce284f 100644 --- a/deployment_scripts/puppet/modules/kaminario/manifests/krest.pp +++ b/deployment_scripts/puppet/modules/kaminario/manifests/krest.pp @@ -5,6 +5,6 @@ package { 'krest': ensure => installed, provider => pip, require => Package['python-pip'],} - package { 'git': +package { 'git': ensure => installed,} } diff --git a/deployment_scripts/puppet/modules/kaminario/manifests/type.pp b/deployment_scripts/puppet/modules/kaminario/manifests/type.pp index 9c6c782..d3e7507 100644 --- a/deployment_scripts/puppet/modules/kaminario/manifests/type.pp +++ b/deployment_scripts/puppet/modules/kaminario/manifests/type.pp @@ -7,54 +7,52 @@ define recursion( $value ) { $plugin_settings = hiera('cinder_kaminario') - kaminario_type {"plugin_${value}": - create_type => $plugin_settings["create_type_${value}"], - options => $plugin_settings["options_${value}"], - backend_name => $plugin_settings["backend_name_${value}"], - type_name => $plugin_settings["type_name_${value}"] + create_type => $plugin_settings["create_type_${value}"], + backend_name => $plugin_settings["type_backendname_${value}"], + type_enable_replication => $plugin_settings["type_enable_replication_${value}"], + enable_nodedup => $plugin_settings["enable_nodedup_${value}"], + type_name => $plugin_settings["type_name_${value}"] } $minus1 = inline_template('<%= @value.to_i - 1 %>') - if $minus1 < '0' { - - } else { + if "${minus1}" < '0' { + + } else { recursion { "value-${minus1}": value => $minus1, } - } + } } } -define kaminario_type ($create_type,$options,$backend_name,$type_name) { +define kaminario_type ($create_type,$backend_name,$type_name,$enable_nodedup,$type_enable_replication) { if $create_type == true { -case $options { - 'enable_replication_type': { +if ($enable_nodedup == true) and ($type_enable_replication == false) { + cinder_type {$type_name: + ensure => present, + properties => ["volume_backend_name=${backend_name}"], + } +} +if ($type_enable_replication == true) and ($enable_nodedup == false) { + cinder_type {$type_name: + ensure => present, + properties => ["volume_backend_name=${backend_name}",'kaminario:replication=enabled', 'kaminario:thin_prov_type=nodedup'], + } +} +if ($type_enable_replication == true) and ($enable_nodedup == true) { cinder_type {$type_name: ensure => present, properties => ["volume_backend_name=${backend_name}",'kaminario:replication=enabled'], } - } - 'enable_dedup': { +} + +if ($type_enable_replication == false) and ($enable_nodedup == false) { + cinder_type {$type_name: ensure => present, properties => ["volume_backend_name=${backend_name}",'kaminario:thin_prov_type=nodedup'], - } - } - 'replication_dedup': { - cinder_type {$type_name: - ensure => present, - properties => ["volume_backend_name=${backend_name}",'kaminario:thin_prov_type=nodedup','kaminario:replication=enabled'], - } - } - 'default': { - cinder_type {$type_name: - ensure => present, - properties => ["volume_backend_name=${backend_name}"], - } - } - + } +} +} } -} - -} diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml index 932a03e..31fe641 100644 --- a/deployment_tasks.yaml +++ b/deployment_tasks.yaml @@ -5,7 +5,7 @@ requires: [top-role-cinder] required_for: [deploy_end] condition: - yaql_exp: "changedAny($.cinder, $.get('cinder_volume_group'), $.network_metadata.nodes.get(concat(\"node-\", $.uid)).network_roles.get('cinder/iscsi'), $.network_metadata.vips, $.debug, $.node_volumes, $.storage, $.rabbit, $.ceilometer, $.get('use_stderr'), $.get('use_syslog'), $.get('syslog_log_facility_cinder'), $.get('syslog_log_facility_ceph'), $.get('proxy_port'), $.get('kombu_compression'), $.get('use_ssl'), $.get('service_endpoint'), $.get('glance_api_servers'), $.get('amqp_hosts'), $.network_metadata.nodes.values().where(\n $.node_roles.any($.matches('controller'))).network_roles.select(\n $.get('mgmt/messaging')))\n" + yaql_exp: "changedAny($.cinder_kaminario,$.cinder, $.get('cinder_volume_group'), $.network_metadata.nodes.get(concat(\"node-\", $.uid)).network_roles.get('cinder/iscsi'), $.network_metadata.vips, $.debug, $.node_volumes, $.storage, $.rabbit, $.ceilometer, $.get('use_stderr'), $.get('use_syslog'), $.get('syslog_log_facility_cinder'), $.get('syslog_log_facility_ceph'), $.get('proxy_port'), $.get('kombu_compression'), $.get('use_ssl'), $.get('service_endpoint'), $.get('glance_api_servers'), $.get('amqp_hosts'), $.network_metadata.nodes.values().where(\n $.node_roles.any($.matches('controller'))).network_roles.select(\n $.get('mgmt/messaging')))\n" parameters: puppet_manifest: puppet/manifests/cinder_kaminario.pp puppet_modules: puppet/modules:/etc/puppet/modules diff --git a/doc/plugin guide/source/images/FC_HBA.png b/doc/plugin guide/source/images/FC_HBA.png new file mode 100644 index 0000000..8166cda Binary files /dev/null and b/doc/plugin guide/source/images/FC_HBA.png differ diff --git a/doc/plugin guide/source/images/cinder_create_success.png b/doc/plugin guide/source/images/cinder_create_success.png new file mode 100644 index 0000000..d95acd1 Binary files /dev/null and b/doc/plugin guide/source/images/cinder_create_success.png differ diff --git a/doc/plugin guide/source/images/cinder_service_list.png b/doc/plugin guide/source/images/cinder_service_list.png new file mode 100644 index 0000000..500033b Binary files /dev/null and b/doc/plugin guide/source/images/cinder_service_list.png differ diff --git a/doc/plugin guide/source/images/iscsi_dashboard.png b/doc/plugin guide/source/images/iscsi_dashboard.png new file mode 100644 index 0000000..a03e073 Binary files /dev/null and b/doc/plugin guide/source/images/iscsi_dashboard.png differ diff --git a/doc/plugin guide/source/images/service_list.png b/doc/plugin guide/source/images/service_list.png new file mode 100644 index 0000000..6cb1235 Binary files /dev/null and b/doc/plugin guide/source/images/service_list.png differ diff --git a/doc/plugin guide/source/images/volume_attach.png b/doc/plugin guide/source/images/volume_attach.png new file mode 100644 index 0000000..c5125b2 Binary files /dev/null and b/doc/plugin guide/source/images/volume_attach.png differ diff --git a/doc/plugin guide/source/images/wwn_wrong.png b/doc/plugin guide/source/images/wwn_wrong.png new file mode 100644 index 0000000..42acd27 Binary files /dev/null and b/doc/plugin guide/source/images/wwn_wrong.png differ diff --git a/doc/plugin guide/source/index.rst b/doc/plugin guide/source/index.rst index 9ccb72e..cdc259f 100644 --- a/doc/plugin guide/source/index.rst +++ b/doc/plugin guide/source/index.rst @@ -16,4 +16,4 @@ Contents: installation plugin_configuration guide - + troubleshooting diff --git a/doc/plugin guide/source/troubleshooting.rst b/doc/plugin guide/source/troubleshooting.rst new file mode 100644 index 0000000..8bc9fdb --- /dev/null +++ b/doc/plugin guide/source/troubleshooting.rst @@ -0,0 +1,87 @@ +Verification +============ + +Login into the controller node from the Fuel-master node: + +1. Verify the status of cinder-volume service for Kaminario backend + + .. code-block:: console + + $ cinder service-list + + .. image:: ./images/service_list.png + :width: 400pt + :alt: service_list + + + +2. Create a volume. Verify the volume and volume group from the Kaminario K2 all-flash array dashboard. + + .. code-block:: console + + $ cinder create --name volume 1 + + .. image:: ./images/cinder_create_success.png + :width: 400pt + :alt: cinder_create_success + + .. image:: ./images/iscsi_dashboard.png + :width: 400pt + :alt: iscsi_dashboard + +*Note:* The volume name is **cv-** and volume group name is **cvg-**. + +3. Run the OpenStack Test Framework (OSTF). From the Fuel web UI: + + * Click the **Health Check** tab + * Select the **Select All** checkbox + * Click **Run Tests**. + + *Note:* The Kaminario Fuel plugin verification is mainly based on the Functional tests. + + +Troubleshooting +=============== + +On failure of the verification of Kaminario Fuel plugin or any Cinder volume operations related to the Kaminario backend, check the following log files for identifying the root cause of the failure: + +#. **/var/log/cinder/cinder-volume.log** +#. **/var/log/cinder/cinder-api.log** +#. **/var/log/cinder/cinder-scheduler.log** +#. **/var/log/nova/nova-compute.log** + +Check the status of cinder volume service for Kaminario backend. + + .. code-block:: console + + $ cinder service-list + + .. image:: ./images/cinder_service_list.png + :width: 400pt + :alt: cinder_service_list + +The failures may be caused due to many possibilities, the following are few of them: + +1. Kaminario rest-api version is less than 2.2.0. +2. Kaminario K2 all-flash array version is less than 5.8. +3. Data path between the Fuel nodes (having cinder and compute role) and the Kaminario K2 all-flash array is not present or inaccessible: + + .. image:: ./images/FC_HBA.png + :width: 400pt + :alt: FC_HBA + + .. image:: ./images/volume_attach.png + :width: 400pt + :alt: volume_attach + + .. image:: ./images/wwn_wrong.png + :width: 400pt + :alt: wwn_wrong + + + +4. Management IP of the Kaminario backend is not correct or inaccessible from the Fuel node having the Cinder role. +5. Wrong credentials (username and password) used for the Kaminario backend. +6. Not using the Kaminario Fuel plugin configuration options for; creating volume type and setting default volume type. +7. No proper use of Kaminario Fuel plugin configuration options like Filter Function, Goodness Function, Scheduler weighers and Scheduler filters. +8. Others. diff --git a/environment_config.yaml b/environment_config.yaml index 5872b18..ea388a1 100644 --- a/environment_config.yaml +++ b/environment_config.yaml @@ -13,7 +13,7 @@ attributes: type: "radio" weight: 10 value: "FC" - label: "Storage protocol to be used on the data path with storage system" + label: "Storage connection types" values: - data: "ISCSI" label: "ISCSI" @@ -22,42 +22,36 @@ attributes: cinder_node_0: value: "" - label: 'Cinder Node' - description: 'Name of the cinder node in which the backend must be configured' + label: 'Cinder Volume Node' + description: 'Name of the Fuel node with cinder role' weight: 15 type: "text" backend_name_0: value: "" - label: 'Backend Name' - description: 'Name of the Backend' + label: 'Volume Backend Name' + description: 'A user defined name for a back-end storage' weight: 20 type: "text" storage_ip_0: value: "" - label: 'Kaminario Storage Hostname/IP' - description: 'Provide management IP of kaminario K2 All-Flash array' - weight: 20 + label: 'K2 Management IP' + description: 'The Management IP for the K2 back-end storage system' + weight: 22 type: "text" - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' storage_user_0: value: "" label: 'Username' - description: 'Provide username of kaminario K2 All-Flash array' + description: 'The user name for accessing K2 management' weight: 25 type: "text" - regex: - source: '\S' - error: "Username field cannot be empty" storage_password_0: value: "" label: 'Password' - description: 'Provide password of kaminario K2 All-Flash array' + description: 'The password for accessing K2 management' weight: 30 type: "password" @@ -80,162 +74,96 @@ attributes: replication_ip_0: value: "" - label: 'IPaddress' - description: 'Ipaddress of Kaminario replication array' + label: 'Replication Target IP' + description: 'Replication target MGMT IP' weight: 45 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_0.value == false" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' - + replication_login_0: value: "" label: 'Username' - description: 'user name of Kaminario replication device' + description: 'Replication target username' weight: 50 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_0.value == false" action: 'hide' + + replication_password_0: value: "" label: 'Password' - description: 'password of Kaminario replication device' + description: 'Replication target password' weight: 55 type: "password" restrictions: - condition: "settings:cinder_kaminario.enable_replication_0.value == false" action: 'hide' - + replication_rpo_0: value: "60" label: 'RPO' - description: 'Value (in seconds) should be either 60 sec or multiple of 300 sec' + description: 'Replication recovery point objective in seconds. Must be eighter 60 or multiplies of 300' weight: 60 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_0.value == false" action: 'hide' - regex: - source: '^\d+$' - error: "You must provide a number" - create_type_0: - value: false - label: 'Create Volume Type' - description: 'Create volume type for the backend' - weight: 65 - type: 'checkbox' - - type_name_0: - value: "" - label: 'Volume Type Name' - description: 'Name of the volume type' - weight: 70 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.create_type_0.value == false" - action: 'hide' - - options_0: - type: "radio" - weight: 75 - value: "" - label: "Advance options for volume type" - values: - - data: "enable_replication_type" - label: "Enable Replication" - - data: "enable_dedup" - label: "Enable nodedup" - - data: "replication_dedup" - label: "Enable both Replication and nodedup" - restrictions: - - condition: "settings:cinder_kaminario.create_type_0.value == false" - action: 'hide' - - default_type_0: - value: false - label: 'Default Type' - description: 'Make this volume type as default volume type' - weight: 80 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.create_type_0.value == false " - action: 'hide' enable_multipath_0: - value: false + value: true label: 'Enable Multipath' - description: 'Enable multipath for cinder volumes' + description: 'Use initiator multipath option' weight: 85 type: 'checkbox' suppress_logs_0: - value: false - label: 'Suppress Logs' - description: 'Suppress Additional logs created by krest' + value: true + label: 'Suppress SSL Warnings' + description: 'Supress requests library SSL certificate warnings' weight: 86 type: 'checkbox' + report_discard_supported_0: + value: true + label: 'Report Discard Supported' + description: 'Report to clients of Cinder that the backend supports discard (aka. trim/unmap)' + weight: 87 + type: 'checkbox' + filter_function_0: value: "capabilities.total_volumes < 250" label: 'Filter Function' - description: 'Filter function for backend' - weight: 87 - type: "text" - - goodness_function_0: - value: "" - label: 'Goodness Function' - description: 'Goodness function for backend' + description: 'Set a limit on total number of volumes that will be created on the K2 array' weight: 88 type: "text" + oversubscription_ratio_0: value: false - label: 'Oversubscription Ratio' - description: 'Enable Oversubscription Ratio for backend If "auto_calc_max_oversubscription_ratio = True", kaminario driver will calculate dynamically "max_over_subscription_ratio"' - weight: 89 + label: 'Over-subscription Ratio' + description: 'Thin provisioning settings. False (default)- uses the default value of x20; True-calculates reduction rate based on the existing data' + weight: 90 type: 'checkbox' - scheduler_default_weighers: - value: "CapacityWeigher" - label: 'Scheduler weighers' - description: 'Default weighers for scheduler. For enabling multiple weighers, provide weighers seperated by ","' - weight: 90 - type: "text" - - scheduler_default_filters: - value: "DriverFilters" - label: 'Scheduler filters' - description: 'Default filters for scheduler. For enabling multiple weighers, provide weighers seperated by ","' - weight: 91 - type: "text" - - - rpc_response_timeout: - value: "60" - label: 'RPC timeout' - description: 'Timeout for RPC. Default timeout is 60' - weight: 92 - type: "text" add_backend_1: value: false - label: 'Add a new kaminario backend or scale an existing backend' - description: 'Add a new kaminario backend or scale an existing backend' - weight: 93 + label: 'Add a new Backend' + description: '' + weight: 94 type: 'checkbox' storage_protocol_1: type: "radio" weight: 95 value: "FC" - label: "Storage protocol to be used on the data path with storage system" + label: "Storage connection types" values: - data: "ISCSI" label: "ISCSI" @@ -247,8 +175,8 @@ attributes: cinder_node_1: value: "" - label: 'Cinder Node' - description: 'Name of the cinder node in which the backend must be configured' + label: 'Cinder Volume Node' + description: 'Name of the Fuel node with cinder role' weight: 100 type: "text" restrictions: @@ -257,8 +185,8 @@ attributes: backend_name_1: value: "" - label: 'Backend Name' - description: 'Name of the Backend' + label: 'Volume Backend Name' + description: 'A user defined name for a back-end storage' weight: 105 type: "text" restrictions: @@ -267,36 +195,20 @@ attributes: storage_ip_1: value: "" - label: 'Kaminario Storage Hostname/IP' - description: 'Provide management IP of kaminario K2 All-Flash array' + label: 'K2 Management IP' + description: 'The Management IP for the K2 back-end storage system' weight: 110 type: "text" restrictions: - condition: "settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' storage_user_1: value: "" label: 'Username' - description: 'Provide username of kaminario K2 All-Flash array' + description: 'The user name for accessing K2 management' weight: 115 type: "text" - regex: - source: '\S' - error: "Username field cannot be empty" - restrictions: - - condition: "settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - storage_password_1: - value: "" - label: 'Password' - description: 'Provide password of kaminario K2 All-Flash array' - weight: 120 - type: "password" restrictions: - condition: "settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' @@ -310,24 +222,21 @@ attributes: restrictions: - condition: "settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' - + replication_ip_1: value: "" label: 'IPaddress' - description: 'Ipaddress of Kaminario replication array' + description: 'Replication target MGMT IP' weight: 130 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_1.value == false" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' replication_login_1: value: "" label: 'Username' - description: 'user name of Kaminario replication device' + description: 'Replication target username' weight: 135 type: "text" restrictions: @@ -337,7 +246,7 @@ attributes: replication_password_1: value: "" label: 'Password' - description: 'password of Kaminario replication device' + description: 'Replication target password' weight: 140 type: "password" restrictions: @@ -347,67 +256,17 @@ attributes: replication_rpo_1: value: "60" label: 'RPO' - description: 'Value (in seconds) should be either 60 sec or multiple of 300 sec' + description: 'Replication recovery point objective in seconds. Must be eighter 60 or multiplies of 300' weight: 145 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_1.value == false" action: 'hide' - regex: - source: '^\d+$' - error: "You must provide a number" - - - create_type_1: - value: false - label: 'Create Volume Type' - description: 'Create volume type for the backend' - weight: 150 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - type_name_1: - value: "" - label: 'Volume Type Name' - description: 'Name of the volume type' - weight: 155 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.create_type_1.value == false" - action: 'hide' - - options_1: - type: "radio" - weight: 160 - value: "" - label: "Advance options for volume type" - values: - - data: "enable_replication_type" - label: "Enable Replication" - - data: "enable_dedup" - label: "Enable nodedup" - - data: "replication_dedup" - label: "Enable both Replication and nodedup" - restrictions: - - condition: "settings:cinder_kaminario.create_type_1.value == false" - action: 'hide' - - default_type_1: - value: false - label: 'Default Type' - description: 'Make this volume type as default volume type' - weight: 165 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.create_type_1.value == false" - action: 'hide' enable_multipath_1: - value: false + value: true label: 'Enable Multipath' - description: 'Enable multipath for cinder volumes' + description: 'Use initiator multipath option' weight: 170 type: 'checkbox' restrictions: @@ -415,52 +274,51 @@ attributes: action: 'hide' suppress_logs_1: - value: false - label: 'Suppress Logs' - description: 'Suppress Additional logs created by krest' + value: true + label: 'Suppress SSL Warnings' + description: 'Supress requests library SSL certificate warnings' weight: 171 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' + report_discard_supported_1: + value: true + label: 'Report Discard Supported' + description: 'Report to clients of Cinder that the backend supports discard (aka. trim/unmap)' + weight: 172 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.add_backend_1.value != true" + action: 'hide' + filter_function_1: value: "capabilities.total_volumes < 250" label: 'Filter Function' - description: 'Filter function for backend' - weight: 172 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - goodness_function_1: - value: "" - label: 'Goodness Function' - description: 'Goodness function for backend' + description: 'Set a limit on total number of volumes that will be created on the K2 array' weight: 173 type: "text" restrictions: - condition: "settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' + oversubscription_ratio_1: value: false - label: 'Oversubscription Ratio' - description: '' - weight: 174 + label: 'Over-subscription Ratio' + description: 'Thin provisioning settings. False (default)- uses the default value of x20; True-calculates reduction rate based on the existing data' + weight: 175 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' - - add_backend_2: value: false - label: 'Add a new kaminario backend or scale an existing backend' - description: 'Add a new kaminario backend or scale an existing backend' - weight: 175 + label: 'Add a new Backend' + description: '' + weight: 176 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_1.value != true" @@ -470,7 +328,7 @@ attributes: type: "radio" weight: 180 value: "FC" - label: "Storage protocol to be used on the data path with storage system" + label: "Storage connection types" values: - data: "ISCSI" label: "ISCSI" @@ -482,8 +340,8 @@ attributes: cinder_node_2: value: "" - label: 'Cinder Node' - description: 'Name of the cinder node in which the backend must be configured' + label: 'Cinder Volume Node' + description: 'Name of the Fuel node with cinder role' weight: 185 type: "text" restrictions: @@ -492,8 +350,8 @@ attributes: backend_name_2: value: "" - label: 'Backend Name' - description: 'Name of the Backend' + label: 'Volume Backend Name' + description: 'A user defined name for a back-end storage' weight: 190 type: "text" restrictions: @@ -502,26 +360,20 @@ attributes: storage_ip_2: value: "" - label: 'Kaminario Storage Hostname/IP' - description: 'Provide management IP of kaminario K2 All-Flash array' + label: 'K2 Management IP' + description: 'The Management IP for the K2 back-end storage system' weight: 195 type: "text" restrictions: - condition: "settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' storage_user_2: value: "" label: 'Username' - description: 'Provide username of kaminario K2 All-Flash array' + description: 'The user name for accessing K2 management' weight: 200 type: "text" - regex: - source: '\S' - error: "Username field cannot be empty" restrictions: - condition: "settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' @@ -529,7 +381,7 @@ attributes: storage_password_2: value: "" label: 'Password' - description: 'Provide password of kaminario K2 All-Flash array' + description: 'The password for accessing K2 management' weight: 205 type: "password" restrictions: @@ -548,21 +400,18 @@ attributes: replication_ip_2: value: "" - label: 'IPaddress' - description: 'Ipaddress of Kaminario replication array' + label: 'Replication Target IP' + description: 'Replication target MGMT IP' weight: 215 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_2.value == false" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' replication_login_2: value: "" label: 'Username' - description: 'user name of Kaminario replication device' + description: 'Replication target username' weight: 220 type: "text" restrictions: @@ -572,7 +421,7 @@ attributes: replication_password_2: value: "" label: 'Password' - description: 'password of Kaminario replication device' + description: 'Replication target password' weight: 225 type: "password" restrictions: @@ -582,66 +431,17 @@ attributes: replication_rpo_2: value: "60" label: 'RPO' - description: 'Value (in seconds) should be either 60 sec or multiple of 300 sec' + description: 'Replication recovery point objective in seconds. Must be eighter 60 or multiplies of 300' weight: 230 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_2.value == false" action: 'hide' - regex: - source: '^\d+$' - error: "You must provide a number" - - create_type_2: - value: false - label: 'Create Volume Type' - description: 'Create volume type for the backend' - weight: 235 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - type_name_2: - value: "" - label: 'Volume Type Name' - description: 'Name of the volume type' - weight: 240 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.create_type_2.value == false" - action: 'hide' - - options_2: - type: "radio" - weight: 245 - value: "" - label: "Advance options for volume type" - values: - - data: "enable_replication_type" - label: "Enable Replication" - - data: "enable_dedup" - label: "Enable nodedup" - - data: "replication_dedup" - label: "Enable both Replication and nodedup" - restrictions: - - condition: "settings:cinder_kaminario.create_type_2.value == false" - action: 'hide' - - default_type_2: - value: false - label: 'Default_type' - description: 'Make this volume type as default volume type' - weight: 250 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.create_type_2.value == false" - action: 'hide' enable_multipath_2: - value: false + value: true label: 'Enable Multipath' - description: 'Enable multipath for cinder volumes' + description: 'Use initiator multipath option' weight: 260 type: 'checkbox' restrictions: @@ -649,40 +449,42 @@ attributes: action: 'hide' suppress_logs_2: - value: false - label: 'Suppress Logs' - description: 'Suppress Additional logs created by krest' + value: true + label: 'Suppress SSL Warnings' + description: 'Supress requests library SSL certificate warnings' weight: 261 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' - - filter_function_2: - value: "capabilities.total_volumes < 250" - label: 'Filter Function' - description: 'Filter function for backend' + + report_discard_supported_2: + value: true + label: 'Report Discard Supported' + description: 'Report to clients of Cinder that the backend supports discard (aka. trim/unmap)' weight: 262 - type: "text" + type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' - goodness_function_2: - value: "" - label: 'Goodness Function' - description: 'Goodness function for backend' + + filter_function_2: + value: "capabilities.total_volumes < 250" + label: 'Filter Function' + description: 'Set a limit on total number of volumes that will be created on the K2 array' weight: 263 type: "text" restrictions: - condition: "settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' + oversubscription_ratio_2: value: false - label: 'Oversubscription Ratio' - description: 'Enable Oversubscription Ratio for backend If "auto_calc_max_oversubscription_ratio = True", kaminario driver will calculate dynamically "max_over_subscription_ratio"' - weight: 264 + label: 'Over-subscription Ratio' + description: 'Thin provisioning settings. False (default)- uses the default value of x20; True-calculates reduction rate based on the existing data' + weight: 265 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" @@ -692,9 +494,9 @@ attributes: add_backend_3: value: false - label: 'Add a new kaminario backend or scale an existing backend' - description: 'Add a new kaminario backend or scale an existing backend' - weight: 265 + label: 'Add a new Backend' + description: '' + weight: 266 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" @@ -704,7 +506,7 @@ attributes: type: "radio" weight: 270 value: "FC" - label: "Storage protocol to be used on the data path with storage system" + label: "Storage connection types" values: - data: "ISCSI" label: "ISCSI" @@ -716,8 +518,8 @@ attributes: cinder_node_3: value: "" - label: 'Cinder Node' - description: 'Name of the cinder node in which the backend must be configured' + label: 'Cinder Volume Node' + description: 'Name of the Fuel node with cinder role' weight: 275 type: "text" restrictions: @@ -725,8 +527,8 @@ attributes: action: 'hide' backend_name_3: value: "" - label: 'Backend Name' - description: 'Name of the Backend' + label: 'Volume Backend Name' + description: 'A user defined name for a back-end storage' weight: 280 type: "text" restrictions: @@ -735,26 +537,20 @@ attributes: storage_ip_3: value: "" - label: 'Kaminario Storage Hostname/IP' - description: 'Provide management IP of kaminario K2 All-Flash array' + label: 'K2 Management IP' + description: 'The Management IP for the K2 back-end storage system' weight: 285 type: "text" restrictions: - condition: "settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' storage_user_3: value: "" label: 'Username' - description: 'Provide username of kaminario K2 All-Flash array' + description: 'The user name for accessing K2 management' weight: 290 type: "text" - regex: - source: '\S' - error: "Username field cannot be empty" restrictions: - condition: "settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' @@ -762,7 +558,7 @@ attributes: storage_password_3: value: "" label: 'Password' - description: 'Provide management password of kaminario K2 All-Flash array' + description: 'The password for accessing K2 management' weight: 295 type: "password" restrictions: @@ -781,21 +577,18 @@ attributes: replication_ip_3: value: "" - label: 'IPaddress' - description: 'Ipaddress of Kaminario replication array' + label: 'Replication Target IP' + description: 'Replication target MGMT IP' weight: 305 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_3.value == false" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' replication_login_3: value: "" label: 'Username' - description: 'user name of Kaminario replication device' + description: 'Replication target username' weight: 310 type: "text" restrictions: @@ -805,7 +598,7 @@ attributes: replication_password_3: value: "" label: 'Password' - description: 'password of Kaminario replication device' + description: 'Replication target password' weight: 315 type: "password" restrictions: @@ -815,66 +608,18 @@ attributes: replication_rpo_3: value: "60" label: 'RPO' - description: 'Value (in seconds) should be either 60 sec or multiple of 300 sec' + description: 'Replication recovery point objective in seconds. Must be eighter 60 or multiplies of 300' weight: 320 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_3.value == false" action: 'hide' - regex: - source: '^\d+$' - error: "You must provide a number" - create_type_3: - value: false - label: 'Create Volume Type' - description: 'Create volume type for the backend' - weight: 321 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - type_name_3: - value: "" - label: 'Volume Type Name' - description: 'Name of the volume type' - weight: 325 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.create_type_3.value == false" - action: 'hide' - - options_3: - type: "radio" - weight: 330 - value: "" - label: "Advance options for volume type" - values: - - data: "enable_replication_type" - label: "Enable Replication" - - data: "enable_dedup" - label: "Enable nodedup" - - data: "replication_dedup" - label: "Enable both Replication and nodedup" - restrictions: - - condition: "settings:cinder_kaminario.create_type_3.value == false" - action: 'hide' - - default_type_3: - value: false - label: 'Default_type' - description: 'Make this volume type as default volume type' - weight: 335 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.create_type_3.value == false" - action: 'hide' enable_multipath_3: - value: false + value: true label: 'Enable Multipath' - description: 'Enable multipath for cinder volumes' + description: 'Use initiator multipath option' weight: 340 type: 'checkbox' restrictions: @@ -882,40 +627,41 @@ attributes: action: 'hide' suppress_logs_3: - value: false - label: 'Suppress Logs' - description: 'Suppress Additional logs created by krest' + value: true + label: 'Suppress SSL Warnings' + description: 'Supress requests library SSL certificate warnings' weight: 341 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' + report_discard_supported_3: + value: true + label: 'Report Discard Supported' + description: 'Report to clients of Cinder that the backend supports discard (aka. trim/unmap)' + weight: 342 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" + action: 'hide' + filter_function_3: value: "capabilities.total_volumes < 250" label: 'Filter Function' - description: 'Filter function for backend' - weight: 342 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - goodness_function_3: - value: "" - label: 'Goodness Function' - description: 'Goodness function for backend' + description: 'Set a limit on total number of volumes that will be created on the K2 array' weight: 343 type: "text" restrictions: - condition: "settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' + oversubscription_ratio_3: value: false - label: 'Oversubscription Ratio' - description: 'Enable Oversubscription Ratio for backend If "auto_calc_max_oversubscription_ratio = True", kaminario driver will calculate dynamically "max_over_subscription_ratio"' - weight: 344 + label: 'Over-subscription Ratio' + description: 'Thin provisioning settings. False (default)- uses the default value of x20; True-calculates reduction rate based on the existing data' + weight: 345 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" @@ -924,9 +670,9 @@ attributes: add_backend_4: value: false - label: 'Add a new kaminario backend or scale an existing backend' - description: 'Add a new kaminario backend or scale an existing backend' - weight: 345 + label: 'Add a new Backend' + description: '' + weight: 346 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" @@ -936,7 +682,7 @@ attributes: type: "radio" weight: 350 value: "FC" - label: "Storage protocol to be used on the data path with storage system" + label: "Storage connection types" values: - data: "ISCSI" label: "ISCSI" @@ -948,8 +694,8 @@ attributes: cinder_node_4: value: "" - label: 'Cinder Node' - description: 'Name of the cinder node in which the backend must be configured' + label: 'Cinder Volume Node' + description: 'Name of the Fuel node with cinder role' weight: 355 type: "text" restrictions: @@ -958,8 +704,8 @@ attributes: backend_name_4: value: "" - label: 'Backend Name' - description: 'Name of the Backend' + label: 'Volume Backend Name' + description: 'A user defined name for a back-end storage' weight: 360 type: "text" restrictions: @@ -968,26 +714,20 @@ attributes: storage_ip_4: value: "" - label: 'Kaminario Storage Hostname/IP' - description: 'Provide management IP of kaminario K2 All-Flash array' + label: 'K2 Management IP' + description: 'The Management IP for the K2 back-end storage system' weight: 365 type: "text" restrictions: - condition: "settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' storage_user_4: value: "" label: 'Username' - description: 'Provide username of kaminario K2 All-Flash array' + description: 'The user name for accessing K2 management' weight: 370 type: "text" - regex: - source: '\S' - error: "Username field cannot be empty" restrictions: - condition: "settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' @@ -995,7 +735,7 @@ attributes: storage_password_4: value: "" label: 'Password' - description: 'Provide password of kaminario K2 All-Flash array' + description: 'The password for accessing K2 management' weight: 375 type: "password" restrictions: @@ -1014,21 +754,18 @@ attributes: replication_ip_4: value: "" - label: 'IPaddress' - description: 'Ipaddress of Kaminario replication array' + label: 'Replication Target IP' + description: 'Replication target MGMT IP' weight: 385 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_4.value == false" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' replication_login_4: value: "" label: 'Username' - description: 'user name of Kaminario replication device' + description: 'Replication target username' weight: 390 type: "text" restrictions: @@ -1038,7 +775,7 @@ attributes: replication_password_4: value: "" label: 'Password' - description: 'password of Kaminario replication device' + description: 'Replication target password' weight: 395 type: "password" restrictions: @@ -1048,67 +785,17 @@ attributes: replication_rpo_4: value: "60" label: 'RPO' - description: 'Value (in seconds) should be either 60 sec or multiple of 300 sec' + description: 'Replication recovery point objective in seconds. Must be eighter 60 or multiplies of 300' weight: 400 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_4.value == false" action: 'hide' - regex: - source: '^\d+$' - error: "You must provide a number" - - - create_type_4: - value: false - label: 'Create Volume Type' - description: 'Create volume type for the backend' - weight: 405 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - type_name_4: - value: "" - label: 'Volume Type Name' - description: 'Name of the volume type' - weight: 410 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.create_type_4.value == false" - action: 'hide' - - options_4: - type: "radio" - weight: 415 - value: "" - label: "Advance options for volume type" - values: - - data: "enable_replication_type" - label: "Enable Replication" - - data: "enable_dedup" - label: "Enable nodedup" - - data: "replication_dedup" - label: "Enable both Replication and nodedup" - restrictions: - - condition: "settings:cinder_kaminario.create_type_4.value == false" - action: 'hide' - - default_type_4: - value: false - label: 'Default type' - description: 'Make this volume type as default volume type' - weight: 420 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.create_type_4.value == false" - action: 'hide' enable_multipath_4: - value: false + value: true label: 'Enable Multipath' - description: 'Enable multipath for cinder volumes' + description: 'Use initiator multipath option' weight: 425 type: 'checkbox' restrictions: @@ -1116,40 +803,41 @@ attributes: action: 'hide' suppress_logs_4: - value: false - label: 'Suppress Logs' - description: 'Suppress Additional logs created by krest' + value: true + label: 'Suppress SSL Warnings' + description: 'Supress requests library SSL certificate warnings' weight: 426 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' + report_discard_supported_4: + value: true + label: 'Report Discard Supported' + description: 'Report to clients of Cinder that the backend supports discard (aka. trim/unmap)' + weight: 427 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" + action: 'hide' + filter_function_4: value: "capabilities.total_volumes < 250" label: 'Filter Function' - description: 'Filter function for backend' - weight: 427 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - goodness_function_4: - value: "" - label: 'Goodness Function' - description: 'Goodness function for backend' + description: 'Set a limit on total number of volumes that will be created on the K2 array' weight: 428 type: "text" restrictions: - condition: "settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' + oversubscription_ratio_4: value: false - label: 'Oversubscription Ratio' - description: 'Enable Oversubscription Ratio for backend If "auto_calc_max_oversubscription_ratio = True", kaminario driver will calculate dynamically "max_over_subscription_ratio"' - weight: 429 + label: 'Over-subscription Ratio' + description: 'Thin provisioning settings. False (default)- uses the default value of x20; True-calculates reduction rate based on the existing data' + weight: 430 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" @@ -1159,9 +847,9 @@ attributes: add_backend_5: value: false - label: 'Add a new kaminario backend or scale an existing backend' - description: 'Add a new kaminario backend or scale an existing backend' - weight: 430 + label: 'Add a new Backend' + description: '' + weight: 431 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" @@ -1171,7 +859,7 @@ attributes: type: "radio" weight: 435 value: "FC" - label: "Storage protocol to be used on the data path with storage system" + label: "Storage connection types" values: - data: "ISCSI" label: "ISCSI" @@ -1183,8 +871,8 @@ attributes: cinder_node_5: value: "" - label: 'Cinder Node' - description: 'Name of the cinder node in which the backend must be configured' + label: 'Cinder Volume Node' + description: 'Name of the Fuel node with cinder role' weight: 440 type: "text" restrictions: @@ -1193,8 +881,8 @@ attributes: backend_name_5: value: "" - label: 'Backend Name' - description: 'Name of the Backend' + label: 'Volume Backend Name' + description: 'A user defined name for a back-end storage' weight: 445 type: "text" restrictions: @@ -1203,26 +891,20 @@ attributes: storage_ip_5: value: "" - label: 'Kaminario Storage Hostname/IP' - description: 'Provide management IP of kaminario K2 All-Flash array' + label: 'K2 Management IP' + description: 'The Management IP for the K2 back-end storage system' weight: 450 type: "text" restrictions: - condition: "settings:cinder_kaminario.add_backend_5.value != true or settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' storage_user_5: value: "" label: 'Username' - description: 'Provide username of kaminario K2 All-Flash array' + description: 'The user name for accessing K2 management' weight: 455 type: "text" - regex: - source: '\S' - error: "Username field cannot be empty" restrictions: - condition: "settings:cinder_kaminario.add_backend_5.value != true or settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' @@ -1230,7 +912,7 @@ attributes: storage_password_5: value: "" label: 'Password' - description: 'Provide password of kaminario K2 All-Flash array' + description: 'The password for accessing K2 management' weight: 460 type: "password" restrictions: @@ -1249,21 +931,18 @@ attributes: replication_ip_5: value: "" - label: 'IPaddress' - description: 'Ipaddress of Kaminario replication array' + label: 'Replication Target IP' + description: 'Replication target MGMT IP' weight: 470 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_5.value == false" action: 'hide' - regex: - source: '^\w[\w\-\s.]+$' - error: 'Invalid IP ranges' replication_login_5: value: "" label: 'Username' - description: 'user name of Kaminario replication device' + description: 'Replication target username' weight: 475 type: "text" restrictions: @@ -1273,7 +952,7 @@ attributes: replication_password_5: value: "" label: 'Password' - description: 'password of Kaminario replication device' + description: 'Replication target password' weight: 480 type: "password" restrictions: @@ -1283,67 +962,17 @@ attributes: replication_rpo_5: value: "60" label: 'RPO' - description: 'Value (in seconds) should be either 60 sec or multiple of 300 sec' + description: 'Replication recovery point objective in seconds. Must be eighter 60 or multiplies of 300' weight: 485 type: "text" restrictions: - condition: "settings:cinder_kaminario.enable_replication_5.value == false" action: 'hide' - regex: - source: '^\d+$' - error: "You must provide a number" - - - create_type_5: - value: false - label: 'Create Volume Type' - description: 'Create volume type for the backend' - weight: 490 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.add_backend_5.value != true or settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - type_name_5: - value: "" - label: 'Volume Type Name' - description: 'Name of the volume type' - weight: 495 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.create_type_5.value == false" - action: 'hide' - - options_5: - type: "radio" - weight: 500 - value: "" - label: "Advance options for volume type" - values: - - data: "enable_replication_type" - label: "Enable Replication" - - data: "enable_dedup" - label: "Enable nodedup" - - data: "replication_dedup" - label: "Enable both Replication and nodedup" - restrictions: - - condition: "settings:cinder_kaminario.create_type_5.value == false" - action: 'hide' - - default_type_5: - value: false - label: 'Default Type' - description: 'Make this volume type as default volume type' - weight: 505 - type: 'checkbox' - restrictions: - - condition: "settings:cinder_kaminario.create_type_5.value == false" - action: 'hide' enable_multipath_5: - value: false + value: true label: 'Enable Multipath' - description: 'Enable multipath for cinder volumes' + description: 'Use initiator multipath option' weight: 510 type: 'checkbox' restrictions: @@ -1351,29 +980,29 @@ attributes: action: 'hide' suppress_logs_5: - value: false - label: 'Suppress Logs' - description: 'Suppress Additional logs created by krest' + value: true + label: 'Suppress SSL Warnings' + description: 'Supress requests library SSL certificate warnings' weight: 511 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_5.value != true or settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' + report_discard_supported_5: + value: true + label: 'Report Discard Supported' + description: 'Report to clients of Cinder that the backend supports discard (aka. trim/unmap)' + weight: 512 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.add_backend_5.value != true or settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" + action: 'hide' + filter_function_5: value: "capabilities.total_volumes < 250" label: 'Filter Function' - description: 'Filter function for backend' - weight: 512 - type: "text" - restrictions: - - condition: "settings:cinder_kaminario.add_backend_5.value != true or settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" - action: 'hide' - - goodness_function_5: - value: "" - label: 'Goodness Function' - description: 'Goodness function for backend' + description: 'Set a limit on total number of volumes that will be created on the K2 array' weight: 513 type: "text" restrictions: @@ -1381,12 +1010,380 @@ attributes: action: 'hide' + oversubscription_ratio_5: value: false - label: 'Oversubscription Ratio' - description: 'Enable Oversubscription Ratio for backend If "auto_calc_max_oversubscription_ratio = True", kaminario driver will calculate dynamically "max_over_subscription_ratio"' - weight: 514 + label: 'Over-subscription Ratio' + description: 'Thin provisioning settings. False (default)- uses the default value of x20; True-calculates reduction rate based on the existing data' + weight: 515 type: 'checkbox' restrictions: - condition: "settings:cinder_kaminario.add_backend_5.value != true or settings:cinder_kaminario.add_backend_4.value != true or settings:cinder_kaminario.add_backend_3.value != true or settings:cinder_kaminario.add_backend_2.value != true or settings:cinder_kaminario.add_backend_1.value != true" action: 'hide' + + + + + create_type_0: + value: false + label: 'Add New Volume Type' + description: '' + weight: 520 + type: 'checkbox' + + type_name_0: + value: "" + label: 'Volume Type Name' + description: 'Name of the volume type' + weight: 525 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value == false" + action: 'hide' + + type_backendname_0: + value: "" + label: 'Volume Backend Name' + description: 'Name of the Backend that is associated with this type' + weight: 527 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value == false" + action: 'hide' + + type_enable_replication_0: + value: false + label: 'Enable Replication' + description: 'Enable replication for volume type' + weight: 530 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value == false" + action: 'hide' + + enable_nodedup_0: + value: true + label: 'Enable Deduplication' + description: 'Enable Deduplication for volume type' + weight: 535 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value == false" + action: 'hide' + + default_type_0: + value: false + label: 'Default Type' + description: 'Make this volume type the default volume type' + weight: 540 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value == false " + action: 'hide' + + create_type_1: + value: false + label: 'Add New Volume Type' + description: '' + weight: 545 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value != true" + action: 'hide' + + type_name_1: + value: "" + label: 'Volume Type Name' + description: 'Name of the volume type' + weight: 550 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_1.value == false or settings:cinder_kaminario.create_type_0.value == false" + action: 'hide' + + type_backendname_1: + value: "" + label: 'Volume Backend Name' + description: 'Name of the Backend that is associated with this type' + weight: 553 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_1.value == false or settings:cinder_kaminario.create_type_0.value == false" + action: 'hide' + + type_enable_replication_1: + value: false + label: 'Enable Replication' + description: 'Enable replication for volume type' + weight: 555 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_1.value == false or settings:cinder_kaminario.create_type_0.value == false" + action: 'hide' + + enable_nodedup_1: + value: true + label: 'Enable Deduplication' + description: 'Enable Deduplication for volume type' + weight: 560 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_1.value == false or settings:cinder_kaminario.create_type_0.value == false" + action: 'hide' + + + default_type_1: + value: false + label: 'Default Type' + description: 'Make this volume type the default volume type' + weight: 565 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_1.value == false or settings:cinder_kaminario.create_type_0.value == false" + action: 'hide' + + create_type_2: + value: false + label: 'Add New Volume Type' + description: '' + weight: 570 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true" + action: 'hide' + + type_name_2: + value: "" + label: 'Volume Type Name' + description: 'Name of the volume type' + weight: 575 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_2.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true" + action: 'hide' + + type_backendname_2: + value: "" + label: 'Volume Backend Name' + description: 'Name of the Backend that is associated with this type' + weight: 577 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_2.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true" + action: 'hide' + + type_enable_replication_2: + value: false + label: 'Enable Replication' + description: 'Enable replication for volume type' + weight: 580 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_2.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true" + action: 'hide' + + enable_nodedup_2: + value: true + label: 'Enable Deduplication' + description: 'Enable Deduplication for volume type' + weight: 585 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_2.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true" + action: 'hide' + + + default_type_2: + value: false + label: 'Default_type' + description: 'Make this volume type the default volume type' + weight: 590 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_2.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true" + action: 'hide' + + + + create_type_3: + value: false + label: 'Add New Volume Type' + description: '' + weight: 595 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true" + action: 'hide' + + type_name_3: + value: "" + label: 'Volume Type Name' + description: 'Name of the volume type' + weight: 600 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_3.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true" + action: 'hide' + + type_backendname_3: + value: "" + label: 'Volume Backend Name' + description: 'Name of the Backend that is associated with this type' + weight: 603 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_3.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true" + action: 'hide' + + type_enable_replication_3: + value: false + label: 'Enable Replication' + description: 'Enable replication for volume type' + weight: 605 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_3.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true" + action: 'hide' + + enable_nodedup_3: + value: true + label: 'Enable Deduplication' + description: 'Enable Deduplication for volume type' + weight: 610 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_3.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true" + action: 'hide' + + default_type_3: + value: false + label: 'Default_type' + description: 'Make this volume type the default volume type' + weight: 615 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_3.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true" + action: 'hide' + + + create_type_4: + value: false + label: 'Add New Volume Type' + description: '' + weight: 620 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true" + action: 'hide' + + type_name_4: + value: "" + label: 'Volume Type Name' + description: 'Name of the volume type' + weight: 625 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_4.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true" + action: 'hide' + + type_backendname_4: + value: "" + label: 'Volume Backend Name' + description: 'Name of the Backend that is associated with this type' + weight: 627 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_4.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true" + action: 'hide' + + type_enable_replication_4: + value: false + label: 'Enable Replication' + description: 'Enable replication for volume type' + weight: 630 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_4.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true" + action: 'hide' + + enable_nodedup_4: + value: true + label: 'Enable Deduplication' + description: 'Enable Deduplication for volume type' + weight: 635 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_4.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true" + action: 'hide' + + default_type_4: + value: false + label: 'Default type' + description: 'Make this volume type the default volume type' + weight: 640 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_4.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true" + action: 'hide' + + + create_type_5: + value: false + label: 'Add New Volume Type' + description: '' + weight: 645 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true or settings:cinder_kaminario.create_type_4.value != true" + action: 'hide' + + type_name_5: + value: "" + label: 'Volume Type Name' + description: 'Name of the volume type' + weight: 650 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_5.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true or settings:cinder_kaminario.create_type_4.value != true" + action: 'hide' + + type_backendname_5: + value: "" + label: 'Volume Backend Name' + description: 'Name of the Backend that is associated with this type' + weight: 653 + type: "text" + restrictions: + - condition: "settings:cinder_kaminario.create_type_5.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true or settings:cinder_kaminario.create_type_4.value != true" + action: 'hide' + + type_enable_replication_5: + value: false + label: 'Enable Replication' + description: 'Enable replication for volume type' + weight: 655 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_5.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true or settings:cinder_kaminario.create_type_4.value != true" + action: 'hide' + + enable_nodedup_5: + value: true + label: 'Enable Deduplication' + description: 'Enable Deduplication for volume type' + weight: 660 + type: "checkbox" + restrictions: + - condition: "settings:cinder_kaminario.create_type_5.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true or settings:cinder_kaminario.create_type_4.value != true" + action: 'hide' + + default_type_5: + value: false + label: 'Default Type' + description: 'Make this volume type the default volume type' + weight: 665 + type: 'checkbox' + restrictions: + - condition: "settings:cinder_kaminario.create_type_5.value == false or settings:cinder_kaminario.create_type_0.value != true or settings:cinder_kaminario.create_type_1.value != true or settings:cinder_kaminario.create_type_2.value != true or settings:cinder_kaminario.create_type_3.value != true or settings:cinder_kaminario.create_type_4.value != true" + action: 'hide' + diff --git a/metadata.yaml b/metadata.yaml index d2b9371..b1635c1 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -1,7 +1,7 @@ # Plugin name name: cinder_kaminario # Human-readable name for your plugin -title: Kaminario For Cinder +title: Kaminario K2 For Cinder # Plugin version version: '1.0.0' # Description