def get_image(**kwargs): if len(kwargs) == 1 and 'id' in kwargs: return b.execute_with_retries( sahara_images.image_manager().get, kwargs['id']) else: return b.execute_with_retries( sahara_images.image_manager().find, **kwargs)
def test_list_registered_images(self, url_for_mock): some_images = [ FakeImage('foo', ['bar', 'baz'], 'test'), FakeImage('baz', [], 'test'), FakeImage('spam', [], "")] with mock.patch( 'sahara.utils.openstack.images.SaharaImageManager.list', return_value=some_images): manager = sahara_images.image_manager() images = manager.list_registered() self.assertEqual(2, len(images)) images = manager.list_registered(name='foo') self.assertEqual(1, len(images)) self.assertEqual('foo', images[0].name) self.assertEqual('test', images[0].username) images = manager.list_registered(name='eggs') self.assertEqual(0, len(images)) images = manager.list_registered(tags=['bar']) self.assertEqual(1, len(images)) self.assertEqual('foo', images[0].name) images = manager.list_registered(tags=['bar', 'eggs']) self.assertEqual(0, len(images))
def test_list_registered_images(self, url_for_mock): some_images = [ FakeImage('foo', ['bar', 'baz'], 'test'), FakeImage('baz', [], 'test'), FakeImage('spam', [], "") ] with mock.patch( 'sahara.utils.openstack.images.SaharaImageManager.list', return_value=some_images): manager = sahara_images.image_manager() images = manager.list_registered() self.assertEqual(2, len(images)) images = manager.list_registered(name='foo') self.assertEqual(1, len(images)) self.assertEqual('foo', images[0].name) self.assertEqual('test', images[0].username) images = manager.list_registered(name='eggs') self.assertEqual(0, len(images)) images = manager.list_registered(tags=['bar']) self.assertEqual(1, len(images)) self.assertEqual('foo', images[0].name) images = manager.list_registered(tags=['bar', 'eggs']) self.assertEqual(0, len(images))
def test_unset_image_info(self, delete_meta, get_image): manager = sahara_images.image_manager() image = mock.MagicMock() image.tags = ['fake', 'fake_2.0'] image.username = '******' image.description = 'some description' get_image.return_value = image manager.unset_image_info('id') self.assertEqual( ('id', ['_sahara_tag_fake', '_sahara_tag_fake_2.0', '_sahara_description', '_sahara_username']), delete_meta.call_args[0])
def test_set_image_info(self, set_meta): with mock.patch('sahara.utils.openstack.base.url_for'): manager = sahara_images.image_manager() manager.set_image_info('id', 'ubuntu') self.assertEqual( ('id', {'_sahara_username': '******'}), set_meta.call_args[0]) manager.set_image_info('id', 'ubuntu', 'descr') self.assertEqual( ('id', {'_sahara_description': 'descr', '_sahara_username': '******'}), set_meta.call_args[0])
def test_unset_image_info(self, delete_meta, get_image): manager = sahara_images.image_manager() image = mock.MagicMock() image.tags = ['fake', 'fake_2.0'] image.username = '******' image.description = 'some description' get_image.return_value = image manager.unset_image_info('id') self.assertEqual(('id', [ '_sahara_tag_fake', '_sahara_tag_fake_2.0', '_sahara_description', '_sahara_username' ]), delete_meta.call_args[0])
def set_image_tags(image_id, tags): manager = sahara_images.image_manager() image_obj = b.execute_with_retries(manager.get, image_id) org_tags = frozenset(image_obj.tags) new_tags = frozenset(tags) to_add = list(new_tags - org_tags) to_remove = list(org_tags - new_tags) if to_add: b.execute_with_retries(manager.tag, image_id, to_add) if to_remove: b.execute_with_retries(manager.untag, image_id, to_remove) return b.execute_with_retries(manager.get, image_id)
def unregister_image(image_id): manager = sahara_images.image_manager() b.execute_with_retries(manager.unset_image_info, image_id) return b.execute_with_retries(manager.get, image_id)
def register_image(image_id, username, description=None): manager = sahara_images.image_manager() b.execute_with_retries( manager.set_image_info, image_id, username, description) return b.execute_with_retries(manager.get, image_id)
def get_registered_image(id): return b.execute_with_retries( sahara_images.image_manager().get_registered_image, id)
def get_images(name, tags): return b.execute_with_retries( sahara_images.image_manager().list_registered, name, tags)
def get_node_group_image_username(self, node_group): image_id = node_group.get_image_id() return b.execute_with_retries( sahara_images.image_manager().get, image_id).username
def get_image_tags(image_id): return b.execute_with_retries(sahara_images.image_manager().get, image_id).tags
def check_image_registered(image_id): if image_id not in ([ i.id for i in sahara_images.image_manager().list_registered() ]): raise ex.InvalidReferenceException( _("Requested image '%s' is not registered") % image_id)
def remove_image_tags(image_id, tags): manager = sahara_images.image_manager() b.execute_with_retries(manager.untag, image_id, tags) return b.execute_with_retries(manager.get, image_id)
def check_image_registered(image_id): if image_id not in ([i.id for i in sahara_images.image_manager().list_registered()]): raise ex.InvalidReferenceException(_("Requested image '%s' is not registered") % image_id)
def get_node_group_image_username(self, node_group): image_id = node_group.get_image_id() return b.execute_with_retries(sahara_images.image_manager().get, image_id).username