示例#1
0
    def _update_volume_stats(self):
        """Retrieve stats info from vserver."""

        self._ensure_shares_mounted()
        sync = True if self.ssc_vols is None else False
        ssc_cmode.refresh_cluster_ssc(self,
                                      self.zapi_client.connection,
                                      self.vserver,
                                      synchronous=sync)

        LOG.debug('Updating volume stats')
        data = {}
        netapp_backend = 'NetApp_NFS_Cluster_direct'
        backend_name = self.configuration.safe_get('volume_backend_name')
        data['volume_backend_name'] = backend_name or netapp_backend
        data['vendor_name'] = 'NetApp'
        data['driver_version'] = self.VERSION
        data['storage_protocol'] = 'nfs'
        data['pools'] = self._get_pool_stats(
            filter_function=self.get_filter_function(),
            goodness_function=self.get_goodness_function())
        data['sparse_copy_volume'] = True

        self._spawn_clean_cache_job()
        self.zapi_client.provide_ems(self, netapp_backend, self._app_version)
        self._stats = data
示例#2
0
    def _update_volume_stats(self,
                             filter_function=None,
                             goodness_function=None):
        """Retrieve stats info from vserver."""

        sync = True if self.ssc_vols is None else False
        ssc_cmode.refresh_cluster_ssc(self,
                                      self.zapi_client.get_connection(),
                                      self.vserver,
                                      synchronous=sync)

        LOG.debug('Updating volume stats')
        data = {}
        backend_name = self.configuration.safe_get('volume_backend_name')
        data['volume_backend_name'] = backend_name or self.driver_name
        data['vendor_name'] = 'NetApp'
        data['driver_version'] = self.VERSION
        data['storage_protocol'] = self.driver_protocol
        data['pools'] = self._get_pool_stats(
            filter_function=filter_function,
            goodness_function=goodness_function)
        data['sparse_copy_volume'] = True

        self.zapi_client.provide_ems(self, self.driver_name, self.app_version)
        self._stats = data
示例#3
0
 def check_for_setup_error(self):
     """Check that the driver is working and can communicate."""
     ssc_cmode.check_ssc_api_permissions(self.zapi_client)
     ssc_cmode.refresh_cluster_ssc(self, self.zapi_client.get_connection(),
                                   self.vserver, synchronous=True)
     if not self._get_filtered_pools():
         msg = _('No pools are available for provisioning volumes. '
                 'Ensure that the configuration option '
                 'netapp_pool_name_search_pattern is set correctly.')
         raise exception.NetAppDriverException(msg)
     super(NetAppBlockStorageCmodeLibrary, self).check_for_setup_error()
     self._start_periodic_tasks()
示例#4
0
 def check_for_setup_error(self):
     """Check that the driver is working and can communicate."""
     ssc_cmode.check_ssc_api_permissions(self.zapi_client)
     ssc_cmode.refresh_cluster_ssc(self, self.zapi_client.get_connection(),
                                   self.vserver, synchronous=True)
     if not self._get_filtered_pools():
         msg = _('No pools are available for provisioning volumes. '
                 'Ensure that the configuration option '
                 'netapp_pool_name_search_pattern is set correctly.')
         raise exception.NetAppDriverException(msg)
     super(NetAppBlockStorageCmodeLibrary, self).check_for_setup_error()
     self._start_periodic_tasks()
示例#5
0
    def _update_volume_stats(self):
        """Retrieve stats info from vserver."""

        sync = True if self.ssc_vols is None else False
        ssc_cmode.refresh_cluster_ssc(self, self.zapi_client.get_connection(),
                                      self.vserver, synchronous=sync)

        LOG.debug('Updating volume stats')
        data = {}
        backend_name = self.configuration.safe_get('volume_backend_name')
        data['volume_backend_name'] = backend_name or self.driver_name
        data['vendor_name'] = 'NetApp'
        data['driver_version'] = self.VERSION
        data['storage_protocol'] = self.driver_protocol
        data['pools'] = self._get_pool_stats()

        self.zapi_client.provide_ems(self, self.driver_name, self.app_version)
        self._stats = data
示例#6
0
    def _update_volume_stats(self, filter_function=None, goodness_function=None):
        """Retrieve stats info from vserver."""

        sync = True if self.ssc_vols is None else False
        ssc_cmode.refresh_cluster_ssc(self, self.zapi_client.get_connection(), self.vserver, synchronous=sync)

        LOG.debug("Updating volume stats")
        data = {}
        backend_name = self.configuration.safe_get("volume_backend_name")
        data["volume_backend_name"] = backend_name or self.driver_name
        data["vendor_name"] = "NetApp"
        data["driver_version"] = self.VERSION
        data["storage_protocol"] = self.driver_protocol
        data["pools"] = self._get_pool_stats(filter_function=filter_function, goodness_function=goodness_function)
        data["sparse_copy_volume"] = True

        self.zapi_client.provide_ems(self, self.driver_name, self.app_version)
        self._stats = data
示例#7
0
    def _update_volume_stats(self):
        """Retrieve stats info from vserver."""

        self._ensure_shares_mounted()
        sync = True if self.ssc_vols is None else False
        ssc_cmode.refresh_cluster_ssc(self, self.zapi_client.connection,
                                      self.vserver, synchronous=sync)

        LOG.debug('Updating volume stats')
        data = {}
        netapp_backend = 'NetApp_NFS_Cluster_direct'
        backend_name = self.configuration.safe_get('volume_backend_name')
        data['volume_backend_name'] = backend_name or netapp_backend
        data['vendor_name'] = 'NetApp'
        data['driver_version'] = self.VERSION
        data['storage_protocol'] = 'nfs'
        data['pools'] = self._get_pool_stats()

        self._spawn_clean_cache_job()
        self.zapi_client.provide_ems(self, netapp_backend, self._app_version)
        self._stats = data
示例#8
0
文件: nfs_cmode.py 项目: dims/cinder
    def _update_volume_stats(self):
        """Retrieve stats info from vserver."""

        self._ensure_shares_mounted()
        sync = True if self.ssc_vols is None else False
        ssc_cmode.refresh_cluster_ssc(self, self.zapi_client.connection, self.vserver, synchronous=sync)

        LOG.debug("Updating volume stats")
        data = {}
        netapp_backend = "NetApp_NFS_Cluster_direct"
        backend_name = self.configuration.safe_get("volume_backend_name")
        data["volume_backend_name"] = backend_name or netapp_backend
        data["vendor_name"] = "NetApp"
        data["driver_version"] = self.VERSION
        data["storage_protocol"] = "nfs"
        data["pools"] = self._get_pool_stats(
            filter_function=self.get_filter_function(), goodness_function=self.get_goodness_function()
        )
        data["sparse_copy_volume"] = True

        self._spawn_clean_cache_job()
        self.zapi_client.provide_ems(self, netapp_backend, self._app_version)
        self._stats = data