def stub_volume_get_all_by_project(context, project_id, marker, limit, sort_keys=None, sort_dirs=None, filters=None, viewable_admin_meta=False, offset=None): return [ stubs.stub_volume(fake.VOLUME_ID, display_name='vol1'), stubs.stub_volume(fake.VOLUME2_ID, display_name='vol2'), ]
def test_volume_show_with_admin_metadata(self): volume = stubs.stub_volume(fake.VOLUME_ID) del volume['name'] del volume['volume_type'] del volume['volume_type_id'] volume['metadata'] = {'key': 'value'} db.volume_create(context.get_admin_context(), volume) db.volume_admin_metadata_update(context.get_admin_context(), fake.VOLUME_ID, {"readonly": "True", "invisible_key": "invisible_value"}, False) values = {'volume_id': fake.VOLUME_ID, } attachment = db.volume_attach(context.get_admin_context(), values) db.volume_attached(context.get_admin_context(), attachment['id'], fake.INSTANCE_ID, None, '/') req = fakes.HTTPRequest.blank('/v1/volumes/%s' % fake.VOLUME_ID) admin_ctx = context.RequestContext(fake.USER_ID, fake.PROJECT_ID, True) req.environ['cinder.context'] = admin_ctx res_dict = self.controller.show(req, fake.VOLUME_ID) expected = {'volume': {'status': 'in-use', 'display_description': 'displaydesc', 'availability_zone': 'fakeaz', 'display_name': 'displayname', 'encrypted': False, 'attachments': [ {'attachment_id': attachment['id'], 'device': '/', 'server_id': fake.INSTANCE_ID, 'host_name': None, 'id': fake.VOLUME_ID, 'volume_id': fake.VOLUME_ID}], 'multiattach': 'false', 'bootable': 'false', 'volume_type': None, 'snapshot_id': None, 'source_volid': None, 'metadata': {'key': 'value', 'readonly': 'True'}, 'id': fake.VOLUME_ID, 'created_at': datetime.datetime( 1900, 1, 1, 1, 1, 1, tzinfo=iso8601.iso8601.Utc()), 'size': 1}} self.assertEqual(expected, res_dict)
def stub_volume_get(self, context, volume_id, **kwargs): vol = (stubs.stub_volume(volume_id, volume_glance_metadata=dict(foo='bar'))) return fake_volume.fake_volume_obj(context, **vol)
def stub_volume_get(self, context, volume_id, **kwargs): vol = stubs.stub_volume( volume_id, attach_status=fields.VolumeAttachStatus.DETACHED) return fake_volume.fake_volume_obj(context, **vol)
def stub_volume_get(self, context, volume_id, **kwargs): vol = stubs.stub_volume(volume_id, encryption_key_id=fake.KEY_ID) return fake_volume.fake_volume_obj(context, **vol)
def stub_volume_get(self, context, volume_id, **kwargs): vol = stubs.stub_volume(volume_id, attach_status='detached') return fake_volume.fake_volume_obj(context, **vol)
def stub_volume_get(self, context, volume_id, **kwargs): vol = stubs.stub_volume( volume_id, attach_status = fields.VolumeAttachStatus.DETACHED) return fake_volume.fake_volume_obj(context, **vol)
def test_volume_update_with_admin_metadata(self): def stubs_volume_admin_metadata_get(context, volume_id): return {'key': 'value', 'readonly': 'True'} self.stubs.Set(db, 'volume_admin_metadata_get', stubs_volume_admin_metadata_get) self.stubs.Set(volume_api.API, "update", stubs.stub_volume_update) volume = stubs.stub_volume(fake.volume_id) del volume['name'] del volume['volume_type'] del volume['volume_type_id'] volume['metadata'] = {'key': 'value'} db.volume_create(context.get_admin_context(), volume) db.volume_admin_metadata_update(context.get_admin_context(), fake.volume_id, {"readonly": "True", "invisible_key": "invisible_value"}, False) values = {'volume_id': fake.volume_id, } attachment = db.volume_attach(context.get_admin_context(), values) db.volume_attached(context.get_admin_context(), attachment['id'], fake.instance_id, None, '/') updates = { "display_name": "Updated Test Name", } body = {"volume": updates} req = fakes.HTTPRequest.blank('/v1/volumes/%s' % fake.volume_id) self.assertEqual(0, len(self.notifier.notifications)) admin_ctx = context.RequestContext(fake.user_id, fake.project_id, True) req.environ['cinder.context'] = admin_ctx res_dict = self.controller.update(req, fake.volume_id, body) expected = {'volume': { 'status': 'in-use', 'display_description': 'displaydesc', 'availability_zone': 'fakeaz', 'display_name': 'Updated Test Name', 'encrypted': False, 'attachments': [{ 'attachment_id': attachment['id'], 'id': fake.volume_id, 'volume_id': fake.volume_id, 'server_id': fake.instance_id, 'host_name': None, 'device': '/' }], 'multiattach': 'false', 'bootable': 'false', 'volume_type': None, 'snapshot_id': None, 'source_volid': None, 'metadata': {'key': 'value', 'readonly': 'True'}, 'id': fake.volume_id, 'created_at': datetime.datetime(1900, 1, 1, 1, 1, 1, tzinfo=iso8601.iso8601.Utc()), 'size': 1}} self.assertEqual(expected, res_dict) self.assertEqual(2, len(self.notifier.notifications))