Add pre-build step to prep vm before build 50/12150/4
authorThanh Ha <thanh.ha@linuxfoundation.org>
Wed, 8 Aug 2018 00:27:59 +0000 (20:27 -0400)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Tue, 21 Aug 2018 17:56:52 +0000 (13:56 -0400)
This new build step will run before any jobs run to prep the
builder.

This change should not force using of $HOME/.local/bin just yet
but preps the macros in place for us to activate it in jobs later.
The current virtualenv method should override what's done here.

Change-Id: I55947020e2f0cdbb61f9d4e7e88927d9bc304d17
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
docs/jjb/lf-macros.rst
jjb/lf-macros.yaml
shell/cmake-stage.sh
shell/deploy-maven-file.sh
shell/jenkins-configure-clouds.sh
shell/jenkins-configure-global-vars.sh
shell/logs-deploy.sh
shell/maven-deploy.sh
shell/maven-javadoc-publish.sh
shell/maven-stage.sh
shell/python-tools-install.sh [new file with mode: 0644]

index 58ec793..a57fac5 100644 (file)
@@ -95,6 +95,11 @@ lf-infra-gpg-verify-git-signature
 Verify gpg signature of the latest commit message in $WORKSPACE.
 This command assumes that $WORKSPACE is a git repo.
 
+lf-infra-pre-build
+------------------
+
+Macro that runs before all builders to prepare the system for job use.
+
 lf-infra-package-listing
 ------------------------
 
index 16cd33c..5188417 100644 (file)
     builders:
       - shell: !include-raw: ../shell/gpg-verify-git-signature.sh
 
+- builder:
+    name: lf-infra-pre-build
+    builders:
+      - shell: !include-raw-escape: ../shell/python-tools-install.sh
+
 - builder:
     name: lf-infra-ship-logs
     builders:
@@ -58,7 +63,9 @@
       - lf-infra-create-netrc:
           server-id: logs
       - shell: !include-raw:
-          - ../shell/lftools-install.sh
+          # Ensure python-tools are installed in case job template does not
+          # call the lf-infra-pre-build macro.
+          - ../shell/python-tools-install.sh
           - ../shell/logs-deploy.sh
       - shell: !include-raw:
           - ../shell/logs-clear-credentials.sh
index 5b67edc..b91d6e1 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2018 The Linux Foundation and others.
index 1b89538..e5bf050 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
index 47023f7..070a94e 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2018 The Linux Foundation and others.
index af36d10..de45f90 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2018 The Linux Foundation and others.
index 7b65693..114692e 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
index 0ab5c6c..38c2f7d 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
index fa691e6..e395a5e 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
index a525c2c..bcac7f6 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
diff --git a/shell/python-tools-install.sh b/shell/python-tools-install.sh
new file mode 100644 (file)
index 0000000..5866ea5
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash -l
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+
+set -eux -o pipefail
+
+REQUIREMENTS_FILE=$(mktemp /tmp/requirements-XXXX.txt)
+
+cat << EOF > "$REQUIREMENTS_FILE"
+lftools~=0.15.0
+python-heatclient~=1.16.1
+python-openstackclient~=3.16.0
+EOF
+
+pip install --user --quiet --upgrade pip==18.0 setuptools==40.0.0
+pip install --user --quiet --upgrade -r "$REQUIREMENTS_FILE"
+pip freeze