1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
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 <Alexandru.Avadanii@enea.com>
---
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,5 +132,8 @@ $(ISOCACHE):
cd $(FUEL_MAIN_DIR) && make repos
$(REPOINFO) -r $(FUEL_MAIN_DIR) > 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,5 +234,9 @@ debug:
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,58 @@
+##############################################################################
+# 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 f_ovs-nsh-dpdk-pluginbuild f_tacker-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 ASTUTE_REPO := ${ARMBAND_BASE}/upstream/fuel-astute
+ export ASTUTE_COMMIT := HEAD
+
+ 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 PACKETARY_REPO := ${ARMBAND_BASE}/upstream/packetary
+ export PACKETARY_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 := armband-workbench
+ export OVS_NSH_DPDK_CHANGE := 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 OPNFV_GIT_SHA \
+ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e OPNFV_GIT_SHA -e ARMBAND_BASE \
-u $USER_ID:$GROUP_ID -w $PWD \
-v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
|