Enable a standalone network for shares
The patch adds config options and template changes to enable a single standalone network for serving shares from a NetApp appliance. Closes-Bug: #1989216 Change-Id: I807edb61b6171cfd2260d1eba581019a130090c0
This commit is contained in:
parent
f64d041ca2
commit
29af821ce4
81
config.yaml
81
config.yaml
@ -50,3 +50,84 @@ options:
|
|||||||
description: |
|
description: |
|
||||||
Password for the administrative user account specified in the
|
Password for the administrative user account specified in the
|
||||||
'admin-name' option.
|
'admin-name' option.
|
||||||
|
transport-type:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Transport protocol for communicating with the storage system or proxy
|
||||||
|
server. Valid options include http and https.
|
||||||
|
default: http
|
||||||
|
netapp-server-port:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
The TCP port to use for communication with the storage system or proxy
|
||||||
|
server. If not specified, ONTAP drivers will use 80 for HTTP and 443 for HTTPS.
|
||||||
|
default: ''
|
||||||
|
backend-availability-zone:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Zone where backend shared server would be created.
|
||||||
|
default: 'nova'
|
||||||
|
root-volume-name:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
This option specifies name of the root volume that will be created when
|
||||||
|
a new SVM is created to correspond to a Manila share server.
|
||||||
|
default: 'root'
|
||||||
|
aggregate-name-search-pattern:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
This option specifies a regular expression that is applied against all
|
||||||
|
available aggregates related to the SVM specified in the netapp_vserver
|
||||||
|
option. This filtered list will be reported to the Manila scheduler as
|
||||||
|
valid pools for provisioning new shares.
|
||||||
|
default: '(.*)'
|
||||||
|
standalone-network:
|
||||||
|
type: boolean
|
||||||
|
description: |
|
||||||
|
Standalone Network Plugin Use this plugin in stand-alone deployments of
|
||||||
|
OpenStack Manila
|
||||||
|
default: False
|
||||||
|
standalone-network-network-type:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Specify the network type as one of flat or vlan. If unspecified, the
|
||||||
|
driver assumes the network is non-segmented. If using vlan, specify
|
||||||
|
the standalone_network_plugin_segmentation_id option as well.
|
||||||
|
default: flat
|
||||||
|
standalone-network-segmentation-id:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Specify the segmentation ID that should be assigned to data LIFs through
|
||||||
|
which shares can be exported. This option is not necessary if the
|
||||||
|
standalone_network_plugin_network_type is set to flat
|
||||||
|
default: ''
|
||||||
|
standalone-network-mtu:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Maximum Transmission unit (MTU) value of the network.
|
||||||
|
default: '1500'
|
||||||
|
standalone-network-allowed-ip-ranges:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Specify the range of IP addresses that can be used on data LIFs through
|
||||||
|
which shares can be exported. An example of a valid range would be
|
||||||
|
10.0.0.10-10.0.0.254. If this value is not specified, the entire range
|
||||||
|
of IP addresses within the network computed by applying the value of
|
||||||
|
standalone_network_plugin_mask to the value of
|
||||||
|
standalone_network_plugin_gateway. In this case, the broadcast,
|
||||||
|
network, and gateway addresses are automatically excluded.
|
||||||
|
default: ''
|
||||||
|
standalone-network-mask:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Specify the subnet mask that should be configured on the data LIF through
|
||||||
|
which the share is exported. You can specify the CIDR suffix (without the
|
||||||
|
slash, e.g. 24) or the full netmask (e.g. 255.255.255.0).
|
||||||
|
default: "24"
|
||||||
|
standalone-network-gateway:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Specify the gateway IP address that should be configured on the data
|
||||||
|
LIF through which the share is exported. A Vserver static route is
|
||||||
|
configured using this gateway.
|
||||||
|
default: "172.16.31.1"
|
||||||
|
@ -86,6 +86,9 @@ class ManilaNetappCharm(ops_openstack.core.OSBaseCharm):
|
|||||||
'admin-password']
|
'admin-password']
|
||||||
if self.options.driver_handles_share_servers:
|
if self.options.driver_handles_share_servers:
|
||||||
required_configs.append('root-volume-aggregate-name')
|
required_configs.append('root-volume-aggregate-name')
|
||||||
|
if self.options.standalone_network:
|
||||||
|
required_configs.append('standalone-network-gateway')
|
||||||
|
required_configs.append('standalone-network-mask')
|
||||||
else:
|
else:
|
||||||
required_configs.append('vserver-name')
|
required_configs.append('vserver-name')
|
||||||
missing_configs = []
|
missing_configs = []
|
||||||
|
@ -3,25 +3,38 @@
|
|||||||
share_backend_name = {{ options.share_backend_name }}
|
share_backend_name = {{ options.share_backend_name }}
|
||||||
share_driver = manila.share.drivers.netapp.common.NetAppDriver
|
share_driver = manila.share.drivers.netapp.common.NetAppDriver
|
||||||
driver_handles_share_servers = {{ options.driver_handles_share_servers }}
|
driver_handles_share_servers = {{ options.driver_handles_share_servers }}
|
||||||
{%- if options.driver_handles_share_servers %}
|
|
||||||
netapp_root_volume_aggregate = {{ options.root_volume_aggregate_name }}
|
|
||||||
netapp_enabled_share_protocols = {{ options.enabled_share_protocols }}
|
|
||||||
{%- else %}
|
|
||||||
netapp_vserver = {{ options.vserver_name }}
|
|
||||||
{%- endif %}
|
|
||||||
netapp_storage_family = ontap_cluster
|
netapp_storage_family = ontap_cluster
|
||||||
netapp_server_hostname = {{ options.management_address }}
|
netapp_server_hostname = {{ options.management_address }}
|
||||||
netapp_login = {{ options.admin_name }}
|
netapp_login = {{ options.admin_name }}
|
||||||
netapp_password = {{ options.admin_password }}
|
netapp_password = {{ options.admin_password }}
|
||||||
|
netapp_transport_type = {{ options.transport_type }}
|
||||||
|
netapp_server_port = {{ options.netapp_server_port }}
|
||||||
|
backend_availability_zone = {{ options.backend_availability_zone }}
|
||||||
|
netapp_aggregate_name_search_pattern = {{ options.aggregate_name_search_pattern }}
|
||||||
|
|
||||||
{% if options.driver_handles_share_servers %}
|
{%- if options.driver_handles_share_servers %}
|
||||||
|
netapp_root_volume_aggregate = {{ options.root_volume_aggregate_name }}
|
||||||
|
netapp_root_volume_name = {{ options.root_volume_name }}
|
||||||
|
netapp_enabled_share_protocols = {{ options.enabled_share_protocols }}
|
||||||
|
{% if options.standalone_network %}
|
||||||
|
network_api_class = manila.network.standalone_network_plugin.StandaloneNetworkPlugin
|
||||||
|
standalone_network_plugin_gateway = {{ options.standalone_network_gateway }}
|
||||||
|
standalone_network_plugin_mask = {{ options.standalone_network_mask }}
|
||||||
|
standalone_network_plugin_network_type = {{ options.standalone_network_network_type }}
|
||||||
|
standalone_network_plugin_segmentation_id = {{ options.standalone_network_segmentation_id }}
|
||||||
|
standalone_network_plugin_mtu = {{ options.standalone_network_mtu }}
|
||||||
|
standalone_network_plugin_allowed_ip_ranges = {{ options.standalone_network_allowed_ip_ranges }}
|
||||||
|
{% else %}
|
||||||
[neutron]
|
[neutron]
|
||||||
username = {{ manila_plugin.authentication_data.username }}
|
username = {{ manila_plugin.authentication_data.username }}
|
||||||
password = {{ manila_plugin.authentication_data.password }}
|
password = {{ manila_plugin.authentication_data.password }}
|
||||||
project_domain_id = {{ manila_plugin.authentication_data.project_domain_id }}
|
project_domain_name = {{ manila_plugin.authentication_data.project_domain_name }}
|
||||||
project_name = {{ manila_plugin.authentication_data.project_name }}
|
project_name = {{ manila_plugin.authentication_data.project_name }}
|
||||||
user_domain_id = {{ manila_plugin.authentication_data.user_domain_id }}
|
user_domain_name = {{ manila_plugin.authentication_data.user_domain_name }}
|
||||||
auth_uri = {{ manila_plugin.authentication_data.auth_uri }}
|
auth_uri = {{ manila_plugin.authentication_data.auth_uri }}
|
||||||
auth_url = {{ manila_plugin.authentication_data.auth_url }}
|
auth_url = {{ manila_plugin.authentication_data.auth_url }}
|
||||||
auth_type = {{ manila_plugin.authentication_data.auth_type }}
|
auth_type = {{ manila_plugin.authentication_data.auth_type }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{%- else %}
|
||||||
|
netapp_vserver = {{ options.vserver_name }}
|
||||||
|
{%- endif %}
|
||||||
|
Loading…
Reference in New Issue
Block a user