Merge "Move delete_image to container driver"
This commit is contained in:
@@ -912,9 +912,10 @@ class Manager(periodic_task.PeriodicTasks):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
LOG.exception("Unexpected exception while uploading image: %s",
|
LOG.exception("Unexpected exception while uploading image: %s",
|
||||||
six.text_type(e))
|
six.text_type(e))
|
||||||
image_driver.delete_image(context, snapshot_image.id,
|
self.driver.delete_image(context, snapshot_image.id,
|
||||||
'glance')
|
'glance')
|
||||||
self.driver.delete_image(container_image_id)
|
self.driver.delete_image(context, container_image_id,
|
||||||
|
'docker')
|
||||||
raise
|
raise
|
||||||
|
|
||||||
@wrap_container_event(prefix='compute')
|
@wrap_container_event(prefix='compute')
|
||||||
@@ -939,7 +940,7 @@ class Manager(periodic_task.PeriodicTasks):
|
|||||||
except exception.DockerError as e:
|
except exception.DockerError as e:
|
||||||
LOG.error("Error occurred while calling docker commit API: %s",
|
LOG.error("Error occurred while calling docker commit API: %s",
|
||||||
six.text_type(e))
|
six.text_type(e))
|
||||||
image_driver.delete_image(context, snapshot_image.id,
|
self.driver.delete_image(context, snapshot_image.id,
|
||||||
'glance')
|
'glance')
|
||||||
raise
|
raise
|
||||||
finally:
|
finally:
|
||||||
|
|||||||
@@ -125,10 +125,18 @@ class DockerDriver(driver.ContainerDriver):
|
|||||||
with docker_utils.docker_client() as docker:
|
with docker_utils.docker_client() as docker:
|
||||||
return docker.get_image(name)
|
return docker.get_image(name)
|
||||||
|
|
||||||
def delete_image(self, image):
|
def delete_image(context, img_id, image_driver=None):
|
||||||
with docker_utils.docker_client() as docker:
|
if image_driver:
|
||||||
LOG.debug('Deleting image %s', image)
|
image_driver_list = [image_driver.lower()]
|
||||||
return docker.remove_image(image)
|
else:
|
||||||
|
image_driver_list = CONF.image_driver_list
|
||||||
|
for driver_name in image_driver_list:
|
||||||
|
try:
|
||||||
|
image_driver = img_driver.load_image_driver(driver_name)
|
||||||
|
image_driver.delete_image(context, img_id)
|
||||||
|
except exception.ZunException:
|
||||||
|
LOG.exception('Unknown exception occurred while deleting '
|
||||||
|
'image %s', img_id)
|
||||||
|
|
||||||
def images(self, repo, quiet=False):
|
def images(self, repo, quiet=False):
|
||||||
with docker_utils.docker_client() as docker:
|
with docker_utils.docker_client() as docker:
|
||||||
|
|||||||
@@ -279,3 +279,6 @@ class ContainerDriver(object):
|
|||||||
def upload_image_data(self, context, image, image_tag, image_data,
|
def upload_image_data(self, context, image, image_tag, image_data,
|
||||||
image_driver):
|
image_driver):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
def delete_image(context, img_id, **kwargs):
|
||||||
|
raise NotImplementedError()
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import sys
|
|||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
import stevedore
|
import stevedore
|
||||||
|
|
||||||
from zun.common import exception
|
|
||||||
from zun.common.i18n import _
|
from zun.common.i18n import _
|
||||||
import zun.conf
|
import zun.conf
|
||||||
|
|
||||||
@@ -59,20 +58,6 @@ def load_image_driver(image_driver=None):
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
def delete_image(context, img_id, image_driver=None):
|
|
||||||
if image_driver:
|
|
||||||
image_driver_list = [image_driver.lower()]
|
|
||||||
else:
|
|
||||||
image_driver_list = CONF.image_driver_list
|
|
||||||
for driver_name in image_driver_list:
|
|
||||||
try:
|
|
||||||
image_driver = load_image_driver(driver_name)
|
|
||||||
image_driver.delete_image(context, img_id)
|
|
||||||
except exception.ZunException:
|
|
||||||
LOG.exception('Unknown exception occurred while deleting'
|
|
||||||
'image %s', img_id)
|
|
||||||
|
|
||||||
|
|
||||||
class ContainerImageDriver(object):
|
class ContainerImageDriver(object):
|
||||||
"""Base class for container image driver."""
|
"""Base class for container image driver."""
|
||||||
|
|
||||||
|
|||||||
@@ -1149,7 +1149,7 @@ class TestManager(base.TestCase):
|
|||||||
|
|
||||||
@mock.patch.object(ContainerActionEvent, 'event_start')
|
@mock.patch.object(ContainerActionEvent, 'event_start')
|
||||||
@mock.patch.object(ContainerActionEvent, 'event_finish')
|
@mock.patch.object(ContainerActionEvent, 'event_finish')
|
||||||
@mock.patch('zun.image.driver.delete_image')
|
@mock.patch.object(fake_driver, 'delete_image')
|
||||||
@mock.patch.object(fake_driver, 'commit')
|
@mock.patch.object(fake_driver, 'commit')
|
||||||
@mock.patch.object(fake_driver, 'pause')
|
@mock.patch.object(fake_driver, 'pause')
|
||||||
@mock.patch.object(fake_driver, 'unpause')
|
@mock.patch.object(fake_driver, 'unpause')
|
||||||
|
|||||||
Reference in New Issue
Block a user