From 21c25e1b67540202bccaddefcbd1453b25885ad6 Mon Sep 17 00:00:00 2001 From: Michal Skalski Date: Fri, 27 Nov 2015 02:14:48 +0100 Subject: Download plugins dependencies using fuel-createmirror Including dependencies directly in to plugin binary require maintain list of direct links to specific versions of system packages, which often become out of date. This change propose to create requirements-deb.txt file in plugin build directories which will contain only names of deb packages needed for successful deployments in offline environments. Based on the content of these files the common list of dependencies will be created [1]. Defined system packages together with their dependencies will be downloaded during process of creating partial mirror. [1] https://docs.mirantis.com/openstack/fuel/fuel-7.0/operations.html#troubleshooting-partial-mirror verify: no-cache Change-Id: If40b040fcf062f78af6c453a791b02ebf10e7b85 Signed-off-by: Michal Skalski --- build/f_isoroot/f_odlpluginbuild/Makefile | 3 +-- build/f_isoroot/f_odlpluginbuild/requirements-deb.txt | 1 + build/f_isoroot/f_repobuild/Makefile | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 build/f_isoroot/f_odlpluginbuild/requirements-deb.txt (limited to 'build') diff --git a/build/f_isoroot/f_odlpluginbuild/Makefile b/build/f_isoroot/f_odlpluginbuild/Makefile index a63cdadf8..4ec7e809b 100644 --- a/build/f_isoroot/f_odlpluginbuild/Makefile +++ b/build/f_isoroot/f_odlpluginbuild/Makefile @@ -32,8 +32,7 @@ release:.odlbuild sudo gem install fpm sudo pip install fuel-plugin-builder git clone -b $(ODL_BRANCH) $(ODL_REPO) - @$(BUILD_BASE)/check_dependencies.sh fuel-plugin-opendaylight/odl_package/ubuntu/dependencies.txt - INCLUDE_DEPENDENCIES=true fpb --debug --build fuel-plugin-opendaylight/ + fpb --debug --build fuel-plugin-opendaylight/ mv fuel-plugin-opendaylight/opendaylight*.rpm . $(REPOINFO) -r . > gitinfo_odlplugin.txt rm -rf fuel-plugin-opendaylight diff --git a/build/f_isoroot/f_odlpluginbuild/requirements-deb.txt b/build/f_isoroot/f_odlpluginbuild/requirements-deb.txt new file mode 100644 index 000000000..f0d06681e --- /dev/null +++ b/build/f_isoroot/f_odlpluginbuild/requirements-deb.txt @@ -0,0 +1 @@ +openjdk-7-jre-headless diff --git a/build/f_isoroot/f_repobuild/Makefile b/build/f_isoroot/f_repobuild/Makefile index d7db2dd90..522722e66 100644 --- a/build/f_isoroot/f_repobuild/Makefile +++ b/build/f_isoroot/f_repobuild/Makefile @@ -11,6 +11,7 @@ SHELL := /bin/bash TOP := $(shell pwd) RSYNC_HOST := $(shell ./select_ubuntu_repo.sh) +DEPENDENCIES_FILE := /etc/fuel-createmirror/requirements-deb.txt .PHONY: all @@ -37,6 +38,8 @@ nailgun: sudo sed -i 's/DOCKER_MODE=true/DOCKER_MODE=false/' /etc/fuel-createmirror/common.cfg sudo sed -i 's/DEBUG="no"/DEBUG="yes"/' /etc/fuel-createmirror/ubuntu.cfg sudo sed -i "s/MIRROR_UBUNTU_HOST=\".*\"/MIRROR_UBUNTU_HOST=\"$(RSYNC_HOST)\"/" /etc/fuel-createmirror/common.cfg + # Add dependencies from plugins. With awk help try add only unique packages. + sudo bash -c 'find ../ -name requirements-deb.txt -print0 | xargs -0 -I% awk '\''NR == FNR {first[$$0];next}; ! ($$0 in first)'\'' "${DEPENDENCIES_FILE}" "%" >> "${DEPENDENCIES_FILE}"' rm -Rf nailgun sudo mkdir -p /var/www sudo su - -c /opt/fuel-createmirror-*/fuel-createmirror -- cgit 1.2.3-korg