def test_get_cinder_client_api_v2(self, patched1, patched2): self.override_config('cinder_api_version', 2) patched1.return_value = FakeCinderClient(1) patched2.return_value = FakeCinderClient(2) client = cinder.client() self.assertEqual(2, client.client.api_version)
def _create_attach_volume(ctx, instance, size, volume_type, name=None, availability_zone=None): if CONF.cinder.api_version == 1: kwargs = {'size': size, 'display_name': name} else: kwargs = {'size': size, 'name': name} kwargs['volume_type'] = volume_type if availability_zone is not None: kwargs['availability_zone'] = availability_zone volume = cinder.client().volumes.create(**kwargs) conductor.append_volume(ctx, instance, volume.id) while volume.status != 'available': volume = cinder.get_volume(volume.id) if volume.status == 'error': raise ex.SystemError(_("Volume %s has error status") % volume.id) context.sleep(1) resp = nova.client().volumes.create_server_volume(instance.instance_id, volume.id, None) return resp.device
def test_get_cinder_client_api_v1(self, patched1, patched2, auth): self.override_config('api_version', 1, group='cinder') patched1.return_value = FakeCinderClient(1) patched2.return_value = FakeCinderClient(2) client = cinder.client() self.assertEqual(1, client.client.api_version)
def _create_attach_volume(ctx, instance, size, volume_type, volume_local_to_instance, name=None, availability_zone=None): if CONF.cinder.api_version == 1: kwargs = {'size': size, 'display_name': name} else: kwargs = {'size': size, 'name': name} kwargs['volume_type'] = volume_type if availability_zone is not None: kwargs['availability_zone'] = availability_zone if volume_local_to_instance: kwargs['scheduler_hints'] = {'local_to_instance': instance.instance_id} volume = b.execute_with_retries(cinder.client().volumes.create, **kwargs) conductor.append_volume(ctx, instance, volume.id) _await_available(volume) resp = b.execute_with_retries(nova.client().volumes.create_server_volume, instance.instance_id, volume.id, None) return resp.device
def test_get_cinder_client_api_v3(self, patched2, patched3, auth): self.override_config('api_version', 3, group='cinder') patched2.return_value = FakeCinderClient(2) patched3.return_value = FakeCinderClient(3) client = cinder.client() self.assertEqual(3, client.client.api_version)
def test_get_cinder_client_api_v1(self, patched1, patched2): self.override_config('cinder_api_version', 1) patched1.return_value = FakeCinderClient(1) patched2.return_value = FakeCinderClient(2) client = cinder.client() self.assertEqual(1, client.client.api_version)
def test_get_cinder_client_api_v2(self, patched1, patched2, auth): self.override_config('api_version', 2, group='cinder') patched1.return_value = FakeCinderClient(1) patched2.return_value = FakeCinderClient(2) client = cinder.client() self.assertEqual(2, client.client.api_version)
def _get_cinder_limits(): avail_limits = {} cinder = cinder_client.client() lim = {} for l in cinder.limits.get().absolute: lim[l.name] = l.value avail_limits['volumes'] = lim['maxTotalVolumes'] - lim['totalVolumesUsed'] avail_limits['volume_gbs'] = (lim['maxTotalVolumeGigabytes'] - lim['totalGigabytesUsed']) return avail_limits
def _get_cinder_limits(): avail_limits = {} cinder = cinder_client.client() lim = {} for l in cinder.limits.get().absolute: lim[l.name] = l.value avail_limits['volumes'] = lim['maxTotalVolumes'] - lim['totalVolumesUsed'] avail_limits['volume_gbs'] = ( lim['maxTotalVolumeGigabytes'] - lim['totalGigabytesUsed']) return avail_limits
def _get_cinder_limits(): avail_limits = {} cinder = cinder_client.client() lim = {} for l in b.execute_with_retries(cinder.limits.get).absolute: lim[l.name] = l.value avail_limits['volumes'] = _sub_limit(lim['maxTotalVolumes'], lim['totalVolumesUsed']) avail_limits['volume_gbs'] = _sub_limit(lim['maxTotalVolumeGigabytes'], lim['totalGigabytesUsed']) return avail_limits
def _create_attach_volume(ctx, instance, size, display_name=None): volume = cinder.client().volumes.create(size=size, display_name=display_name) conductor.append_volume(ctx, instance, volume.id) while volume.status != 'available': volume = cinder.get_volume(volume.id) if volume.status == 'error': raise ex.SystemError("Volume %s has error status" % volume.id) context.sleep(1) resp = nova.client().volumes.create_server_volume( instance.instance_id, volume.id, None) return resp.device
def _create_attach_volume(ctx, instance, size, display_name=None): volume = cinder.client().volumes.create(size=size, display_name=display_name) conductor.append_volume(ctx, instance, volume.id) while volume.status != 'available': volume = cinder.get_volume(volume.id) if volume.status == 'error': raise ex.SystemError(_("Volume %s has error status") % volume.id) context.sleep(1) resp = nova.client().volumes.create_server_volume(instance.instance_id, volume.id, None) return resp.device
def _create_attach_volume(ctx, instance, size, display_name=None, volume_type=None): volume = cinder.client().volumes.create(size=size, display_name=display_name, volume_type=volume_type, lvm_instance_id=instance.instance_id) conductor.append_volume(ctx, instance, volume.id) while volume.status != 'available': volume = cinder.get_volume(volume.id) if volume.status == 'error': raise RuntimeError("Volume %s has error status" % volume.id) context.sleep(1) nova.client().volumes.create_server_volume(instance.instance_id, volume.id, None)
def _create_attach_volume(ctx, instance, size, display_name=None, volume_type=None): volume = cinder.client().volumes.create(size=size, display_name=display_name, volume_type=volume_type) conductor.append_volume(ctx, instance, volume.id) while volume.status != 'available': volume = cinder.get_volume(volume.id) if volume.status == 'error': raise RuntimeError("Volume %s has error status" % volume.id) context.sleep(1) nova.client().volumes.create_server_volume(instance.instance_id, volume.id, None)
def _create_attach_volume(ctx, instance, size, volume_type, name=None, availability_zone=None): if CONF.cinder_api_version == 1: kwargs = {'size': size, 'display_name': name} else: kwargs = {'size': size, 'name': name} kwargs['volume_type'] = volume_type if availability_zone is not None: kwargs['availability_zone'] = availability_zone volume = cinder.client().volumes.create(**kwargs) conductor.append_volume(ctx, instance, volume.id) while volume.status != 'available': volume = cinder.get_volume(volume.id) if volume.status == 'error': raise ex.SystemError(_("Volume %s has error status") % volume.id) context.sleep(1) resp = nova.client().volumes.create_server_volume( instance.instance_id, volume.id, None) return resp.device
def check_volume_type_exists(volume_type): volume_types = cinder.client().volume_types.list() volume_types = list(filter(lambda x: x.name == volume_type, volume_types)) if len(volume_types) == 1 and volume_types[0].name == volume_type: return raise ex.NotFoundException(volume_type, _("Volume type '%s' not found"))
def check_volume_availability_zone_exist(az): az_list = cinder.client().availability_zones.list() az_names = [a.zoneName for a in az_list] if az not in az_names: raise ex.NotFoundException(az, _("Cinder availability zone '%s' not found"))
def check_volume_type_exists(volume_type): volume_types = cinder.client().volume_types.list(search_opts={'name': volume_type}) if len(volume_types) == 1 and volume_types[0].name == volume_type: return raise ex.NotFoundException(volume_type, _("Volume type '%s' not found"))
def check_volume_type_exists(volume_type): volume_types = cinder.client().volume_types.list( search_opts={'name': volume_type}) if len(volume_types) == 1 and volume_types[0] == volume_type: return raise ex.NotFoundException(volume_type, _("Volume type '%s' not found"))
def check_volume_availability_zone_exist(az): az_list = cinder.client().availability_zones.list() az_names = [a.zoneName for a in az_list] if az not in az_names: raise ex.NotFoundException( az, _("Cinder availability zone '%s' not found"))