From a12c14833d0f0dccf84daec74e60e29139e0d5d2 Mon Sep 17 00:00:00 2001 From: narindergupta Date: Sat, 26 Sep 2020 07:02:24 -0500 Subject: [PATCH] added support for ontab_cluster and e series cluster --- src/config.yaml | 86 ++++++++++++++++++++++++ src/layer.yaml | 2 + src/lib/charm/openstack/cinder_netapp.py | 10 ++- src/netapp.svg | 1 + 4 files changed, 93 insertions(+), 6 deletions(-) create mode 100644 src/netapp.svg diff --git a/src/config.yaml b/src/config.yaml index a54da99..8bdcb8a 100644 --- a/src/config.yaml +++ b/src/config.yaml @@ -1 +1,87 @@ 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. diff --git a/src/layer.yaml b/src/layer.yaml index 2ff600a..901fe00 100644 --- a/src/layer.yaml +++ b/src/layer.yaml @@ -6,6 +6,8 @@ config: - use-syslog - use-internal-endpoints - ssl_ca + - ssl_cert + - ssl_key options: basic: use_venv: True diff --git a/src/lib/charm/openstack/cinder_netapp.py b/src/lib/charm/openstack/cinder_netapp.py index 4e58dc5..20fba71 100644 --- a/src/lib/charm/openstack/cinder_netapp.py +++ b/src/lib/charm/openstack/cinder_netapp.py @@ -7,7 +7,7 @@ class CindernetappCharm( charms_openstack.charm.CinderStoragePluginCharm): name = 'cinder_netapp' - release = 'stein' + release = 'ussuri' stateless = True version_package = 'cinder-common' packages = [] @@ -25,11 +25,9 @@ class CindernetappCharm( ('netapp_storage_protocol', self.config.get('netapp-storage-protocol')), ('netapp_vserver', self.config.get('netapp-vserver')), ('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_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_backend_name', service)] @@ -45,8 +43,8 @@ class CindernetappCharm( class CindernetappCharmRocky(CindernetappCharm): - # Rocky needs py3 packages. - release = 'rocky' + # Ussuri needs py3 packages. + release = 'ussuri' version_package = 'cinder-common' packages = [] diff --git a/src/netapp.svg b/src/netapp.svg new file mode 100644 index 0000000..5e193d6 --- /dev/null +++ b/src/netapp.svg @@ -0,0 +1 @@ +Icons8 \ No newline at end of file