diff --git a/plugins/pulp_docker/plugins/importers/sync.py b/plugins/pulp_docker/plugins/importers/sync.py index 34d21e22..81808f0c 100644 --- a/plugins/pulp_docker/plugins/importers/sync.py +++ b/plugins/pulp_docker/plugins/importers/sync.py @@ -2,7 +2,6 @@ This module contains the primary sync entry point for Docker v2 registries. """ from gettext import gettext as _ -import errno import httplib import itertools import logging @@ -12,6 +11,8 @@ from pulp.common.plugins import importer_constants from pulp.plugins.util import nectar_config, publish_step +from pulp.plugins.util import misc + from pulp.server.controllers import repository from pulp.server.exceptions import MissingValue, PulpCodedException @@ -161,12 +162,8 @@ def v1_generate_download_requests(self): """ for unit in self.v1_step_get_local_units.units_to_download: destination_dir = os.path.join(self.get_working_dir(), unit.image_id) - try: - os.makedirs(destination_dir, mode=0755) - except OSError, e: - # it's ok if the directory exists - if e.errno != errno.EEXIST: - raise + misc.mkdir(destination_dir, mode=0775) + # we already retrieved the ancestry files for the tagged images, so # some of these will already exist if not os.path.exists(os.path.join(destination_dir, 'ancestry')): diff --git a/plugins/pulp_docker/plugins/registry.py b/plugins/pulp_docker/plugins/registry.py index 036ea3a0..badb6d7b 100644 --- a/plugins/pulp_docker/plugins/registry.py +++ b/plugins/pulp_docker/plugins/registry.py @@ -1,7 +1,6 @@ from cStringIO import StringIO from gettext import gettext as _ import copy -import errno import httplib import json import logging @@ -16,6 +15,8 @@ from nectar.request import DownloadRequest from pulp.server import exceptions as pulp_exceptions +from pulp.plugins.util import misc + from pulp_docker.common import constants, error_codes from pulp_docker.plugins import models from pulp_docker.plugins import auth_util @@ -226,12 +227,8 @@ def get_ancestry(self, image_ids): path = self.ANCESTRY_PATH % image_id url = urlparse.urljoin(self.get_image_url(), path) destination = os.path.join(self.working_dir, image_id, 'ancestry') - try: - os.mkdir(os.path.split(destination)[0]) - except OSError, e: - # it's ok if the directory already exists - if e.errno != errno.EEXIST: - raise + misc.mkdir(os.path.split(destination)[0]) + request = DownloadRequest(url, destination) self.add_auth_header(request) requests.append(request)