Add manila-netapp backend to manila class and tidy up generic
authormarios <marios@redhat.com>
Thu, 11 Aug 2016 12:01:42 +0000 (15:01 +0300)
committermarios <marios@redhat.com>
Fri, 16 Sep 2016 13:36:41 +0000 (16:36 +0300)
This adds support for the manila-netapp backend. The backend
specific config is set tht side. So this change also
tidies up the manila generic config, which is unnecessarily
being duplicated here
( see https://review.openstack.org/#/c/354019/ )

Change-Id: Ic6f8e8d27ca20b9badddea5d16550aa18bff8418

manifests/profile/pacemaker/manila.pp

index a7f91fc..961278b 100644 (file)
 #   (Optional) The hostname of the node responsible for bootstrapping tasks
 #   Defaults to hiera('bootstrap_nodeid')
 #
-# [*cinder_volume_type*]
-#   (Optional)
-#   Defaults to hiera('manila::backend::generic::cinder_volume_type', '')
-#
-# [*driver_handles_share_servers*]
-#   (Optional)
-#   Defaults to hiera('manila::backend::generic::driver_handles_share_servers')
-#
-# [*manila_generic_enable*]
-#   (Optional) Enable the generic backend.
-#   Defaults to hiera('manila_generic_enable_backend', 'false')
-#
-# [*max_time_to_attach*]
-#   (Optional)
-#   Defaults to hiera('manila::backend::generic::max_time_to_attach')
-#
-# [*max_time_to_create_volume*]
-#   (Optional)
-#   Defaults to hiera('manila::backend::generic::max_time_to_create_volume')
-#
-# [*service_instance_flavor_id*]
-#   (Optional)
-#   Defaults to hiera('manila::service_instance::service_instance_flavor_id')
-#
-# [*service_instance_password*]
-#   (Optional)
-#   Defaults to hiera('manila::service_instance::service_instance_password')
-#
-# [*service_instance_smb_config_path*]
-#   (Optional)
-#   Defaults to downcase(hiera('manila::backend::generic::service_instance_smb_config_path'))
-#
-# [*service_instance_user*]
-#   (Optional)
-#   Defaults to hiera('manila::service_instance::service_instance_user')
-#
-# [*share_mount_path*]
-#   (Optional)
-#   Defaults to hiera('manila::backend::generic::share_mount_path')
-#
-# [*share_volume_fstype*]
-#   (Optional)
-#   Defaults to hiera('manila::backend::generic::share_volume_fstype')
-#
-# [*smb_template_config_path*]
-#   (Optional)
-#   Defaults to hiera('manila::backend::generic::smb_template_config_path')
-#
 # [*step*]
 #   (Optional) The current step in deployment. See tripleo-heat-templates
 #   for more details.
 #   Defaults to hiera('step')
 #
-# [*volume_name_template*]
-#   (Optional)
-#   Defaults to hiera('manila::backend::generic::volume_name_template')
-#
-# [*volume_snapshot_name_template*]
-#   (Optional)
-#   Defaults to hiera('manila::backend::generic::volume_snapshot_name_template')
-#
 # [*manila_cephfsnative_enable*]
 #   (Optional) Enable the CephFS Native backend.
 #   Defaults to hiera('manila_cephfsnative_enable_backend', 'false')
 #
 class tripleo::profile::pacemaker::manila (
   $bootstrap_node                   = hiera('bootstrap_nodeid'),
-  $cinder_volume_type               = hiera('manila::backend::generic::cinder_volume_type', ''),
-  $driver_handles_share_servers     = hiera('manila::backend::generic::driver_handles_share_servers'),
-  $manila_generic_enable            = hiera('manila_generic_enable_backend', false),
-  $max_time_to_attach               = hiera('manila::backend::generic::max_time_to_attach'),
-  $max_time_to_create_volume        = hiera('manila::backend::generic::max_time_to_create_volume'),
-  $service_instance_flavor_id       = hiera('manila::service_instance::service_instance_flavor_id'),
-  $service_instance_password        = hiera('manila::service_instance::service_instance_password'),
-  $service_instance_smb_config_path = hiera('manila::backend::generic::service_instance_smb_config_path'),
-  $service_instance_user            = hiera('manila::service_instance::service_instance_user'),
-  $share_mount_path                 = hiera('manila::backend::generic::share_mount_path'),
-  $share_volume_fstype              = hiera('manila::backend::generic::share_volume_fstype'),
-  $smb_template_config_path         = hiera('manila::backend::generic::smb_template_config_path'),
   $step                             = hiera('step'),
-  $volume_name_template             = hiera('manila::backend::generic::volume_name_template'),
-  $volume_snapshot_name_template    = hiera('manila::backend::generic::volume_snapshot_name_template'),
   $manila_cephfsnative_enable       = hiera('manila::backend::cephfsnative::enable_backend', false),
   $cephfs_handles_share_servers     = hiera('manila::backend::cephfsnative::driver_handles_share_servers'),
   $cephfs_backend_name              = hiera('manila::backend::cephfsnative::cephfs_backend_name'),
@@ -156,21 +86,26 @@ class tripleo::profile::pacemaker::manila (
     include ::tripleo::profile::base::manila::scheduler
     include ::tripleo::profile::base::manila::share
 
+    # manila generic:
+    $manila_generic_enable = hiera('manila_generic_enable_backend', false)
     if $manila_generic_enable {
       $manila_generic_backend = hiera('manila::backend::generic::title')
       manila::backend::generic { $manila_generic_backend :
-        driver_handles_share_servers     => $driver_handles_share_servers,
-        smb_template_config_path         => $smb_template_config_path,
-        volume_name_template             => $volume_name_template ,
-        volume_snapshot_name_template    => $volume_snapshot_name_template,
-        share_mount_path                 => $share_mount_path,
-        max_time_to_create_volume        => $max_time_to_create_volume,
-        max_time_to_attach               => $max_time_to_attach,
-        service_instance_smb_config_path => $service_instance_smb_config_path,
-        share_volume_fstype              => $share_volume_fstype,
-        cinder_volume_type               => $cinder_volume_type,
+        driver_handles_share_servers     => hiera('manila::backend::generic::driver_handles_share_servers', true),
+        max_time_to_attach               => hiera('manila::backend::generic::max_time_to_attach'),
+        max_time_to_create_volume        => hiera('manila::backend::generic::max_time_to_create_volume'),
+        service_instance_smb_config_path => hiera('manila::backend::generic::service_instance_smb_config_path'),
+        share_mount_path                 => hiera('manila::backend::generic::share_mount_path'),
+        share_volume_fstype              => hiera('manila::backend::generic::share_volume_fstype'),
+        smb_template_config_path         => hiera('manila::backend::generic::smb_template_config_path'),
+        volume_name_template             => hiera('manila::backend::generic::volume_name_template'),
+        volume_snapshot_name_template    => hiera('manila::backend::generic::volume_snapshot_name_template'),
+        cinder_volume_type               => hiera('manila::backend::generic::cinder_volume_type'),
       }
 
+      $service_instance_user = hiera('manila::service_instance::service_instance_user')
+      $service_instance_password = hiera('manila::service_instance::service_instance_password')
+      $service_instance_flavor_id = hiera('manila::service_instance::service_instance_flavor_id')
       manila_config {
         "${manila_generic_backend}/service_instance_user":      value => $service_instance_user;
         "${manila_generic_backend}/service_instance_password":  value => $service_instance_password;
@@ -193,10 +128,35 @@ class tripleo::profile::pacemaker::manila (
       }
     }
 
+    # manila netapp:
+    $manila_netapp_enable = hiera('manila_netapp_enable_backend', false)
+    if $manila_netapp_enable {
+      $manila_netapp_backend = hiera('manila::backend::netapp::title')
+      manila::backend::netapp { $manila_netapp_backend :
+        driver_handles_share_servers         => hiera('manila::backend::netapp::driver_handles_share_servers', true),
+        netapp_login                         => hiera('manila::backend::netapp::netapp_login'),
+        netapp_password                      => hiera('manila::backend::netapp::netapp_password'),
+        netapp_server_hostname               => hiera('manila::backend::netapp::netapp_server_hostname'),
+        netapp_transport_type                => hiera('manila::backend::netapp::netapp_transport_type'),
+        netapp_storage_family                => hiera('manila::backend::netapp::netapp_storage_family'),
+        netapp_server_port                   => hiera('manila::backend::netapp::netapp_server_port'),
+        netapp_volume_name_template          => hiera('manila::backend::netapp::netapp_volume_name_template'),
+        netapp_vserver                       => hiera('manila::backend::netapp::netapp_vserver'),
+        netapp_vserver_name_template         => hiera('manila::backend::netapp::netapp_vserver_name_template'),
+        netapp_lif_name_template             => hiera('manila::backend::netapp::netapp_lif_name_template'),
+        netapp_aggregate_name_search_pattern => hiera('manila::backend::netapp::netapp_aggregate_name_search_pattern'),
+        netapp_root_volume_aggregate         => hiera('manila::backend::netapp::netapp_root_volume_aggregate'),
+        netapp_root_volume_name              => hiera('manila::backend::netapp::netapp_root_volume'),
+        netapp_port_name_search_pattern      => hiera('manila::backend::netapp::netapp_port_name_search_pattern'),
+        netapp_trace_flags                   => hiera('manila::backend::netapp::netapp_trace_flags'),
+      }
+    }
+
     $manila_enabled_backends = delete_undef_values(
       [
         $manila_generic_backend,
-        $manila_cephfsnative_backend
+        $manila_cephfsnative_backend,
+        $manila_netapp_backend
       ]
     )
     class { '::manila::backends' :