diff --git a/devstack/plugin.sh b/devstack/plugin.sh index e785d89c07..5764f773de 100755 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -935,14 +935,27 @@ function download_image { } function import_docker_service_image_ubuntu { - GZIPPED_IMG_NAME=`basename "$MANILA_DOCKER_IMAGE_URL"` - IMG_NAME_LOAD=${GZIPPED_IMG_NAME%.*} - LOCAL_IMG_NAME=${IMG_NAME_LOAD%.*} - if [[ "$(sudo docker images -q $LOCAL_IMG_NAME)" == "" ]]; then - download_image $MANILA_DOCKER_IMAGE_URL - # Import image in Docker - gzip -d $FILES/$GZIPPED_IMG_NAME - sudo docker load --input $FILES/$IMG_NAME_LOAD + if [[ $MANILA_DOCKER_IMAGE_URL == *"/"*":"* ]] || [[ $MANILA_DOCKER_IMAGE_URL == *"/"*"/"* ]]; then + # Registry reference (e.g., quay.io/org/image:tag) + if [[ "$(sudo docker images -q $MANILA_DOCKER_IMAGE_URL)" == "" ]]; then + sudo docker pull "$MANILA_DOCKER_IMAGE_URL" + fi + sudo docker tag "$MANILA_DOCKER_IMAGE_URL" manila-docker-container + else + # Tarball URL (http/https/file) + GZIPPED_IMG_NAME=$(basename "$MANILA_DOCKER_IMAGE_URL") + IMG_NAME_LOAD=${GZIPPED_IMG_NAME%.*} + LOCAL_IMG_NAME=${IMG_NAME_LOAD%.*} + if [[ "$(sudo docker images -q $LOCAL_IMG_NAME)" == "" ]]; then + download_image $MANILA_DOCKER_IMAGE_URL + if [[ $MANILA_DOCKER_IMAGE_URL == file* ]]; then + local src_path + src_path=$(echo "$MANILA_DOCKER_IMAGE_URL" | sed "s|^file://||") + cp "$src_path" "$FILES/$GZIPPED_IMG_NAME" + fi + gzip -d "$FILES/$GZIPPED_IMG_NAME" + sudo docker load --input "$FILES/$IMG_NAME_LOAD" + fi fi } diff --git a/devstack/settings b/devstack/settings index 6a8e74a414..b7dbdb72fe 100644 --- a/devstack/settings +++ b/devstack/settings @@ -167,9 +167,7 @@ MANILA_ZFSONLINUX_REPLICATION_DOMAIN=${MANILA_ZFSONLINUX_REPLICATION_DOMAIN:-"ZF MANILA_CONTAINER_DRIVER=${MANILA_CONTAINER_DRIVER:-"manila.share.drivers.container.driver.ContainerShareDriver"} MANILA_DOCKER_IMAGE_ALIAS=${MANILA_DOCKER_IMAGE_ALIAS:-"manila_docker_image"} MANILA_CONTAINER_VOLUME_GROUP_NAME=${MANILA_CONTAINER_VOLUME_GROUP_NAME:-"manila_docker_volumes"} -# (aovchinnikov): This location is temporary and will be changed to a -# permanent one as soon as possible. -MANILA_DOCKER_IMAGE_URL=${MANILA_DOCKER_IMAGE_URL:-"https://github.com/a-ovchinnikov/manila-image-elements-lxd-images/releases/download/0.1.0/manila-docker-container.tar.gz"} +MANILA_DOCKER_IMAGE_URL=${MANILA_DOCKER_IMAGE_URL:-"quay.io/openstack-manila/manila-docker-container:latest"} # Network Plugin MANILA_NETWORK_API_CLASS=${MANILA_NETWORK_API_CLASS:-"manila.network.neutron.neutron_network_plugin.NeutronBindNetworkPlugin"} diff --git a/manila/share/manager.py b/manila/share/manager.py index 73c1a3f151..b550df03d0 100644 --- a/manila/share/manager.py +++ b/manila/share/manager.py @@ -5653,7 +5653,7 @@ def create_backup_continue(self, context): backup_id) except Exception: LOG.warning("Failed to get progress of share %(share)s " - "backing up in share_backup %(backup).", + "backing up in share_backup %(backup)s.", {'share': share_id, 'backup': backup_id}) self.db.share_update( context, share_id, @@ -5790,7 +5790,7 @@ def restore_backup_continue(self, context): backup_id) except Exception: LOG.exception("Failed to get progress of share_backup " - "%(backup)s restoring in share %(share).", + "%(backup)s restoring in share %(share)s.", {'share': share_id, 'backup': backup_id}) self.db.share_update( context, share_id,