From 368c4f816e50545b052362a42e71a74fe804f634 Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Thu, 28 Apr 2022 13:28:33 -0600 Subject: [PATCH] bootstrap: Do ansible version check inside venv We need access to the packaging module to do so. Signed-off-by: Zack Cerza --- bootstrap | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bootstrap b/bootstrap index 997882df4b..5aa9fd834a 100755 --- a/bootstrap +++ b/bootstrap @@ -150,11 +150,13 @@ if [ -z "$NO_CLOBBER" ] || [ ! -e ./$VENV ]; then virtualenv --python=$PYTHON $VENV fi +./$VENV/bin/pip install packaging + # It is impossible to upgrade ansible from 2.9 to 2.10 via pip. # See https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_2.10.html#known-issues if [ -f "$VENV/bin/ansible" ]; then ansible_version=$($VENV/bin/pip list --format json | python3 -c "import sys; import json; print(list(filter(lambda i: i['name'] == 'ansible', json.loads(sys.stdin.read())))[0]['version'])") - uninstall_ansible=$(python3 -c "from packaging.version import parse; print(parse('$ansible_version') < parse('2.10.0'))") + uninstall_ansible=$(./$VENV/bin/python3 -c "from packaging.version import parse; print(parse('$ansible_version') < parse('2.10.0'))") if [ "$uninstall_ansible" = "True" ]; then ./$VENV/bin/pip uninstall -y ansible fi -- 2.39.5