added support for ontab_cluster and e series cluster

This commit is contained in:
narindergupta 2020-09-26 07:02:24 -05:00
parent b3ae62ceba
commit a12c14833d
4 changed files with 93 additions and 6 deletions

View File

@ -1 +1,87 @@
options: options:
volume-backend-name:
type: string
default: "cinder_netapp"
description: Service name to present to Cinder
netapp-storage-family:
type: string
default: "ontap_cluster"
description: |
The storage family type used on the storage system;
valid values are ontap_cluster for using clustered Data ONTAP,
or eseries for using E-Series.
netapp-storage-protocol:
type: string
default: "iscsi"
description: SAN protocol to use. Choose between iscsi or fc.
netapp-vserver:
type: string
default: !!null ""
description: |
This option specifies the virtual storage server
(Vserver) name on the storage cluster on which provisioning of
block storage volumes should occur.
netapp-server-hostname:
type: string
default: !!null ""
description: |
The hostname (or IP address) for the storage system or
proxy server.
netapp-server-port:
type: int
default: !!null ""
description: |
The TCP port to use for communication with the storage
system or proxy server. If not specified, Data ONTAP drivers will
use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP
and 8443 for HTTPS.
netapp-login:
type: string
default: !!null ""
description: |
Administrative user account name used to access the
storage system or proxy server.
netapp-password:
type: string
default: !!null ""
description: |
Password for the administrative user account specified
in the netapp_login option.
netapp-nfs-shares-config:
type: string
default: !!null ""
description: |
Password for the administrative user account specified
netapp_controller_ips:
type: string
default: !!null ""
description: |
This option is only utilized when the storage family is
configured to eseries. This option is used to restrict provisioning
to the specified controllers. Specify the value of this option to be
a comma separated list of controller hostnames or IP addresses to be
used for provisioning.
netapp_array-password:
type: string
default: !!null ""
description: |
Password for the NetApp E-Series storage array.
netapp_storage_pools:
type: string
default: !!null ""
description: "comma seperated list of pool names ie: pool1,pool2"
use-multipath:
type: boolean
default: True
description: |
Use multipath for image transfer. The volume_use_multipath
option should be set to True in the nova.conf
netapp_enable_multiattach:
type: boolean
default: False
description: |
This option specifies whether the driver should allow
operations that require multiple attachments to a volume.
An example would be live migration of servers that have volumes
attached. When enabled, this backend is limited to 256 total volumes
in order to guarantee volumes can be accessed by more than one host.

View File

@ -6,6 +6,8 @@ config:
- use-syslog - use-syslog
- use-internal-endpoints - use-internal-endpoints
- ssl_ca - ssl_ca
- ssl_cert
- ssl_key
options: options:
basic: basic:
use_venv: True use_venv: True

View File

@ -7,7 +7,7 @@ class CindernetappCharm(
charms_openstack.charm.CinderStoragePluginCharm): charms_openstack.charm.CinderStoragePluginCharm):
name = 'cinder_netapp' name = 'cinder_netapp'
release = 'stein' release = 'ussuri'
stateless = True stateless = True
version_package = 'cinder-common' version_package = 'cinder-common'
packages = [] packages = []
@ -25,11 +25,9 @@ class CindernetappCharm(
('netapp_storage_protocol', self.config.get('netapp-storage-protocol')), ('netapp_storage_protocol', self.config.get('netapp-storage-protocol')),
('netapp_vserver', self.config.get('netapp-vserver')), ('netapp_vserver', self.config.get('netapp-vserver')),
('netapp_server_hostname', self.config.get('netapp-server-hostname')), ('netapp_server_hostname', self.config.get('netapp-server-hostname')),
('netapp_server_port', self.config.get('netapp-vserver-port')), ('netapp_server_port', self.config.get('netapp-server-port')),
('netapp_login', self.config.get('netapp-login')), ('netapp_login', self.config.get('netapp-login')),
('netapp_password', self.config.get('netapp-password')), ('netapp_password', self.config.get('netapp-password')),
('netapp_lun_space_reservation', self.config.get('netapp-lun-space-reservation')),
('netapp_transport_type', self.config.get('netapp-transport-type')),
('volume_driver', volumedriver), ('volume_driver', volumedriver),
('volume_backend_name', service)] ('volume_backend_name', service)]
@ -45,8 +43,8 @@ class CindernetappCharm(
class CindernetappCharmRocky(CindernetappCharm): class CindernetappCharmRocky(CindernetappCharm):
# Rocky needs py3 packages. # Ussuri needs py3 packages.
release = 'rocky' release = 'ussuri'
version_package = 'cinder-common' version_package = 'cinder-common'
packages = [] packages = []

1
src/netapp.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" version="1.1"><g id="surface1" fill="#2980B9"><path d="M28 17h15v23H28z"/><path d="M5 8h38v13H5z"/><path d="M5 17h15v23H5z"/></g><metadata><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/elements/1.1/"><rdf:Description about="https://iconscout.com/legal#licenses" dc:title="netapp" dc:description="netapp" dc:publisher="Iconscout" dc:date="2017-12-15" dc:format="image/svg+xml" dc:language="en"><dc:creator><rdf:Bag><rdf:li>Icons8</rdf:li></rdf:Bag></dc:creator></rdf:Description></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 745 B