From: Alexandru Avadanii Date: Thu, 11 Aug 2016 15:34:32 +0200 Subject: [PATCH] build: Add armband.mk config, env var ARMBAND_BASE Signed-off-by: Alexandru Avadanii --- build/Makefile | 10 ++++++++++ build/armband.mk | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ build/docker/Dockerfile | 2 +- build/docker/runcontext | 6 +++++- 4 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 build/armband.mk diff --git a/build/Makefile b/build/Makefile index 4454c35..377ecc6 100644 --- a/build/Makefile +++ b/build/Makefile @@ -14,6 +14,9 @@ SHELL = /bin/bash # settings. -include environment.mk +# Override Armband specific information & git commit references +-include armband.mk + ############################################################################ # BEGIN of variables to customize # @@ -129,6 +132,9 @@ $(ISOCACHE): sudo docker info cd /tmp/fuel-main && make repos $(REPOINFO) -r /tmp/fuel-main > gitinfo_fuel.txt + @if test -n $(ARMBAND_BASE); then \ + $(REPOINFO) -r $(ARMBAND_BASE) >> gitinfo_fuel.txt; \ + fi # OPNFV patches at Fuel build time # Need to be commited in order for them to be considered by the Fuel # build system @@ -228,6 +234,10 @@ debug: sha1sum *.patch >> .cachedata sha1sum fuel_build_loop >> .cachedata sha1sum config.mk >> .cachedata + @if test -n $(ARMBAND_BASE); then \ + sha1sum armband.mk >> .cachedata; \ + $(REPOINFO) $(ARMBAND_BASE) >> .cachedata; \ + fi sha1sum Makefile >> .cachedata $(CACHETOOL) getbiweek >> .cachedata cat .cachedata | $(CACHETOOL) getid > .cacheid diff --git a/build/armband.mk b/build/armband.mk new file mode 100644 index 0000000..1e772f0 --- /dev/null +++ b/build/armband.mk @@ -0,0 +1,51 @@ +############################################################################## +# Copyright (c) 2016 Enea AB and others. +# Alexandru.Avadanii@enea.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# Only configure Armband stuff when ARMBAND_BASE is set +ifdef ARMBAND_BASE + # Armband plugins, supported archs & specific info + export PLUGINS := f_odlpluginbuild f_bgpvpn-pluginbuild + export UBUNTU_ARCH := amd64 arm64 + export PRODNO := OPNFV_A_FUEL + export MIRROR_MOS_UBUNTU := linux.enea.com + export EXTRA_RPM_REPOS := armband,http://linux.enea.com/mos-repos/centos/mos9.0-centos7/armband/x86_64,10 + + # Temporary fuel-plugin-builder repo info for runtime patching + export FPB_REPO := https://github.com/openstack/fuel-plugins + export FPB_BRANCH := master + export FPB_CHANGE := refs/changes/31/311031/2 + + # Armband git submodules for Fuel/OPNFV components + export NAILGUN_REPO := ${ARMBAND_BASE}/upstream/fuel-web + export NAILGUN_COMMIT := HEAD + + export FUEL_AGENT_REPO := ${ARMBAND_BASE}/upstream/fuel-agent + export FUEL_AGENT_COMMIT := HEAD + + export FUEL_NAILGUN_AGENT_REPO := ${ARMBAND_BASE}/upstream/fuel-nailgun-agent + export FUEL_NAILGUN_AGENT_COMMIT := HEAD + + export FUEL_MIRROR_REPO := ${ARMBAND_BASE}/upstream/fuel-mirror + export FUEL_MIRROR_COMMIT := HEAD + + export FUELLIB_REPO := ${ARMBAND_BASE}/upstream/fuel-library + export FUELLIB_COMMIT := HEAD + + export FUEL_PLUGIN_ODL_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-opendaylight + export FUEL_PLUGIN_ODL_BRANCH := armband-workbench + export FUEL_PLUGIN_ODL_CHANGE := HEAD + export OPNFV_QUAGGE_PACKAGING_REPO := https://github.com/alexandruavadanii/opnfv-quagga-packaging + + export OVS_NSH_DPDK_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-ovs + export OVS_NSH_DPDK_BRANCH := HEAD + + export VSPERF_REPO := ${ARMBAND_BASE}/upstream/vswitchperf + export VSPERF_BRANCH := armband-workbench + export VSPERF_CHANGE := HEAD +endif diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile index b38ea4c..624f233 100644 --- a/build/docker/Dockerfile +++ b/build/docker/Dockerfile @@ -30,7 +30,7 @@ RUN echo "Defaults env_keep += \"ftp_proxy http_proxy https_proxy no_proxy RSYNC # Keeping PWD is needed to build as root RUN echo "Defaults env_keep += \"PWD\"" > /etc/sudoers.d/keep-pwd # Keeping variables for ISO build -RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU UBUNTU_ARCH\"" > /etc/sudoers.d/keep-mos +RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU UBUNTU_ARCH ARMBAND_BASE\"" > /etc/sudoers.d/keep-mos RUN chmod 0440 /etc/sudoers.d/open-sudo RUN chmod 0440 /etc/sudoers.d/keep-proxies RUN chmod 0440 /etc/sudoers.d/keep-pwd diff --git a/build/docker/runcontext b/build/docker/runcontext index daad663..e4874df 100755 --- a/build/docker/runcontext +++ b/build/docker/runcontext @@ -42,6 +42,10 @@ GITROOT=`git rev-parse --show-toplevel` CID_FILE=`mktemp -u -t runcontext.XXXXXXXXXX` CONTEXT_DIR=`mktemp -d ${GITROOT}/.docker_contextXXXXXX` +if [[ $ARMBAND_BASE ]]; then + GITROOT=$ARMBAND_BASE +fi + # If RSYNC_CONNECT_PROG is used, we need to copy all of # the SSH structure, should one of the keys need to be # used. @@ -115,7 +119,7 @@ RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm \ -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE \ -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT \ -e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL \ - -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH \ + -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e ARMBAND_BASE \ -u $USER_ID:$GROUP_ID -w $PWD \ -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"