def import_image(self): """Import the image from the docker registry. Returns instance of image""" status_code, json_content = self.provider.o_api.post( 'imagestreamimport', { 'apiVersion': 'v1', 'kind': 'ImageStreamImport', 'metadata': { 'name': self.name, 'namespace': self.namespace }, 'spec': { 'import': True, 'images': [{ 'from': { 'kind': 'DockerImage', 'name': self.registry }, 'importPolicy': {}, 'to': { 'name': 'latest' } }] } }, namespace=self.namespace) if status_code not in (200, 201): raise RequestFailedException( 'Failed to import image. status_code: {}; ' 'json_content: {};'.format(status_code, json_content)) _, image_name, image_id, _ = Image.parse_docker_image_info( json_content['status']['images'][-1]['image'] ['dockerImageReference']) return Image(self.provider, image_name, image_id)
def list_docker_image(self): """Returns list of images (Docker registry only)""" entities = [] entities_j = self.o_api.get('image')[1]['items'] for entity_j in entities_j: if 'dockerImageReference' not in entity_j: continue _, name, image_id, _ = Image.parse_docker_image_info(entity_j['dockerImageReference']) entities.append(Image(self, name, image_id)) return entities