diff --git a/config.mk b/config.mk index f9bbdc7f5..ded4699df 100644 --- a/config.mk +++ b/config.mk @@ -64,6 +64,9 @@ LOCAL_MIRROR_CENTOS:=$(LOCAL_MIRROR)/centos LOCAL_MIRROR_CENTOS_OS_BASEURL:=$(LOCAL_MIRROR_CENTOS)/os/$(CENTOS_ARCH) LOCAL_MIRROR_UBUNTU:=$(LOCAL_MIRROR)/ubuntu LOCAL_MIRROR_UBUNTU_OS_BASEURL:=$(LOCAL_MIRROR_UBUNTU) +LOCAL_MIRROR_DOCKER:=$(LOCAL_MIRROR)/docker +LOCAL_MIRROR_DOCKER_BASEURL:=$(LOCAL_MIRROR_DOCKER) + # Use download.mirantis.com mirror by default. Other possible values are # 'msk', 'srt', 'usa', 'hrk'. @@ -75,30 +78,36 @@ YUM_REPOS?=proprietary MIRROR_BASE?=http://fuel-repository.mirantis.com/fwm/$(PRODUCT_VERSION) MIRROR_CENTOS?=$(MIRROR_BASE)/centos MIRROR_UBUNTU?=$(MIRROR_BASE)/ubuntu +MIRROR_DOCKER?=$(MIRROR_BASE)/docker endif ifeq ($(USE_MIRROR),srt) YUM_REPOS?=proprietary MIRROR_BASE?=http://fuel-mirror.srt.mirantis.net/fwm/$(PRODUCT_VERSION) MIRROR_CENTOS?=$(MIRROR_BASE)/centos MIRROR_UBUNTU?=$(MIRROR_BASE)/ubuntu +MIRROR_DOCKER?=$(MIRROR_BASE)/docker endif ifeq ($(USE_MIRROR),msk) YUM_REPOS?=proprietary MIRROR_BASE?=http://fuel-mirror.msk.mirantis.net/fwm/$(PRODUCT_VERSION) MIRROR_CENTOS?=$(MIRROR_BASE)/centos MIRROR_UBUNTU?=$(MIRROR_BASE)/ubuntu +MIRROR_DOCKER?=$(MIRROR_BASE)/docker endif ifeq ($(USE_MIRROR),hrk) YUM_REPOS?=proprietary MIRROR_BASE?=http://fuel-mirror.kha.mirantis.net/fwm/$(PRODUCT_VERSION) MIRROR_CENTOS?=$(MIRROR_BASE)/centos MIRROR_UBUNTU?=$(MIRROR_BASE)/ubuntu +MIRROR_DOCKER?=$(MIRROR_BASE)/docker endif MIRROR_CENTOS?=http://mirrors.msk.mirantis.net/centos/$(CENTOS_RELEASE) MIRROR_CENTOS_OS_BASEURL:=$(MIRROR_CENTOS)/os/$(CENTOS_ARCH) MIRROR_UBUNTU?=http://mirror.yandex.ru/ubuntu/ MIRROR_UBUNTU_OS_BASEURL:=$(MIRROR_UBUNTU) +MIRROR_DOCKER?=$(MIRROR_BASE)/docker +MIRROR_DOCKER_BASEURL:=$(MIRROR_DOCKER) # MIRROR_FUEL option is valid only for 'fuel' YUM_REPOS section # and ignored in other cases MIRROR_FUEL?=http://osci-obs.vm.mirantis.net:82/centos-fuel-$(PRODUCT_VERSION)-stable/centos/ diff --git a/docker/module.mk b/docker/module.mk index 2a43980da..c7b598c5a 100644 --- a/docker/module.mk +++ b/docker/module.mk @@ -9,7 +9,8 @@ define build_container $(BUILD_DIR)/docker/$1.done: \ $(BUILD_DIR)/mirror/build.done \ $(BUILD_DIR)/repos/repos.done \ - $(BUILD_DIR)/iso/isoroot-files.done + $(BUILD_DIR)/iso/isoroot-files.done \ + $(BUILD_DIR)/docker/base-images.done ifeq ($(DOCKER_PREBUILT),0) (cd $(LOCAL_MIRROR_CENTOS) && python $(SOURCE_DIR)/utils/simple_http_daemon.py $(RANDOM_PORT) /tmp/simple_http_daemon_$(RANDOM_PORT).pid) mkdir -p "$(BUILD_DIR)/docker/containers" @@ -29,8 +30,11 @@ endif $$(ACTION.TOUCH) endef +$(BUILD_DIR)/docker/base-images.done: + find $(LOCAL_MIRROR_DOCKER_BASEURL)/ -regex '.*xz' | xargs -n1 sudo docker load -i + $(ACTION.TOUCH) + $(BUILD_DIR)/docker/busybox.done: - sudo docker pull busybox mkdir -p "$(BUILD_DIR)/docker/containers" sudo docker save busybox > $(BUILD_DIR)/docker/containers/busybox.tar $(ACTION.TOUCH) diff --git a/mirror/docker/base-images.mk b/mirror/docker/base-images.mk new file mode 100644 index 000000000..178bcffaa --- /dev/null +++ b/mirror/docker/base-images.mk @@ -0,0 +1,10 @@ +BASE_IMAGE_FILES:=centos.tar.xz busybox.tar.xz + +# docker base image files +$(addprefix $(LOCAL_MIRROR_DOCKER_BASEURL)/,$(BASE_IMAGE_FILES)): + @mkdir -p $(@D) + wget -O $@ $(MIRROR_DOCKER_BASEURL)/$(@F) + +$(BUILD_DIR)/mirror/docker/base-images.done: \ + $(addprefix $(LOCAL_MIRROR_DOCKER_BASEURL)/,$(BASE_IMAGE_FILES)) + $(ACTION.TOUCH) diff --git a/mirror/docker/module.mk b/mirror/docker/module.mk new file mode 100644 index 000000000..227bbb8b5 --- /dev/null +++ b/mirror/docker/module.mk @@ -0,0 +1,12 @@ +.PHONY: clean-docker +# This module downloads ubuntu installation images. +include $(SOURCE_DIR)/mirror/docker/base-images.mk + +clean: clean-docker + +clean-docker: + (docker rm -f `docker ps -aq`; docker rmi `docker images -q`) || exit 0 + +$(BUILD_DIR)/mirror/docker/build.done: \ + $(BUILD_DIR)/mirror/docker/base-images.done + $(ACTION.TOUCH) diff --git a/mirror/module.mk b/mirror/module.mk index 6afbea44e..13fc87f31 100644 --- a/mirror/module.mk +++ b/mirror/module.mk @@ -9,8 +9,10 @@ clean-mirror: clean-ubuntu include $(SOURCE_DIR)/mirror/centos/module.mk include $(SOURCE_DIR)/mirror/ubuntu/module.mk +include $(SOURCE_DIR)/mirror/docker/module.mk $(BUILD_DIR)/mirror/build.done: \ $(BUILD_DIR)/mirror/centos/build.done \ - $(BUILD_DIR)/mirror/ubuntu/build.done + $(BUILD_DIR)/mirror/ubuntu/build.done \ + $(BUILD_DIR)/mirror/docker/build.done $(ACTION.TOUCH)