From bc9c3117c7e542db33206927a597695aa38ecc6f Mon Sep 17 00:00:00 2001 From: Vitaly Parakhin Date: Thu, 5 Nov 2015 12:42:29 +0200 Subject: [PATCH] Separate CentOS from MOS Release ISO must contain only packages that are modified by MOS team, and CentOS upstream packages for Fuel node deployment. MOS repo, as well as the ones specified in the EXTRA_RPM_REPOS variable, are downloaded and placed on the ISO as-is. Blueprint: separate-mos-from-centos Change-Id: I983f37371a70d2901bdf0ebef122ba1a2f2e44b9 --- .gitignore | 2 +- bootstrap/module.mk | 17 +++++++++--- config.mk | 2 ++ docker/astute/Dockerfile | 10 ++++++- docker/cobbler/Dockerfile | 10 ++++++- docker/fuel-centos-build/Dockerfile | 6 ++++- docker/fuel-centos-build/fuel-centos.ks | 5 ++-- docker/fuel-centos-build/start.sh | 6 +++-- docker/keystone/Dockerfile | 10 ++++++- docker/mcollective/Dockerfile | 10 ++++++- docker/module.mk | 7 ++--- docker/nailgun/Dockerfile | 10 ++++++- docker/nginx/Dockerfile | 10 ++++++- docker/ostf/Dockerfile | 10 ++++++- docker/postgres/Dockerfile | 10 ++++++- docker/rabbitmq/Dockerfile | 10 ++++++- docker/rsync/Dockerfile | 10 ++++++- docker/rsyslog/Dockerfile | 10 ++++++- iso/ks.template | 11 ++++++++ iso/module.mk | 31 ++++++++++++++++----- mirror/centos/extra-repos.mk | 30 +++++++++++++++++++++ mirror/centos/module.mk | 15 ++++++++--- mirror/centos/mos-repo.mk | 13 +++++++++ mirror/centos/repo.mk | 9 +++++-- mirror/centos/yum_repos.mk | 12 +++++++++ packages/rpm/module.mk | 36 ++++++++++++++----------- sandbox.mk | 15 +++++++++-- 27 files changed, 273 insertions(+), 54 deletions(-) create mode 100644 mirror/centos/extra-repos.mk create mode 100644 mirror/centos/mos-repo.mk diff --git a/.gitignore b/.gitignore index adfbe7658..e9631763c 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,4 @@ lock .DS_Store Nailgun.egg-info -repomd.xml +repomd.xml* diff --git a/bootstrap/module.mk b/bootstrap/module.mk index a46eb5d42..5e456d894 100644 --- a/bootstrap/module.mk +++ b/bootstrap/module.mk @@ -62,10 +62,15 @@ BOOTSTRAP_RPMS_CUSTOM:=\ define yum_local_repo [mirror] -name=Mirantis mirror +name=Upstream mirror baseurl=file://$(LOCAL_MIRROR_CENTOS_OS_BASEURL) gpgcheck=0 enabled=1 +[mos-mirror] +name=MOS mirror +baseurl=file://$(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) +gpgcheck=0 +enabled=1 endef define bootstrap_yum_conf @@ -104,7 +109,7 @@ $(BUILD_DIR)/bootstrap/initramfs.img: \ $(BUILD_DIR)/bootstrap/linux: $(BUILD_DIR)/mirror/centos/build.done mkdir -p $(BUILD_DIR)/bootstrap - find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name '$(KERNEL_PATTERN)' | xargs rpm2cpio | \ + find $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) -name '$(KERNEL_PATTERN)' | xargs rpm2cpio | \ (cd $(BUILD_DIR)/bootstrap/; cpio -imd './boot/vmlinuz*') mv $(BUILD_DIR)/bootstrap/boot/vmlinuz* $(BUILD_DIR)/bootstrap/linux rm -r $(BUILD_DIR)/bootstrap/boot @@ -194,10 +199,14 @@ $(BUILD_DIR)/bootstrap/prepare-initram-root.done: \ -sudo chroot $(INITRAMROOT) chkconfig postfix off -sudo chroot $(INITRAMROOT) chown smmsp:smmsp /var/spool/clientmqueue +# FIXME (vparakhin): there's no single RPM repo anymore, therefore +# source mirrors for kernel, modules and libs are specified explicitly. +# Perhaps this stuff should be moved to global config.mk + # Installing kernel modules - find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name '$(KERNEL_PATTERN)' | xargs rpm2cpio | \ + find $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) -name '$(KERNEL_PATTERN)' | xargs rpm2cpio | \ ( cd $(INITRAMROOT); sudo cpio -idm './lib/modules/*' './boot/vmlinuz*' ) - find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name '$(KERNEL_FIRMWARE_PATTERN)' | xargs rpm2cpio | \ + find $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) -name '$(KERNEL_FIRMWARE_PATTERN)' | xargs rpm2cpio | \ ( cd $(INITRAMROOT); sudo cpio -idm './lib/firmware/*' ) find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name 'libmlx4*' | xargs rpm2cpio | \ ( cd $(INITRAMROOT); sudo cpio -idm './etc/*' './usr/lib64/*' ) diff --git a/config.mk b/config.mk index 0bcc58362..bd49043a9 100644 --- a/config.mk +++ b/config.mk @@ -147,6 +147,8 @@ FUELUPGRADE_GERRIT_COMMIT?=none LOCAL_MIRROR_CENTOS:=$(LOCAL_MIRROR)/centos LOCAL_MIRROR_CENTOS_OS_BASEURL:=$(LOCAL_MIRROR_CENTOS)/os/$(CENTOS_ARCH) +LOCAL_MIRROR_MOS_CENTOS:=$(LOCAL_MIRROR)/mos-centos +LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL:=$(LOCAL_MIRROR_MOS_CENTOS) LOCAL_MIRROR_UBUNTU:=$(LOCAL_MIRROR)/ubuntu LOCAL_MIRROR_UBUNTU_OS_BASEURL:=$(LOCAL_MIRROR_UBUNTU) LOCAL_MIRROR_DOCKER:=$(LOCAL_MIRROR)/docker diff --git a/docker/astute/Dockerfile b/docker/astute/Dockerfile index 5d128c492..9c5fc395b 100644 --- a/docker/astute/Dockerfile +++ b/docker/astute/Dockerfile @@ -7,7 +7,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -25,6 +29,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/cobbler/Dockerfile b/docker/cobbler/Dockerfile index f29a627d3..5293b03e1 100644 --- a/docker/cobbler/Dockerfile +++ b/docker/cobbler/Dockerfile @@ -8,7 +8,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -32,6 +36,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/fuel-centos-build/Dockerfile b/docker/fuel-centos-build/Dockerfile index cbaab0d49..f08336f0d 100644 --- a/docker/fuel-centos-build/Dockerfile +++ b/docker/fuel-centos-build/Dockerfile @@ -7,6 +7,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:///repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:///mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo @@ -16,4 +20,4 @@ ADD fuel-centos.ks /root/fuel-centos.ks RUN chmod +x /usr/local/bin/start.sh; \ touch /etc/sysconfig/network -CMD /usr/local/bin/start.sh +CMD /usr/local/bin/start.sh \ No newline at end of file diff --git a/docker/fuel-centos-build/fuel-centos.ks b/docker/fuel-centos-build/fuel-centos.ks index 01cebc497..c0714f404 100644 --- a/docker/fuel-centos-build/fuel-centos.ks +++ b/docker/fuel-centos-build/fuel-centos.ks @@ -1,5 +1,5 @@ install -url --url=http://127.0.0.1/os/x86_64/ +#url --url=http://127.0.0.1/repo/os/x86_64/ lang en_US.UTF-8 keyboard uk network --device eth0 --bootproto dhcp @@ -8,7 +8,8 @@ authconfig --enableshadow --passalgo=sha512 --enablefingerprint selinux --disabled timezone --utc Etc/UTC #repo --name="CentOS" --baseurl=http://mirror.centos.org/centos/6/os/x86_64/ --cost=100 -repo --name="Fuel CentOS" --baseurl=http://127.0.0.1/os/x86_64/ --cost 100 +repo --name="Upstream CentOS" --baseurl=http://127.0.0.1/repo/os/x86_64/ +repo --name="MOS CentOS" --baseurl=http://127.0.0.1/mos-repo/ #repo --name="Updates" --baseurl=http://mirror.centos.org/centos-6/6/updates/x86_64/ --cost=100 # CentOSPlus is here ONLY for a libselinux patch. # Once 6.6 is released, this should be removed diff --git a/docker/fuel-centos-build/start.sh b/docker/fuel-centos-build/start.sh index c9d2a1267..fb4df35e3 100644 --- a/docker/fuel-centos-build/start.sh +++ b/docker/fuel-centos-build/start.sh @@ -19,8 +19,10 @@ for loopdev in `seq 1 9`; do done # Start webserver and wait for it to be up -ln -s /repo/os /var/www/html/os +mkdir -p /var/www/html/repo +ln -s /repo/os /var/www/html/repo/os +ln -s /mos-repo /var/www/html/ service httpd start cd /export -ami-creator -c /root/fuel-centos.ks -n fuel-centos +ami-creator -c /root/fuel-centos.ks -n fuel-centos \ No newline at end of file diff --git a/docker/keystone/Dockerfile b/docker/keystone/Dockerfile index 106fce10a..371669580 100644 --- a/docker/keystone/Dockerfile +++ b/docker/keystone/Dockerfile @@ -7,7 +7,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -24,6 +28,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/mcollective/Dockerfile b/docker/mcollective/Dockerfile index a391ef569..4bc0f9e54 100644 --- a/docker/mcollective/Dockerfile +++ b/docker/mcollective/Dockerfile @@ -7,7 +7,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -33,6 +37,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/module.mk b/docker/module.mk index ec5bcb77c..3f4bb5f81 100644 --- a/docker/module.mk +++ b/docker/module.mk @@ -68,16 +68,17 @@ $(BUILD_DIR)/docker/fuel-centos.done: \ sudo docker build -t fuel/fuel-centos-build $(BUILD_DIR)/docker/fuel-centos-build && \ mkdir -p $(BUILD_DIR)/docker/fuel-centos/ && \ echo "Generating fuel/centos base image. Refer to $(BUILD_DIR)/docker/fuel-centos-build.log if it fails." && \ - sudo docker -D run --net=bridge --rm -a stdout -a stderr -i -t --privileged -v $(LOCAL_MIRROR_CENTOS):/repo:ro -v $(BUILD_DIR)/docker/fuel-centos:/export fuel/fuel-centos-build 2>&1 > $(BUILD_DIR)/docker/fuel-centos-build.log && \ + sudo docker -D run --net=bridge --rm -a stdout -a stderr -i -t --privileged -v $(LOCAL_MIRROR_CENTOS):/repo:ro -v $(LOCAL_MIRROR_MOS_CENTOS):/mos-repo:ro -v $(BUILD_DIR)/docker/fuel-centos:/export fuel/fuel-centos-build 2>&1 > $(BUILD_DIR)/docker/fuel-centos-build.log && \ sudo $(SOURCE_DIR)/docker/fuel-centos-build/img2docker.sh $(BUILD_DIR)/docker/fuel-centos/fuel-centos.img fuel/centos $(ACTION.TOUCH) $(BUILD_DIR)/docker/repo-container-up.done: \ $(BUILD_DIR)/docker/fuel-centos.done -sudo docker rm -f "$(REPO_CONTAINER)" - sudo docker -D run -d -p 80 -v $(LOCAL_MIRROR_CENTOS):/var/www/html --name "$(REPO_CONTAINER)" fuel/centos /usr/sbin/apachectl -DFOREGROUND + sudo docker -D run -d -p 80 -v $(LOCAL_MIRROR_CENTOS):/var/www/html/repo -v $(LOCAL_MIRROR_MOS_CENTOS):/var/www/html/mos-repo --name "$(REPO_CONTAINER)" fuel/centos /usr/sbin/apachectl -DFOREGROUND REPO_PORT=`sudo docker port $(REPO_CONTAINER) 80 | cut -d':' -f2` && \ - wget -t10 -T1 --waitretry 1 --retry-connrefused --no-proxy http://127.0.0.1:$${REPO_PORT}/os/x86_64/repodata/repomd.xml + wget -t10 -T1 -O /dev/null --waitretry 1 --retry-connrefused --no-proxy http://127.0.0.1:$${REPO_PORT}/repo/os/x86_64/repodata/repomd.xml && \ + wget -t10 -T1 -O /dev/null --waitretry 1 --retry-connrefused --no-proxy http://127.0.0.1:$${REPO_PORT}/mos-repo/repodata/repomd.xml $(ACTION.TOUCH) $(BUILD_DIR)/docker/sources.done: \ diff --git a/docker/nailgun/Dockerfile b/docker/nailgun/Dockerfile index 7c5f55d55..f913b1d1b 100644 --- a/docker/nailgun/Dockerfile +++ b/docker/nailgun/Dockerfile @@ -8,7 +8,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -30,6 +34,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/nginx/Dockerfile b/docker/nginx/Dockerfile index eb1976644..8a48eb83b 100644 --- a/docker/nginx/Dockerfile +++ b/docker/nginx/Dockerfile @@ -7,7 +7,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -25,6 +29,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/ostf/Dockerfile b/docker/ostf/Dockerfile index 19837bce8..e96a9011a 100644 --- a/docker/ostf/Dockerfile +++ b/docker/ostf/Dockerfile @@ -7,7 +7,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -25,6 +29,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/postgres/Dockerfile b/docker/postgres/Dockerfile index fb67ce7a4..9182097f8 100644 --- a/docker/postgres/Dockerfile +++ b/docker/postgres/Dockerfile @@ -7,7 +7,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -20,6 +24,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/rabbitmq/Dockerfile b/docker/rabbitmq/Dockerfile index b4f2bfdd1..7b562b703 100644 --- a/docker/rabbitmq/Dockerfile +++ b/docker/rabbitmq/Dockerfile @@ -7,7 +7,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -25,6 +29,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/rsync/Dockerfile b/docker/rsync/Dockerfile index 7faac5865..d0974882f 100644 --- a/docker/rsync/Dockerfile +++ b/docker/rsync/Dockerfile @@ -7,7 +7,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -24,6 +28,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/docker/rsyslog/Dockerfile b/docker/rsyslog/Dockerfile index 9afbb9534..27dd5c1a5 100644 --- a/docker/rsyslog/Dockerfile +++ b/docker/rsyslog/Dockerfile @@ -7,7 +7,11 @@ RUN rm -rf /etc/yum.repos.d/*; \ echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ -baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/os/x86_64/\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/repo/os/x86_64/\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=http://$(route -n | awk '/^0.0.0.0/ { print $2 }'):_PORT_/mos-repo/\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean expire-cache; \ @@ -30,6 +34,10 @@ RUN echo -e "\ [nailgun]\n\ name=Nailgun Local Repo\n\ baseurl=file:/var/www/nailgun/centos/x86_64\n\ +gpgcheck=0\n\ +[mos]\n\ +name=MOS Local Repo\n\ +baseurl=file:/var/www/nailgun/mos-centos/x86_64\n\ gpgcheck=0" \ > /etc/yum.repos.d/nailgun.repo; \ yum clean all; \ diff --git a/iso/ks.template b/iso/ks.template index cb991a34a..653d02e6b 100644 --- a/iso/ks.template +++ b/iso/ks.template @@ -12,6 +12,8 @@ selinux --disabled unsupported_hardware # SKIP CONFIGURING X skipx +repo --name="MOS Centos repository" --baseurl=file:///mnt/source/mos-centos/ --cost=100 +{{extra_repos}} # NEVER ever place zerombr here, it breaks automated installation %include /tmp/bootloader.ks %include /tmp/partition.ks @@ -443,10 +445,14 @@ repodir="${wwwdir}/${OPENSTACK_VERSION}" # Copying Centos files mkdir -p ${repodir}/centos/x86_64 +mkdir -p ${repodir}/mos-centos/x86_64 cp -r ${SOURCE}/images ${repodir}/centos/x86_64 cp -r ${SOURCE}/isolinux ${repodir}/centos/x86_64 cp -r ${SOURCE}/repodata ${repodir}/centos/x86_64 cp -r ${SOURCE}/Packages ${repodir}/centos/x86_64 +cp -r ${SOURCE}/mos-centos/repodata ${repodir}/mos-centos/x86_64 +cp -r ${SOURCE}/mos-centos/Packages ${repodir}/mos-centos/x86_64 +cp -r ${SOURCE}/extra-repos ${wwwdir}/ cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64 # Copying Ubuntu files @@ -491,11 +497,16 @@ touch /var/lib/hiera/common.yaml /etc/puppet/hiera.yaml # Prepare local repository specification rm /etc/yum.repos.d/CentOS*.repo +cp ${SOURCE}/extra-repos/extra.repo /etc/yum.repos.d/ cat > /etc/yum.repos.d/nailgun.repo << EOF [nailgun] name=Nailgun Local Repo baseurl=file:/var/www/nailgun/${OPENSTACK_VERSION}/centos/x86_64 gpgcheck=0 +[mos] +name=MOS Local Repo +baseurl=file:/var/www/nailgun/${OPENSTACK_VERSION}/mos-centos/x86_64 +gpgcheck=0 EOF # Disable subscription-manager plugins diff --git a/iso/module.mk b/iso/module.mk index 02164b44d..88557be99 100644 --- a/iso/module.mk +++ b/iso/module.mk @@ -53,8 +53,6 @@ $(BUILD_DIR)/iso/isoroot-centos.done: \ $(BUILD_DIR)/iso/isoroot-dotfiles.done mkdir -p $(ISOROOT) tar xf $(CENTOS_DEP_FILE) -C $(ISOROOT) --xform s:^centos-repo/:: - createrepo -g $(ISOROOT)/comps.xml \ - -u media://`head -1 $(ISOROOT)/.discinfo` $(ISOROOT) $(ACTION.TOUCH) else $(BUILD_DIR)/iso/isoroot-centos.done: \ @@ -65,9 +63,9 @@ $(BUILD_DIR)/iso/isoroot-centos.done: \ $(BUILD_DIR)/iso/isoroot-dotfiles.done mkdir -p $(ISOROOT) rsync -rp $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/ $(ISOROOT) + rsync -rp $(LOCAL_MIRROR_MOS_CENTOS) $(ISOROOT) + rsync -rp $(LOCAL_MIRROR)/extra-repos $(ISOROOT) rsync -rp $(LOCAL_MIRROR)/centos-packages.changelog $(ISOROOT) - createrepo -g $(ISOROOT)/comps.xml \ - -u media://`head -1 $(ISOROOT)/.discinfo` $(ISOROOT) $(ACTION.TOUCH) endif @@ -146,6 +144,26 @@ $(BUILD_DIR)/iso/isoroot-files.done: \ $(ISOROOT)/.discinfo: $(SOURCE_DIR)/iso/.discinfo ; $(ACTION.COPY) $(ISOROOT)/.treeinfo: $(SOURCE_DIR)/iso/.treeinfo ; $(ACTION.COPY) + +# It's a callable object. +# Usage: $(call create_ks_repo_entry,repo) +# where: +# repo=repo_name,http://path_to_the_repo,repo_priority +# repo_priority is a number from 1 to 99 +define create_ks_repo_entry +repo --name="$(call get_repo_name,$1)" --baseurl=file:///mnt/source/extra-repos/$(call get_repo_name,$1) --cost=$(call get_repo_priority,$1) +endef + +$(ISOROOT)/ks.yaml: \ + export ks_contents:=$(foreach repo,$(EXTRA_RPM_REPOS),\n$(space)$(call create_ks_repo_entry,$(repo))\n) +$(ISOROOT)/ks.yaml: + @mkdir -p $(@D) + cp $(KSYAML) $@ +ifneq ($(strip $(EXTRA_RPM_REPOS)),) + /bin/echo "extra_repos:" >> $@ + /bin/echo -e "$${ks_contents}" >> $@ +endif + $(ISOROOT)/isolinux/isolinux.cfg: $(SOURCE_DIR)/iso/isolinux/isolinux.cfg ; $(ACTION.COPY) $(ISOROOT)/isolinux/splash.jpg: $(call depv,FEATURE_GROUPS) ifeq ($(filter mirantis,$(FEATURE_GROUPS)),mirantis) @@ -153,11 +171,10 @@ $(ISOROOT)/isolinux/splash.jpg: $(SOURCE_DIR)/iso/isolinux/splash.jpg ; $(ACTION else $(ISOROOT)/isolinux/splash.jpg: $(SOURCE_DIR)/iso/isolinux/splash_community.jpg ; $(ACTION.COPY) endif -$(ISOROOT)/ks.cfg: $(call depv,KSYAML) -$(ISOROOT)/ks.cfg: $(SOURCE_DIR)/iso/ks.template $(SOURCE_DIR)/iso/ks.py $(KSYAML) +$(ISOROOT)/ks.cfg: $(SOURCE_DIR)/iso/ks.template $(SOURCE_DIR)/iso/ks.py $(ISOROOT)/ks.yaml python $(SOURCE_DIR)/iso/ks.py \ -t $(SOURCE_DIR)/iso/ks.template \ - -c $(KSYAML) \ + -c $(ISOROOT)/ks.yaml \ -u '{"CENTOS_RELEASE": "$(CENTOS_RELEASE)", "PRODUCT_VERSION": "$(PRODUCT_VERSION)"}' \ -o $@.tmp mv $@.tmp $@ diff --git a/mirror/centos/extra-repos.mk b/mirror/centos/extra-repos.mk new file mode 100644 index 000000000..8e36cc91f --- /dev/null +++ b/mirror/centos/extra-repos.mk @@ -0,0 +1,30 @@ +$(BUILD_DIR)/mirror/centos/extra-repos-download.done: $(BUILD_DIR)/mirror/centos/yum-config.done +$(BUILD_DIR)/mirror/centos/extra-repos-download.done: + mkdir -p $(LOCAL_MIRROR)/extra-repos + $(foreach repo,$(EXTRA_RPM_REPOS),$(call extra_repo_download,$(repo));) + $(ACTION.TOUCH) + +$(LOCAL_MIRROR)/extra-repos/extra.repo: $(call depv,EXTRA_RPM_REPOS) +$(LOCAL_MIRROR)/extra-repos/extra.repo: \ + export fuelnode_repos:=$(foreach repo,$(EXTRA_RPM_REPOS),\n$(call create_fuelnode_repo,$(repo))\n) +$(LOCAL_MIRROR)/extra-repos/extra.repo: + mkdir -p $(@D) + /bin/echo -e "$${fuelnode_repos}" > $@ + +$(BUILD_DIR)/mirror/centos/extra-repos.done: $(LOCAL_MIRROR)/extra-repos/extra.repo +$(BUILD_DIR)/mirror/centos/extra-repos.done: $(BUILD_DIR)/mirror/centos/extra-repos-download.done +$(BUILD_DIR)/mirror/centos/extra-repos.done: + $(foreach repo,$(EXTRA_RPM_REPOS),$(call extra_repo_metadata,$(repo));) + $(ACTION.TOUCH) + +define extra_repo_download +set -ex ; reposync --downloadcomps --plugins --delete --arch=$(CENTOS_ARCH) \ + -c $(BUILD_DIR)/mirror/centos/etc/yum.conf --repoid=$(call get_repo_name,$1) \ + -p $(LOCAL_MIRROR)/extra-repos/ +endef + +define extra_repo_metadata +set -ex ; createrepo -g $(LOCAL_MIRROR)/extra-repos/$(call get_repo_name,$1)/comps.xml \ + -u media://`head -1 $(SOURCE_DIR)/iso/.discinfo` \ + -o $(LOCAL_MIRROR)/extra-repos/$(call get_repo_name,$1)/ $(LOCAL_MIRROR)/extra-repos/$(call get_repo_name,$1)/ +endef diff --git a/mirror/centos/module.mk b/mirror/centos/module.mk index 96ad7909f..5c05ad6db 100644 --- a/mirror/centos/module.mk +++ b/mirror/centos/module.mk @@ -1,14 +1,23 @@ -# This module downloads required rpm packages and creates rpm repository. +# This module downloads required upstream rpm packages and creates rpm repository. include $(SOURCE_DIR)/mirror/centos/repo.mk # This module downloads centos installation images. include $(SOURCE_DIR)/mirror/centos/boot.mk +# This module downloads MOS rpm repository +include $(SOURCE_DIR)/mirror/centos/mos-repo.mk +# This module downloads extra rpm repositories +include $(SOURCE_DIR)/mirror/centos/extra-repos.mk + $(BUILD_DIR)/mirror/centos/build.done: \ $(BUILD_DIR)/mirror/centos/repo.done \ - $(BUILD_DIR)/mirror/centos/boot.done + $(BUILD_DIR)/mirror/centos/boot.done \ + $(BUILD_DIR)/mirror/centos/mos-repo.done \ + $(BUILD_DIR)/mirror/centos/extra-repos.done $(ACTION.TOUCH) mirror-centos: $(BUILD_DIR)/mirror/centos/build.done repo-centos: $(BUILD_DIR)/mirror/centos/repo.done +repo-mos-centos: $(BUILD_DIR)/mirror/centos/mos-repo.done +extra-repos-centos: $(BUILD_DIR)/mirror/centos/extra-repos.done -.PHONY: mirror-centos repo-centos +.PHONY: mirror-centos repo-centos repo-mos-centos extra-repos-centos diff --git a/mirror/centos/mos-repo.mk b/mirror/centos/mos-repo.mk new file mode 100644 index 000000000..826840de6 --- /dev/null +++ b/mirror/centos/mos-repo.mk @@ -0,0 +1,13 @@ +$(BUILD_DIR)/mirror/centos/mos-download.done: $(BUILD_DIR)/mirror/centos/yum-config.done + mkdir -p $(@D) + mkdir -p $(LOCAL_MIRROR_MOS_CENTOS) + set -ex ; reposync --norepopath --downloadcomps --plugins --delete --arch=$(CENTOS_ARCH) \ + -c $(BUILD_DIR)/mirror/centos/etc/yum.conf --repoid=fuel -p $(LOCAL_MIRROR_MOS_CENTOS) + $(ACTION.TOUCH) + +$(BUILD_DIR)/mirror/centos/mos-repo.done: $(BUILD_DIR)/mirror/centos/mos-download.done + createrepo -g $(LOCAL_MIRROR_MOS_CENTOS)/comps.xml \ + -u media://`head -1 $(SOURCE_DIR)/iso/.discinfo` \ + -o $(LOCAL_MIRROR_MOS_CENTOS)/ $(LOCAL_MIRROR_MOS_CENTOS)/ + $(ACTION.TOUCH) + diff --git a/mirror/centos/repo.mk b/mirror/centos/repo.mk index 64a8c08ed..d4c37b818 100644 --- a/mirror/centos/repo.mk +++ b/mirror/centos/repo.mk @@ -1,6 +1,6 @@ include $(SOURCE_DIR)/mirror/centos/yum_repos.mk -.PHONY: show-yum-urls-centos show-yum-repos-centos +.PHONY: show-yum-urls-centos show-yum-urls-centos-full show-yum-repos-centos MIRROR_CENTOS_OS_BASEURL?=$(MIRROR_CENTOS)/os/$(CENTOS_ARCH) @@ -157,11 +157,15 @@ $(BUILD_DIR)/mirror/centos/urls.list: $(BUILD_DIR)/mirror/centos/requirements-rp # yumdownloader -q prints logs to stdout, filter them out sed -rne '/\.rpm$$/ {p}' < $@.out > $@.pre sort -u < $@.pre > $@.tmp - mv $@.tmp $@ + mv $@.tmp $@.full + grep "$(MIRROR_CENTOS)" $@.full > $@ show-yum-urls-centos: $(BUILD_DIR)/mirror/centos/urls.list cat $< +show-yum-urls-centos-full: $(BUILD_DIR)/mirror/centos/urls.list + cat $(BUILD_DIR)/mirror/centos/urls.list.full + show-yum-repos-centos: \ $(BUILD_DIR)/mirror/centos/etc/yum.repos.d/base.repo \ $(BUILD_DIR)/mirror/centos/etc/yum.repos.d/extra.repo @@ -182,5 +186,6 @@ $(BUILD_DIR)/mirror/centos/repo.done: \ $(BUILD_DIR)/mirror/centos/yum.done \ | $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/comps.xml createrepo -g $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/comps.xml \ + -u media://`head -1 $(SOURCE_DIR)/iso/.discinfo` \ -o $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/ $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/ $(ACTION.TOUCH) diff --git a/mirror/centos/yum_repos.mk b/mirror/centos/yum_repos.mk index 350c7af3c..91c5cbd66 100644 --- a/mirror/centos/yum_repos.mk +++ b/mirror/centos/yum_repos.mk @@ -107,6 +107,7 @@ baseurl=$(MIRROR_FUEL) gpgcheck=0 enabled=1 priority=20 +exclude=*debuginfo* endef # Accept EXTRA_RPM_REPOS in a form of a list of: name,url,priority @@ -127,4 +128,15 @@ baseurl = $(call get_repo_url,$1) gpgcheck = 0 enabled = 1 priority = $(call get_repo_priority,$1) +exclude=*debuginfo* endef + +define create_fuelnode_repo +[$(call get_repo_name,$1)] +name = Repo "$(call get_repo_name,$1)" +baseurl = file:///var/www/nailgun/extra-repos/$(call get_repo_name,$1) +gpgcheck = 0 +enabled = 1 +priority = $(call get_repo_priority,$1) +endef + diff --git a/packages/rpm/module.mk b/packages/rpm/module.mk index 325ff9d68..071444661 100644 --- a/packages/rpm/module.mk +++ b/packages/rpm/module.mk @@ -16,7 +16,8 @@ $(BUILD_DIR)/packages/rpm/buildd.tar.gz: SANDBOX_PACKAGES:=rpm-build tar yum yum $(BUILD_DIR)/packages/rpm/buildd.tar.gz: SANDBOX:=$(BUILD_DIR)/packages/rpm/SANDBOX/buildd $(BUILD_DIR)/packages/rpm/buildd.tar.gz: export SANDBOX_UP:=$(SANDBOX_UP) $(BUILD_DIR)/packages/rpm/buildd.tar.gz: export SANDBOX_DOWN:=$(SANDBOX_DOWN) -$(BUILD_DIR)/packages/rpm/buildd.tar.gz: $(BUILD_DIR)/mirror/centos/repo.done +$(BUILD_DIR)/packages/rpm/buildd.tar.gz: $(BUILD_DIR)/mirror/centos/repo.done \ + $(BUILD_DIR)/mirror/centos/mos-repo.done sh -c "$${SANDBOX_UP}" sh -c "$${SANDBOX_DOWN}" sudo tar czf $@.tmp -C $(SANDBOX) . @@ -71,8 +72,8 @@ $(BUILD_DIR)/packages/rpm/$1-repocleanup.done: $(BUILD_DIR)/packages/source_$1.d else $(BUILD_DIR)/packages/rpm/$1-repocleanup.done: SPECFILE:=$(SOURCE_DIR)/packages/rpm/specs/$1.spec endif -$(BUILD_DIR)/packages/rpm/$1-repocleanup.done: $(BUILD_DIR)/mirror/centos/repo.done - python $(SOURCE_DIR)/packages/rpm/genpkgnames.py $$(SPECFILE) | xargs -I{} sudo find $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages -regex '.*/{}-[^-]+-[^-]+' -delete +$(BUILD_DIR)/packages/rpm/$1-repocleanup.done: $(BUILD_DIR)/mirror/centos/mos-repo.done + python $(SOURCE_DIR)/packages/rpm/genpkgnames.py $$(SPECFILE) | xargs -I{} sudo find $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages -regex '.*/{}-[^-]+-[^-]+' -delete $$(ACTION.TOUCH) endef @@ -95,9 +96,10 @@ $(eval $(foreach pkg,$(packages_list),$(call build_rpm,$(pkg))$(NEWLINE))) $(BUILD_DIR)/packages/rpm/repo.done: $(BUILD_DIR)/bootstrap/fuel-bootstrap-image-builder-rpm.done $(BUILD_DIR)/packages/rpm/repo.done: - find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u {} $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages \; - createrepo -g $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/comps.xml \ - -o $(LOCAL_MIRROR_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_CENTOS_OS_BASEURL) + find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u {} $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages \; + createrepo -g $(LOCAL_MIRROR_MOS_CENTOS)/comps.xml \ + -u media://`head -1 $(SOURCE_DIR)/iso/.discinfo` \ + -o $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(ACTION.TOUCH) $(BUILD_DIR)/packages/rpm/fuel-docker-images.done: SANDBOX:=$(BUILD_DIR)/packages/rpm/SANDBOX/fuel-docker-images @@ -109,7 +111,7 @@ $(BUILD_DIR)/packages/rpm/fuel-docker-images.done: \ $(BUILD_DIR)/packages/rpm/buildd.tar.gz \ $(BUILD_DIR)/packages/rpm/repo-late.done \ $(BUILD_DIR)/docker/build.done - python $(SOURCE_DIR)/packages/rpm/genpkgnames.py $(SPECFILE) | xargs -I{} sudo find $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages -regex '.*/{}-[^-]+-[^-]+' -delete + python $(SOURCE_DIR)/packages/rpm/genpkgnames.py $(SPECFILE) | xargs -I{} sudo find $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages -regex '.*/{}-[^-]+-[^-]+' -delete mkdir -p $(BUILD_DIR)/packages/rpm/RPMS/x86_64 mkdir -p $(SANDBOX) && \ sudo tar xzf $(BUILD_DIR)/packages/rpm/buildd.tar.gz -C $(SANDBOX) && \ @@ -119,9 +121,10 @@ $(BUILD_DIR)/packages/rpm/fuel-docker-images.done: \ sudo cp $(SPECFILE) $(SANDBOX)/tmp && \ sudo chroot $(SANDBOX) rpmbuild --nodeps --define "_topdir /tmp" -ba /tmp/fuel-docker-images.spec cp $(SANDBOX)/tmp/RPMS/*/fuel-docker-images-*.rpm $(BUILD_DIR)/packages/rpm/RPMS/x86_64 - find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' | xargs cp -u --target-directory=$(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages - createrepo -g $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/comps.xml \ - -o $(LOCAL_MIRROR_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_CENTOS_OS_BASEURL) + find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' | xargs cp -u --target-directory=$(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages + createrepo -g $(LOCAL_MIRROR_MOS_CENTOS)/comps.xml \ + -u media://`head -1 $(SOURCE_DIR)/iso/.discinfo` \ + -o $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(ACTION.TOUCH) # in case BUILD_PACKAGES=0 we have to build only fuel-bootstrap-image-builder @@ -130,9 +133,9 @@ $(BUILD_DIR)/packages/rpm/build.done: $(BUILD_DIR)/packages/rpm/repo.done else $(BUILD_DIR)/packages/rpm/build.done: $(BUILD_DIR)/bootstrap/fuel-bootstrap-image-builder-rpm.done \ $(BUILD_DIR)/mirror/centos/repo.done - find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u {} $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages \; - createrepo -g $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/comps.xml \ - -o $(LOCAL_MIRROR_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_CENTOS_OS_BASEURL) + find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u {} $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages \; + createrepo -g $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/comps.xml \ + -o $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) endif $(ACTION.TOUCH) @@ -162,9 +165,10 @@ $(BUILD_DIR)/packages/rpm/repo-late.done: $(BUILD_DIR)/mirror/centos/repo.done ifeq (1,$(strip $(BUILD_PACKAGES))) $(BUILD_DIR)/packages/rpm/repo-late.done: $(BUILD_DIR)/packages/rpm/repo.done endif - find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u --target-directory $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages {} + - createrepo -g $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/comps.xml \ - -o $(LOCAL_MIRROR_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_CENTOS_OS_BASEURL) + find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u --target-directory $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages {} + + createrepo -g $(LOCAL_MIRROR_MOS_CENTOS)/comps.xml \ + -u media://`head -1 $(SOURCE_DIR)/iso/.discinfo` \ + -o $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(ACTION.TOUCH) $(BUILD_DIR)/packages/rpm/build-late.done: $(BUILD_DIR)/packages/rpm/repo-late.done diff --git a/sandbox.mk b/sandbox.mk index ab9a1b215..39932e8c8 100644 --- a/sandbox.mk +++ b/sandbox.mk @@ -1,13 +1,21 @@ .PHONY: show-ubuntu-sandbox-repos show-centos-sandbox-repos define yum_local_repo -[mirror] -name=Mirantis mirror +[upstream-local-mirror] +name=Local upstream mirror baseurl=file://$(LOCAL_MIRROR_CENTOS_OS_BASEURL) gpgcheck=0 enabled=1 priority=10 endef +define yum_local_mos_repo +[mos-local-mirror] +name=Mirantis mirror +baseurl=file://$(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) +gpgcheck=0 +enabled=1 +priority=10 +endef define yum_upstream_repo [upstream] name=Upstream mirror @@ -58,6 +66,7 @@ cat > $(SANDBOX)/etc/yum.repos.d/base.repo <