Download plugins dependencies using fuel-createmirror 79/3679/6
authorMichal Skalski <mskalski@mirantis.com>
Fri, 27 Nov 2015 01:14:48 +0000 (02:14 +0100)
committerMichal Skalski <mskalski@mirantis.com>
Fri, 27 Nov 2015 10:36:22 +0000 (11:36 +0100)
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 <mskalski@mirantis.com>
build/f_isoroot/f_odlpluginbuild/Makefile
build/f_isoroot/f_odlpluginbuild/requirements-deb.txt [new file with mode: 0644]
build/f_isoroot/f_repobuild/Makefile

index a63cdad..4ec7e80 100644 (file)
@@ -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 (file)
index 0000000..f0d0668
--- /dev/null
@@ -0,0 +1 @@
+openjdk-7-jre-headless
index d7db2dd..522722e 100644 (file)
@@ -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