def get_storage_pool_by_name(self, name): """Get pool by name(host@backend#poolname)""" try: pools = list( filter(lambda pool: pool.name == name, self.get_storage_pool_list())) if len(pools) != 1: raise exception.PoolNotFound(name=name) return pools[0] except Exception as exc: LOG.exception(exc) raise exception.PoolNotFound(name=name)
def get_storage_pool_by_name(self, name): """Get pool by name(host@backend#poolname)""" try: pools = [ pool for pool in self.get_storage_pool_list() if pool.name == name ] if len(pools) != 1: raise exception.PoolNotFound(name=name) return pools[0] except Exception as exc: LOG.exception(exc) raise exception.PoolNotFound(name=name)
def test_cinder_error_volume_unmapped(self, m_cinder_helper): """test creating error volume unmapped""" m_get_storage_pool_by_name = mock.Mock( side_effect=exception.PoolNotFound(name="TEST")) m_cinder_helper.return_value = mock.Mock( get_storage_pool_by_name=m_get_storage_pool_by_name) storage_model = self.fake_cdmc.generate_scenario_1() self.fake_cdmc.cluster_data_model = storage_model handler = cnotification.VolumeCreateEnd(self.fake_cdmc) message = self.load_message('scenario_1_error-volume-create.json') handler.info( ctxt=self.context, publisher_id=message['publisher_id'], event_type=message['event_type'], payload=message['payload'], metadata=self.FAKE_METADATA, ) # we do not call get_storage_pool_by_name m_get_storage_pool_by_name.assert_not_called() # check that volume00 was added to the model volume_00_name = 'VOLUME_00' volume_00 = storage_model.get_volume_by_uuid(volume_00_name) self.assertEqual(volume_00_name, volume_00.uuid)
def remove_pool(self, pool): self.assert_pool(pool) try: super(StorageModelRoot, self).remove_node(pool.name) except nx.NetworkXError as exc: LOG.exception(exc) raise exception.PoolNotFound(name=pool.name)
def get_pool_by_volume(self, volume): self.assert_volume(volume) volume = self._get_by_uuid(volume.uuid) for p in self.neighbors(volume.uuid): pool = self._get_by_name(p) if isinstance(pool, element.Pool): return pool raise exception.PoolNotFound(name=volume.uuid)
def create_pool(self, pool_name): """Create the storage pool by querying the Cinder API.""" try: _pool = self.cinder.get_storage_pool_by_name(pool_name) pool = element.Pool( name=_pool.name, total_volumes=_pool.total_volumes, total_capacity_gb=_pool.total_capacity_gb, free_capacity_gb=_pool.free_capacity_gb, provisioned_capacity_gb=_pool.provisioned_capacity_gb, allocated_capacity_gb=_pool.allocated_capacity_gb) return pool except Exception as exc: LOG.exception(exc) LOG.debug("Could not refresh the pool %s.", pool_name) raise exception.PoolNotFound(name=pool_name)
def get_pool_by_pool_name(self, name): try: return self._get_by_name(name) except exception.StorageResourceNotFound: raise exception.PoolNotFound(name=name)