Feat: Choose best python version to run venv 66/70066/2 v0.76.3
authorEric Ball <eball@linuxfoundation.org>
Thu, 21 Apr 2022 23:43:59 +0000 (16:43 -0700)
committerEric Ball <eball@linuxfoundation.org>
Thu, 21 Apr 2022 23:53:25 +0000 (16:53 -0700)
We've seen problems with capture-instance-metadata.sh choosing the
best python path, so this should help get the best version on each
builder.

If the $PYTHON variable is set, this will be used. If not, we check to
see if python3 is available, as this should point to the latest
version. If this is also not available, we run with the basic python
command.

Change-Id: I9950cc286c72fd17eac7a3c678ef8ca04ccd8921
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
releasenotes/notes/smart-venv-activate-f7f691e15cf0bde4.yaml [new file with mode: 0644]
shell/capture-instance-metadata.sh

diff --git a/releasenotes/notes/smart-venv-activate-f7f691e15cf0bde4.yaml b/releasenotes/notes/smart-venv-activate-f7f691e15cf0bde4.yaml
new file mode 100644 (file)
index 0000000..8a7d3f7
--- /dev/null
@@ -0,0 +1,8 @@
+---
+features:
+  - |
+    Post-build script capture-instance-metadata.sh will attempt to choose the
+    best possible version of Python to use. If the ``$PYTHON`` variable is set,
+    this will be used. If not, we check to see if ``python3`` is available,
+    as this should point to the latest version. If this is also not available,
+    we run with the basic ``python`` command.
index 0648d1d..172ed10 100644 (file)
@@ -14,7 +14,13 @@ echo "---> capture-instance-metadata.sh"
 # shellcheck disable=SC1090
 source ~/lf-env.sh
 
-lf-activate-venv --python python3.8 lftools
+if [[ "${PYTHON:-}" -ne "" ]]; then
+    lf-activate-venv --python $PYTHON lftools
+elif python3; then
+    lf-activate-venv --python python3 lftools
+else
+    lf-activate-venv lftools
+fi
 
 # detect if we're in EC2
 if [ -n "${NOMAD_DC}" ]; then