Move delete_image to container driver
This refactoring is for making the code structure more consistent. Just as the commit: https://review.openstack.org/#/c/554079/ Co-Authored-By: Hongbin Lu <hongbin034@gmail.com> Change-Id: I4c19411ac8f7edd6e053a81acdffd4b63a099ae6
This commit is contained in:
parent
1c33d77170
commit
fcbb413e30
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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()
|
||||
|
@ -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."""
|
||||
|
||||
|
@ -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')
|
||||
|
Loading…
x
Reference in New Issue
Block a user