Merge "Move delete_image to container driver"

This commit is contained in:
Zuul 2018-05-07 06:01:27 +00:00 committed by Gerrit Code Review
commit a7471e757c
5 changed files with 22 additions and 25 deletions

View File

@ -912,9 +912,10 @@ class Manager(periodic_task.PeriodicTasks):
except Exception as e:
LOG.exception("Unexpected exception while uploading image: %s",
six.text_type(e))
image_driver.delete_image(context, snapshot_image.id,
'glance')
self.driver.delete_image(container_image_id)
self.driver.delete_image(context, snapshot_image.id,
'glance')
self.driver.delete_image(context, container_image_id,
'docker')
raise
@wrap_container_event(prefix='compute')
@ -939,8 +940,8 @@ class Manager(periodic_task.PeriodicTasks):
except exception.DockerError as e:
LOG.error("Error occurred while calling docker commit API: %s",
six.text_type(e))
image_driver.delete_image(context, snapshot_image.id,
'glance')
self.driver.delete_image(context, snapshot_image.id,
'glance')
raise
finally:
if unpause:

View File

@ -125,10 +125,18 @@ class DockerDriver(driver.ContainerDriver):
with docker_utils.docker_client() as docker:
return docker.get_image(name)
def delete_image(self, image):
with docker_utils.docker_client() as docker:
LOG.debug('Deleting image %s', image)
return docker.remove_image(image)
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 = 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):
with docker_utils.docker_client() as docker:

View File

@ -279,3 +279,6 @@ class ContainerDriver(object):
def upload_image_data(self, context, image, image_tag, image_data,
image_driver):
raise NotImplementedError()
def delete_image(context, img_id, **kwargs):
raise NotImplementedError()

View File

@ -18,7 +18,6 @@ import sys
from oslo_log import log as logging
import stevedore
from zun.common import exception
from zun.common.i18n import _
import zun.conf
@ -59,20 +58,6 @@ def load_image_driver(image_driver=None):
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):
"""Base class for container image driver."""

View File

@ -1149,7 +1149,7 @@ class TestManager(base.TestCase):
@mock.patch.object(ContainerActionEvent, 'event_start')
@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, 'pause')
@mock.patch.object(fake_driver, 'unpause')