From f5ebeaedb0836c6737f5f5dbc258284fae0b7768 Mon Sep 17 00:00:00 2001 From: Steve Smith Date: Thu, 3 Oct 2019 14:23:05 +1000 Subject: [PATCH] DCD-686: Amazon Linux 2 has updated its Ansible packages so we can remove pipenv from the installation phase. --- Pipfile | 2 +- Pipfile.lock | 62 ++++------------------------------------ bin/ansible-with-atl-env | 11 ++++--- bin/install-ansible | 23 ++++----------- 4 files changed, 17 insertions(+), 81 deletions(-) diff --git a/Pipfile b/Pipfile index 4d8129d..55724ff 100644 --- a/Pipfile +++ b/Pipfile @@ -4,7 +4,7 @@ verify_ssl = true name = "pypi" [packages] -ansible = "==2.7.11" +ansible = "==2.8.2" boto3 = "==1.9.241" botocore = "==1.12.241" diff --git a/Pipfile.lock b/Pipfile.lock index 976eed7..4c43753 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "fe304fca8752522c4a630677978735c57d39f161e7d0046ea128a21c7c28e373" + "sha256": "8f8923741e447b125ad9cb5c3912ba86e2239e753c7211ce1f074097892e1b6f" }, "pipfile-spec": 6, "requires": { @@ -18,10 +18,10 @@ "default": { "ansible": { "hashes": [ - "sha256:e7e6de461b7d07cb4d8b2dd2a32b231af7c56e6bf39b851024671aaa52fd377e" + "sha256:1e5ba829ca0602c55b33da399b06f99b135a34014b661d1c36d8892a1e2d3730" ], "index": "pypi", - "version": "==2.7.11" + "version": "==2.8.2" }, "asn1crypto": { "hashes": [ @@ -30,27 +30,6 @@ ], "version": "==1.0.0" }, - "bcrypt": { - "hashes": [ - "sha256:0258f143f3de96b7c14f762c770f5fc56ccd72f8a1857a451c1cd9a655d9ac89", - "sha256:0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42", - "sha256:19a4b72a6ae5bb467fea018b825f0a7d917789bcfe893e53f15c92805d187294", - "sha256:5432dd7b34107ae8ed6c10a71b4397f1c853bd39a4d6ffa7e35f40584cffd161", - "sha256:69361315039878c0680be456640f8705d76cb4a3a3fe1e057e0f261b74be4b31", - "sha256:6fe49a60b25b584e2f4ef175b29d3a83ba63b3a4df1b4c0605b826668d1b6be5", - "sha256:74a015102e877d0ccd02cdeaa18b32aa7273746914a6c5d0456dd442cb65b99c", - "sha256:763669a367869786bb4c8fcf731f4175775a5b43f070f50f46f0b59da45375d0", - "sha256:8b10acde4e1919d6015e1df86d4c217d3b5b01bb7744c36113ea43d529e1c3de", - "sha256:9fe92406c857409b70a38729dbdf6578caf9228de0aef5bc44f859ffe971a39e", - "sha256:a190f2a5dbbdbff4b74e3103cef44344bc30e61255beb27310e2aec407766052", - "sha256:a595c12c618119255c90deb4b046e1ca3bcfad64667c43d1166f2b04bc72db09", - "sha256:c9457fa5c121e94a58d6505cadca8bed1c64444b83b3204928a866ca2e599105", - "sha256:cb93f6b2ab0f6853550b74e051d297c27a638719753eb9ff66d1e4072be67133", - "sha256:d7bdc26475679dd073ba0ed2766445bb5b20ca4793ca0db32b399dccc6bc84b7", - "sha256:ff032765bb8716d9387fd5376d987a937254b0619eff0972779515b5c98820bc" - ], - "version": "==3.1.7" - }, "boto3": { "hashes": [ "sha256:60e711f1113be926bcec1cfe62fa336438d021ce834f4a5228beead3b4bc5142", @@ -176,43 +155,12 @@ ], "version": "==1.1.1" }, - "paramiko": { - "hashes": [ - "sha256:99f0179bdc176281d21961a003ffdb2ec369daac1a1007241f53374e376576cf", - "sha256:f4b2edfa0d226b70bd4ca31ea7e389325990283da23465d572ed1f70a7583041" - ], - "version": "==2.6.0" - }, "pycparser": { "hashes": [ "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3" ], "version": "==2.19" }, - "pynacl": { - "hashes": [ - "sha256:05c26f93964373fc0abe332676cb6735f0ecad27711035b9472751faa8521255", - "sha256:0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c", - "sha256:0d0a8171a68edf51add1e73d2159c4bc19fc0718e79dec51166e940856c2f28e", - "sha256:1c780712b206317a746ace34c209b8c29dbfd841dfbc02aa27f2084dd3db77ae", - "sha256:2424c8b9f41aa65bbdbd7a64e73a7450ebb4aa9ddedc6a081e7afcc4c97f7621", - "sha256:2d23c04e8d709444220557ae48ed01f3f1086439f12dbf11976e849a4926db56", - "sha256:30f36a9c70450c7878053fa1344aca0145fd47d845270b43a7ee9192a051bf39", - "sha256:37aa336a317209f1bb099ad177fef0da45be36a2aa664507c5d72015f956c310", - "sha256:4943decfc5b905748f0756fdd99d4f9498d7064815c4cf3643820c9028b711d1", - "sha256:57ef38a65056e7800859e5ba9e6091053cd06e1038983016effaffe0efcd594a", - "sha256:5bd61e9b44c543016ce1f6aef48606280e45f892a928ca7068fba30021e9b786", - "sha256:6482d3017a0c0327a49dddc8bd1074cc730d45db2ccb09c3bac1f8f32d1eb61b", - "sha256:7d3ce02c0784b7cbcc771a2da6ea51f87e8716004512493a2b69016326301c3b", - "sha256:a14e499c0f5955dcc3991f785f3f8e2130ed504fa3a7f44009ff458ad6bdd17f", - "sha256:a39f54ccbcd2757d1d63b0ec00a00980c0b382c62865b61a505163943624ab20", - "sha256:aabb0c5232910a20eec8563503c153a8e78bbf5459490c49ab31f6adf3f3a415", - "sha256:bd4ecb473a96ad0f90c20acba4f0bf0df91a4e03a1f4dd6a4bdc9ca75aa3a715", - "sha256:e2da3c13307eac601f3de04887624939aca8ee3c9488a0bb0eca4fb9401fc6b1", - "sha256:f67814c38162f4deb31f68d590771a29d5ae3b1bd64b75cf232308e5c74777e0" - ], - "version": "==1.3.0" - }, "python-dateutil": { "hashes": [ "sha256:7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb", @@ -265,10 +213,10 @@ "develop": { "ansible": { "hashes": [ - "sha256:e7e6de461b7d07cb4d8b2dd2a32b231af7c56e6bf39b851024671aaa52fd377e" + "sha256:1e5ba829ca0602c55b33da399b06f99b135a34014b661d1c36d8892a1e2d3730" ], "index": "pypi", - "version": "==2.7.11" + "version": "==2.8.2" }, "ansible-lint": { "hashes": [ diff --git a/bin/ansible-with-atl-env b/bin/ansible-with-atl-env index 29d5fee..580b4d4 100755 --- a/bin/ansible-with-atl-env +++ b/bin/ansible-with-atl-env @@ -14,9 +14,8 @@ source $ENV_FILE set +a # Use Ansible from virtualenv if provided -pipenv run \ - ansible-playbook -v \ - $ATL_DEPLOYMENT_REPOSITORY_CUSTOM_PARAMS \ - -i $INV \ - $PLAYBOOK \ - 2>&1 | tee --append $LOG_FILE +ansible-playbook -v \ + $ATL_DEPLOYMENT_REPOSITORY_CUSTOM_PARAMS \ + -i $INV \ + $PLAYBOOK \ + 2>&1 | tee --append $LOG_FILE diff --git a/bin/install-ansible b/bin/install-ansible index 8a32ac5..ac95ed8 100755 --- a/bin/install-ansible +++ b/bin/install-ansible @@ -2,24 +2,13 @@ set -e -# The Amazon Linux 2 Ansible package is 2.4, which has issue -# interacting with RDS, so use pipenv to install a known-good version. -# Another alternative here would be nix, however that has issues -# installing as root, and can be slow in practice. - -# Luckily AmazonLinux2 and Ubuntu use the same package name for -# pip. This may need some logic if other distros are added. Note: -# Parsing /etc/os-release is probably a good starting point for that. -# -# Additionally we need to install boto3 and botocore, as the Ansible -# AWS modules manage to escape the virtualenv and invoke the native python. +# Amazon Linux 2 packages Ansible separately, so enable the repo +. /etc/os-release +if [[ $ID == 'amzn' ]]; then + amazon-linux-extras enable ansible2 +fi ./bin/pacapt install --noconfirm \ - python-pip \ + ansible \ python-boto3 \ python-botocore -export PATH=$PATH:/usr/local/bin - -# See Pipfile and Pipfile.lock. -pip install pipenv -pipenv sync