From e1f5521652fe2198fcea54d9c1df27a6d677b5d3 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Wed, 7 Sep 2022 15:46:23 -0500 Subject: [PATCH 01/27] upgrade dependencies --- Pipfile | 17 +- Pipfile.lock | 1219 +++++++---------- bin/install-ansible | 13 +- bitbucket-pipelines.yml | 4 +- .../templates/bitbucket-pipelines.yml.j2 | 2 +- requirements.yml | 10 +- 6 files changed, 504 insertions(+), 761 deletions(-) diff --git a/Pipfile b/Pipfile index 723d5d3..2a51513 100644 --- a/Pipfile +++ b/Pipfile @@ -4,17 +4,16 @@ verify_ssl = true name = "pypi" [packages] -ansible = "==2.10.7" -boto3 = "==1.17.49" -botocore = "==1.20.49" +ansible-core = "==2.13.3" +boto3 = "==1.24.68" +botocore = "==1.27.68" [dev-packages] -molecule = "==3.2.2" -molecule-docker = "==0.2.4" -docker = "==4.4.1" -taskcat = "*" +molecule = "==4.0.1" +molecule-docker = "==2.0.0" +docker = "==6.0.0" pytest = "*" -testinfra = "*" +pytest-testinfra = "*" [requires] -python_version = "3.7" +python_version = "3" diff --git a/Pipfile.lock b/Pipfile.lock index 5d77427..ddb1be1 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "4cc5161ca039ac884905a5453c2aee0c4686c0ece78f1edffd4d8ebad812bcce" + "sha256": "1516f96db49749179581aedb5939e7e8a3a52a5c6862541f5f746f86d16c3cd7" }, "pipfile-spec": 6, "requires": { - "python_version": "3.7" + "python_version": "3.8" }, "sources": [ { @@ -16,305 +16,319 @@ ] }, "default": { - "ansible": { + "ansible-core": { "hashes": [ - "sha256:9ff024500116d53c460cb09ea92e3c9404119f100d1d1ff0de69a9dafca561d5" + "sha256:449dbcfbfe18e4f23dec0c29b9aa60d76d205657a8e136484f4edea49faf7614", + "sha256:eec5042530ff1c0c8d13a36fa047c6dd9157efeefd464a856b4ce38be4cd1988" ], "index": "pypi", - "version": "==2.10.7" - }, - "ansible-base": { - "hashes": [ - "sha256:f45df824051339d8bec32d7ab4e9e676498c05e2d9cfce6d54c9698a577e15e2" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.10.8" + "version": "==2.13.3" }, "boto3": { "hashes": [ - "sha256:a482135c30fa07eaf4370314dd0fb49117222a266d0423b2075aed3835ed1f04", - "sha256:d5ef160442925f5944e4cde88589f0f195f6c284f05613114fc6bbc35e342fa7" + "sha256:428d94d7c79b6ea65ade428afbd89fb1b869da631bb5acf22230b5b0b7486290", + "sha256:d8785ada565bd3118b9c4c26d8fa64c32d86e62c3404aab612571ae32c270be2" ], "index": "pypi", - "version": "==1.17.49" + "version": "==1.24.68" }, "botocore": { "hashes": [ - "sha256:6a672ba41dd00e5c1c1824ca8143d180d88de8736d78c0b1f96b8d3cb0466561", - "sha256:f7f103fa0651c69dd360c7d0ecd874854303de5cc0869e0cbc2818a52baacc69" + "sha256:aa8ce593e8d6e1aeb5852f8847e3d1750a1e840b221c01ff63ac0cb1dc583aba", + "sha256:d7decff8d5d94c265ad533c11ba0d653acf0819fcdf1049452076cf8fc0f8946" ], "index": "pypi", - "version": "==1.20.49" + "version": "==1.27.68" }, "cffi": { "hashes": [ - "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813", - "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06", - "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea", - "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee", - "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396", - "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73", - "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315", - "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1", - "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49", - "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892", - "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482", - "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058", - "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5", - "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53", - "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045", - "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3", - "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5", - "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e", - "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c", - "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369", - "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827", - "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053", - "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa", - "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4", - "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322", - "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132", - "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62", - "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa", - "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0", - "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396", - "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e", - "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991", - "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6", - "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1", - "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406", - "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d", - "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c" + "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5", + "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef", + "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104", + "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426", + "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405", + "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375", + "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a", + "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e", + "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc", + "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf", + "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185", + "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497", + "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3", + "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35", + "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c", + "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83", + "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21", + "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca", + "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984", + "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac", + "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd", + "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee", + "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a", + "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2", + "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192", + "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7", + "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585", + "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f", + "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e", + "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27", + "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b", + "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e", + "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e", + "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d", + "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c", + "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415", + "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82", + "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02", + "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314", + "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325", + "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c", + "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3", + "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914", + "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045", + "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d", + "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9", + "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5", + "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2", + "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c", + "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3", + "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2", + "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8", + "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d", + "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d", + "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9", + "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162", + "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76", + "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4", + "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e", + "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9", + "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6", + "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b", + "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01", + "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0" ], - "version": "==1.14.5" + "version": "==1.15.1" }, "cryptography": { "hashes": [ - "sha256:0f1212a66329c80d68aeeb39b8a16d54ef57071bf22ff4e521657b27372e327d", - "sha256:1e056c28420c072c5e3cb36e2b23ee55e260cb04eee08f702e0edfec3fb51959", - "sha256:240f5c21aef0b73f40bb9f78d2caff73186700bf1bc6b94285699aff98cc16c6", - "sha256:26965837447f9c82f1855e0bc8bc4fb910240b6e0d16a664bb722df3b5b06873", - "sha256:37340614f8a5d2fb9aeea67fd159bfe4f5f4ed535b1090ce8ec428b2f15a11f2", - "sha256:3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713", - "sha256:3d8427734c781ea5f1b41d6589c293089704d4759e34597dce91014ac125aad1", - "sha256:7ec5d3b029f5fa2b179325908b9cd93db28ab7b85bb6c1db56b10e0b54235177", - "sha256:8e56e16617872b0957d1c9742a3f94b43533447fd78321514abbe7db216aa250", - "sha256:de4e5f7f68220d92b7637fc99847475b59154b7a1b3868fb7385337af54ac9ca", - "sha256:eb8cc2afe8b05acbd84a43905832ec78e7b3873fb124ca190f574dca7389a87d", - "sha256:ee77aa129f481be46f8d92a1a7db57269a2f23052d5f2433b4621bb457081cc9" + "sha256:0297ffc478bdd237f5ca3a7dc96fc0d315670bfa099c04dc3a4a2172008a405a", + "sha256:10d1f29d6292fc95acb597bacefd5b9e812099d75a6469004fd38ba5471a977f", + "sha256:16fa61e7481f4b77ef53991075de29fc5bacb582a1244046d2e8b4bb72ef66d0", + "sha256:194044c6b89a2f9f169df475cc167f6157eb9151cc69af8a2a163481d45cc407", + "sha256:1db3d807a14931fa317f96435695d9ec386be7b84b618cc61cfa5d08b0ae33d7", + "sha256:3261725c0ef84e7592597606f6583385fed2a5ec3909f43bc475ade9729a41d6", + "sha256:3b72c360427889b40f36dc214630e688c2fe03e16c162ef0aa41da7ab1455153", + "sha256:3e3a2599e640927089f932295a9a247fc40a5bdf69b0484532f530471a382750", + "sha256:3fc26e22840b77326a764ceb5f02ca2d342305fba08f002a8c1f139540cdfaad", + "sha256:5067ee7f2bce36b11d0e334abcd1ccf8c541fc0bbdaf57cdd511fdee53e879b6", + "sha256:52e7bee800ec869b4031093875279f1ff2ed12c1e2f74923e8f49c916afd1d3b", + "sha256:64760ba5331e3f1794d0bcaabc0d0c39e8c60bf67d09c93dc0e54189dfd7cfe5", + "sha256:765fa194a0f3372d83005ab83ab35d7c5526c4e22951e46059b8ac678b44fa5a", + "sha256:79473cf8a5cbc471979bd9378c9f425384980fcf2ab6534b18ed7d0d9843987d", + "sha256:896dd3a66959d3a5ddcfc140a53391f69ff1e8f25d93f0e2e7830c6de90ceb9d", + "sha256:89ed49784ba88c221756ff4d4755dbc03b3c8d2c5103f6d6b4f83a0fb1e85294", + "sha256:ac7e48f7e7261207d750fa7e55eac2d45f720027d5703cd9007e9b37bbb59ac0", + "sha256:ad7353f6ddf285aeadfaf79e5a6829110106ff8189391704c1d8801aa0bae45a", + "sha256:b0163a849b6f315bf52815e238bc2b2346604413fa7c1601eea84bcddb5fb9ac", + "sha256:b6c9b706316d7b5a137c35e14f4103e2115b088c412140fdbd5f87c73284df61", + "sha256:c2e5856248a416767322c8668ef1845ad46ee62629266f84a8f007a317141013", + "sha256:ca9f6784ea96b55ff41708b92c3f6aeaebde4c560308e5fbbd3173fbc466e94e", + "sha256:d1a5bd52d684e49a36582193e0b89ff267704cd4025abefb9e26803adeb3e5fb", + "sha256:d3971e2749a723e9084dd507584e2a2761f78ad2c638aa31e80bc7a15c9db4f9", + "sha256:d4ef6cc305394ed669d4d9eebf10d3a101059bdcf2669c366ec1d14e4fb227bd", + "sha256:d9e69ae01f99abe6ad646947bba8941e896cb3aa805be2597a0400e0764b5818" ], "markers": "python_version >= '3.6'", - "version": "==3.4.7" + "version": "==38.0.1" }, "jinja2": { "hashes": [ - "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419", - "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6" + "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", + "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.11.3" + "markers": "python_version >= '3.7'", + "version": "==3.1.2" }, "jmespath": { "hashes": [ - "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9", - "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f" + "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", + "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.10.0" + "markers": "python_version >= '3.7'", + "version": "==1.0.1" }, "markupsafe": { "hashes": [ - "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", - "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", - "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", - "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", - "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", - "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f", - "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39", - "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", - "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", - "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014", - "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f", - "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", - "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", - "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", - "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", - "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b", - "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", - "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", - "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", - "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85", - "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1", - "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", - "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", - "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", - "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850", - "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0", - "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", - "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", - "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb", - "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", - "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", - "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", - "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1", - "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2", - "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", - "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", - "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", - "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7", - "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", - "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8", - "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", - "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193", - "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", - "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b", - "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", - "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", - "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5", - "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c", - "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032", - "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", - "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be", - "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621" + "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003", + "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88", + "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5", + "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7", + "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a", + "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603", + "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1", + "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135", + "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247", + "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6", + "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601", + "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77", + "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02", + "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e", + "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63", + "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f", + "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980", + "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b", + "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812", + "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff", + "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96", + "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1", + "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925", + "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a", + "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6", + "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e", + "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f", + "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4", + "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f", + "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3", + "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c", + "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a", + "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417", + "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a", + "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a", + "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37", + "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452", + "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933", + "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a", + "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.1.1" + "markers": "python_version >= '3.7'", + "version": "==2.1.1" }, "packaging": { "hashes": [ - "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5", - "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a" + "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", + "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==20.9" + "markers": "python_version >= '3.6'", + "version": "==21.3" }, "pycparser": { "hashes": [ - "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0", - "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705" + "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", + "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.20" + "version": "==2.21" }, "pyparsing": { "hashes": [ - "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", - "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" + "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb", + "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.4.7" + "markers": "python_full_version >= '3.6.8'", + "version": "==3.0.9" }, "python-dateutil": { "hashes": [ - "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", - "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" + "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", + "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.8.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "version": "==2.8.2" }, "pyyaml": { "hashes": [ - "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf", - "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696", - "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393", - "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77", - "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922", - "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5", - "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8", - "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10", - "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc", - "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018", - "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e", - "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253", - "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347", - "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183", - "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541", - "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb", - "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185", - "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc", - "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db", - "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa", - "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46", - "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122", - "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b", - "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63", - "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df", - "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc", - "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247", - "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6", - "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0" + "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", + "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", + "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", + "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", + "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", + "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", + "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", + "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", + "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", + "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", + "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", + "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", + "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", + "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", + "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", + "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", + "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", + "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", + "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", + "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", + "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", + "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", + "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", + "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", + "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", + "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", + "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", + "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", + "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", + "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", + "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", + "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", + "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==5.4.1" + "markers": "python_version >= '3.6'", + "version": "==6.0" + }, + "resolvelib": { + "hashes": [ + "sha256:c6ea56732e9fb6fca1b2acc2ccc68a0b6b8c566d8f3e78e0443310ede61dbd37", + "sha256:d9b7907f055c3b3a2cfc56c914ffd940122915826ff5fb5b1de0c99778f4de98" + ], + "version": "==0.8.1" }, "s3transfer": { "hashes": [ - "sha256:35627b86af8ff97e7ac27975fe0a98a312814b46c6333d8a6b889627bcd80994", - "sha256:efa5bd92a897b6a8d5c1383828dca3d52d0790e0756d49740563a3fb6ed03246" + "sha256:06176b74f3a15f61f1b4f25a1fc29a4429040b7647133a463da8fa5bd28d5ecd", + "sha256:2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947" ], - "version": "==0.3.7" + "markers": "python_version >= '3.7'", + "version": "==0.6.0" }, "six": { "hashes": [ - "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", - "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.15.0" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "version": "==1.16.0" }, "urllib3": { "hashes": [ - "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df", - "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937" + "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e", + "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", - "version": "==1.26.4" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'", + "version": "==1.26.12" } }, "develop": { + "ansible-compat": { + "hashes": [ + "sha256:676db8ec0449d1f07038625b8ebb8ceef5f8ad3a1af3ee82d4ed66b9b04cb6fa", + "sha256:ce69a67785ae96e8962794a47494339991a0ae242ab5dd14a76ee2137d09072e" + ], + "markers": "python_version >= '3.8'", + "version": "==2.2.0" + }, "arrow": { "hashes": [ - "sha256:3515630f11a15c61dcb4cdd245883270dd334c83f3e639824e65a4b79cc48543", - "sha256:399c9c8ae732270e1aa58ead835a79a40d7be8aa109c579898eb41029b5a231d" + "sha256:3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1", + "sha256:5a49ab92e3b7b71d96cd6bfcc4df14efefc9dfa96ea19045815914a6ab6b1fe2" ], "markers": "python_version >= '3.6'", - "version": "==1.0.3" + "version": "==1.2.3" }, "attrs": { "hashes": [ - "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6", - "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700" + "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6", + "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==20.3.0" - }, - "aws-sam-translator": { - "hashes": [ - "sha256:2f8904fd4a631752bc441a8fd928c444ed98ceb86b94d25ed7b84982e2eff1cd", - "sha256:5cf7faab3566843f3b44ef1a42a9c106ffb50809da4002faab818076dcc7bff8", - "sha256:c35075e7e804490d6025598ed4878ad3ab8668e37cafb7ae75120b1c37a6d212" - ], - "version": "==1.35.0" - }, - "backports.shutil-get-terminal-size": { - "hashes": [ - "sha256:0975ba55054c15e346944b38956a4c9cbee9009391e41b86c68990effb8c1f64", - "sha256:713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80" - ], - "version": "==1.0.0" - }, - "bcrypt": { - "hashes": [ - "sha256:5b93c1726e50a93a033c36e5ca7fdcd29a5c7395af50a6892f5d9e7c6cfbfb29", - "sha256:63d4e3ff96188e5898779b6057878fecf3f11cfe6ec3b313ea09955d587ec7a7", - "sha256:81fec756feff5b6818ea7ab031205e1d323d8943d237303baca2c5f9c7846f34", - "sha256:a67fb841b35c28a59cebed05fbd3e80eea26e6d75851f0574a9273c80f3e9b55", - "sha256:c95d4cbebffafcdd28bd28bb4e25b31c50f6da605c81ffd9ad8a3d1b2ab7b1b6", - "sha256:cd1ea2ff3038509ea95f687256c46b79f5fc382ad0aa3664d200047546d511d1", - "sha256:cdcdcb3972027f83fe24a48b1e90ea4b584d35f1cc279d76de6fc4b13376239d" - ], - "markers": "python_version >= '3.6'", - "version": "==3.2.0" + "markers": "python_version >= '3.5'", + "version": "==22.1.0" }, "binaryornot": { "hashes": [ @@ -323,123 +337,51 @@ ], "version": "==0.4.4" }, - "boto3": { - "hashes": [ - "sha256:a482135c30fa07eaf4370314dd0fb49117222a266d0423b2075aed3835ed1f04", - "sha256:d5ef160442925f5944e4cde88589f0f195f6c284f05613114fc6bbc35e342fa7" - ], - "index": "pypi", - "version": "==1.17.49" - }, - "botocore": { - "hashes": [ - "sha256:6a672ba41dd00e5c1c1824ca8143d180d88de8736d78c0b1f96b8d3cb0466561", - "sha256:f7f103fa0651c69dd360c7d0ecd874854303de5cc0869e0cbc2818a52baacc69" - ], - "index": "pypi", - "version": "==1.20.49" - }, "cerberus": { "hashes": [ - "sha256:7aff49bc793e58a88ac14bffc3eca0f67e077881d3c62c621679a621294dd174", - "sha256:eec10585c33044fb7c69650bc5b68018dac0443753337e2b07684ee0f3c83329" + "sha256:302e6694f206dd85cb63f13fd5025b31ab6d38c99c50c6d769f8fa0b0f299589" ], "markers": "python_version >= '2.7'", - "version": "==1.3.3" + "version": "==1.3.2" }, "certifi": { "hashes": [ - "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c", - "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830" + "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d", + "sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412" ], - "version": "==2020.12.5" - }, - "cffi": { - "hashes": [ - "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813", - "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06", - "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea", - "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee", - "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396", - "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73", - "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315", - "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1", - "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49", - "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892", - "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482", - "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058", - "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5", - "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53", - "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045", - "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3", - "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5", - "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e", - "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c", - "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369", - "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827", - "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053", - "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa", - "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4", - "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322", - "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132", - "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62", - "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa", - "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0", - "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396", - "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e", - "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991", - "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6", - "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1", - "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406", - "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d", - "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c" - ], - "version": "==1.14.5" - }, - "cfn-lint": { - "hashes": [ - "sha256:5bf30bb468491717046e4b1212ce0378f53cd4b9b4461387fd9b549c21c97f2e", - "sha256:67dc1687ccb68f76341a75f1a35f3074e6ac21169208d1ee1f658ed06134b213" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.48.2" + "markers": "python_version >= '3.6'", + "version": "==2022.6.15" }, "chardet": { "hashes": [ - "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", - "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" + "sha256:0368df2bfd78b5fc20572bb4e9bb7fb53e2c094f60ae9993339e8671d0afb8aa", + "sha256:d3e64f022d254183001eccc5db4040520c0f23b1a3f33d6413e099eb7f126557" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==4.0.0" + "markers": "python_version >= '3.6'", + "version": "==5.0.0" + }, + "charset-normalizer": { + "hashes": [ + "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845", + "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f" + ], + "markers": "python_version >= '3.6'", + "version": "==2.1.1" }, "click": { "hashes": [ - "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a", - "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc" + "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", + "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==7.1.2" - }, - "click-completion": { - "hashes": [ - "sha256:5bf816b81367e638a190b6e91b50779007d14301b3f9f3145d68e3cade7bce86" - ], - "version": "==0.5.2" + "markers": "python_version >= '3.7'", + "version": "==8.1.3" }, "click-help-colors": { "hashes": [ - "sha256:eb037a2dd95a9e20b3897c2b3ca57e7f6797f76a8d93f7eeedda7fcdcbc9b635", - "sha256:f6c3d1fe86b07790e6ef0339f458196a8814de90946d876774ea4b4f30a5a539" + "sha256:25a6bd22d8abbc72c18a416a1cf21ab65b6120bee48e9637829666cbad22d51d", + "sha256:78cbcf30cfa81c5fc2a52f49220121e1a8190cd19197d9245997605d3405824d" ], - "version": "==0.9" - }, - "colorama": { - "hashes": [ - "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b", - "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==0.4.4" + "version": "==0.9.1" }, "commonmark": { "hashes": [ @@ -450,109 +392,43 @@ }, "cookiecutter": { "hashes": [ - "sha256:430eb882d028afb6102c084bab6cf41f6559a77ce9b18dc6802e3bc0cc5f4a30", - "sha256:efb6b2d4780feda8908a873e38f0e61778c23f6a2ea58215723bcceb5b515dac" + "sha256:9f3ab027cec4f70916e28f03470bdb41e637a3ad354b4d65c765d93aad160022", + "sha256:f3982be8d9c53dac1261864013fdec7f83afd2e42ede6f6dd069c5e149c540d5" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==1.7.2" - }, - "cryptography": { - "hashes": [ - "sha256:0f1212a66329c80d68aeeb39b8a16d54ef57071bf22ff4e521657b27372e327d", - "sha256:1e056c28420c072c5e3cb36e2b23ee55e260cb04eee08f702e0edfec3fb51959", - "sha256:240f5c21aef0b73f40bb9f78d2caff73186700bf1bc6b94285699aff98cc16c6", - "sha256:26965837447f9c82f1855e0bc8bc4fb910240b6e0d16a664bb722df3b5b06873", - "sha256:37340614f8a5d2fb9aeea67fd159bfe4f5f4ed535b1090ce8ec428b2f15a11f2", - "sha256:3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713", - "sha256:3d8427734c781ea5f1b41d6589c293089704d4759e34597dce91014ac125aad1", - "sha256:7ec5d3b029f5fa2b179325908b9cd93db28ab7b85bb6c1db56b10e0b54235177", - "sha256:8e56e16617872b0957d1c9742a3f94b43533447fd78321514abbe7db216aa250", - "sha256:de4e5f7f68220d92b7637fc99847475b59154b7a1b3868fb7385337af54ac9ca", - "sha256:eb8cc2afe8b05acbd84a43905832ec78e7b3873fb124ca190f574dca7389a87d", - "sha256:ee77aa129f481be46f8d92a1a7db57269a2f23052d5f2433b4621bb457081cc9" - ], - "markers": "python_version >= '3.6'", - "version": "==3.4.7" - }, - "dataclasses-jsonschema": { - "hashes": [ - "sha256:4f0ba1ee882f2a79afa7e36d98e063fd7c71f15b54affeebf9116238e73e7b94", - "sha256:a51fcb9523ce7aaa6daec2b42ce05f512f795192321c0ca5918b69125023dbc3" - ], - "version": "==2.14.1" - }, - "decorator": { - "hashes": [ - "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760", - "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7" - ], - "version": "==4.4.2" - }, - "distro": { - "hashes": [ - "sha256:0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92", - "sha256:df74eed763e18d10d0da624258524ae80486432cd17392d9c3d96f5e83cd2799" - ], - "version": "==1.5.0" + "markers": "python_version >= '3.7'", + "version": "==2.1.1" }, "docker": { "hashes": [ - "sha256:0604a74719d5d2de438753934b755bfcda6f62f49b8e4b30969a4b0a2a8a1220", - "sha256:e455fa49aabd4f22da9f4e1c1f9d16308286adc60abaf64bf3e1feafaed81d06" + "sha256:19e330470af40167d293b0352578c1fa22d74b34d3edf5d4ff90ebc203bbb2f1", + "sha256:6e06ee8eca46cd88733df09b6b80c24a1a556bc5cb1e1ae54b2c239886d245cf" ], "index": "pypi", - "version": "==4.4.1" - }, - "dulwich": { - "hashes": [ - "sha256:18f52e801921665986c51ddd2efe62d961efb97bdcfaf844a5b636997c0777ae", - "sha256:1cfba9ccccd9e513afeb0bedca2de34ab674814764102eb430c75a86fba37aaa", - "sha256:2fca59c6a0b119942be9796cdb706bd1f7e9509924c63166d437afedc6950ece", - "sha256:4331ea9d27e8b722c178fa603760c9ba904336b41b513e092ad94c79e99c995a", - "sha256:45dd6a82416f076b639449bbee84b39b32b5eab7b90540badf4d8b2b0ecee84f", - "sha256:6c287ad8978b698038cdd071bbd68e838bdba935b1d7d011c1f8cc00b8edca13", - "sha256:71511bc5038efa27614e9112acbda49d26aaec58300166c6979e220257282069", - "sha256:7a748afb97fb0a0cd93bb5c10a4c41ca0c080f1d9473e30e1db045004a1aa585", - "sha256:7f96647fda9a7b0cf0ab905e14403012cfaff9d459f1e57fafc92ed4870f1c65", - "sha256:81bc2bbdc6dcd6f7c7dc43e6875914e4816f0c798bb9f89b6934e610ad30746c", - "sha256:8fdcf2e796a978e62753eab13c919abf57337e1c464b9d518d3a30572bbbe8ee", - "sha256:91f69ce2ed5ca99441339bb41338692b9b48ee67fd9c82b1837a5c0ce1c04f96", - "sha256:ac764c9a9b80fa61afe3404d5270c5060aa57f7f087b11a95395d3b76f3b71fd", - "sha256:aef6be3233b1100394b8b94a94277a8292042ab4f9ec2a0d62fa68a41edb1535", - "sha256:b34a20eab578f36408ccfcd83c470f08cdc548081a87fbfa0bc869927eccb411", - "sha256:b8c24d3874a5162343aaaad5fe29dd3cbe1870b670ca639ed825ca14859d56e4", - "sha256:be63dc78424f6af8bb27cb62bbf06f6d1d54feb06a432c642e1af6dc90d1a9e9", - "sha256:be6a954cec473dccc23086d8c5be668ccaedd90c5c7b3939c0fab4fdd8f124cd", - "sha256:df49c6b761d222ca56d5c971736ce88a74485c75674a5d0de8b9b4a3c1869174", - "sha256:e14fae058964846d1c4e51b4a56a709075edd308ea7bd946d65dee91b1f323c9", - "sha256:e52520fc5e4381f3de5f06f7f6d21bd5cb0029523b4b61b97e40538a1152d49a" - ], - "markers": "python_version >= '3.5'", - "version": "==0.20.21" + "version": "==6.0.0" }, "enrich": { "hashes": [ - "sha256:0e99ff57d87f7b5def0ca79917e88fb9351aa0d52e228ee38bff7cd858315fe4", - "sha256:ed0b3ac33495cc95f1ccafaf6c7ec0a0fcabb20f7f7a90121f37eb83a85bf82b" + "sha256:0a2ab0d2931dff8947012602d1234d2a3ee002d9a355b5d70be6bf5466008893", + "sha256:f29b2c8c124b4dbd7c975ab5c3568f6c7a47938ea3b7d2106c8a3bd346545e4f" ], "markers": "python_version >= '3.6'", - "version": "==1.2.6" + "version": "==1.2.7" }, "idna": { "hashes": [ - "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6", - "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0" + "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", + "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.10" + "markers": "python_version >= '3.5'", + "version": "==3.3" }, - "importlib-metadata": { + "importlib-resources": { "hashes": [ - "sha256:2ec0faae539743ae6aaa84b49a169670a465f7f5d64e6add98388cc29fd1f2f6", - "sha256:c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1" + "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681", + "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7" ], - "markers": "python_version < '3.8'", - "version": "==3.10.1" + "markers": "python_version < '3.9'", + "version": "==5.9.0" }, "iniconfig": { "hashes": [ @@ -563,11 +439,11 @@ }, "jinja2": { "hashes": [ - "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419", - "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6" + "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", + "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.11.3" + "markers": "python_version >= '3.7'", + "version": "==3.1.2" }, "jinja2-time": { "hashes": [ @@ -576,388 +452,261 @@ ], "version": "==0.2.0" }, - "jmespath": { - "hashes": [ - "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9", - "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f" - ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.10.0" - }, - "jsonpatch": { - "hashes": [ - "sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397", - "sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2" - ], - "markers": "python_version != '3.4'", - "version": "==1.32" - }, - "jsonpointer": { - "hashes": [ - "sha256:150f80c5badd02c757da6644852f612f88e8b4bc2f9852dcbf557c8738919686", - "sha256:5a34b698db1eb79ceac454159d3f7c12a451a91f6334a4f638454327b7a89962" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.1" - }, "jsonschema": { "hashes": [ - "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163", - "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a" + "sha256:21f4979391bdceb044e502fd8e79e738c0cdfbdc8773f9a49b5769461e82fe1e", + "sha256:2df0fab225abb3b41967bb3a46fd37dc74b1536b5296d0b1c2078cd072adf0f7" ], - "version": "==3.2.0" - }, - "junit-xml": { - "hashes": [ - "sha256:ec5ca1a55aefdd76d28fcc0b135251d156c7106fa979686a4b48d62b761b4732" - ], - "version": "==1.9" + "markers": "python_version >= '3.7'", + "version": "==4.15.0" }, "markupsafe": { "hashes": [ - "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", - "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", - "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", - "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", - "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", - "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f", - "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39", - "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", - "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", - "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014", - "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f", - "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", - "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", - "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", - "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", - "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b", - "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", - "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", - "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", - "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85", - "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1", - "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", - "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", - "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", - "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850", - "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0", - "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", - "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", - "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb", - "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", - "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", - "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", - "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1", - "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2", - "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", - "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", - "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", - "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7", - "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", - "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8", - "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", - "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193", - "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", - "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b", - "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", - "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", - "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5", - "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c", - "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032", - "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", - "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be", - "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621" + "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003", + "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88", + "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5", + "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7", + "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a", + "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603", + "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1", + "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135", + "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247", + "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6", + "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601", + "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77", + "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02", + "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e", + "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63", + "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f", + "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980", + "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b", + "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812", + "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff", + "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96", + "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1", + "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925", + "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a", + "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6", + "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e", + "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f", + "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4", + "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f", + "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3", + "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c", + "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a", + "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417", + "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a", + "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a", + "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37", + "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452", + "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933", + "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a", + "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.1.1" - }, - "mock": { - "hashes": [ - "sha256:5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1", - "sha256:b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba" - ], - "version": "==2.0.0" + "markers": "python_version >= '3.7'", + "version": "==2.1.1" }, "molecule": { "hashes": [ - "sha256:9e360073598d45ec86036d84084fc6493dfc4270fd7600ee9ebe0ce03a0af6e5", - "sha256:d96ef3f895250f16142ed51591558d54a67a1546e05ccff386be0320de44973c" + "sha256:dcf829a70fd987ad21d28d44820b05d7fc09250dc19a79572ca10669e27bd8be", + "sha256:ee10e5463bc9940f9afd9b85812c63eacefea889a99c21274f4054ebe248c3b9" ], "index": "pypi", - "version": "==3.2.2" + "version": "==4.0.1" }, "molecule-docker": { "hashes": [ - "sha256:251832979dcb590da4cd46df60f2240c1e88f66f4015223efe350b6afe68c342", - "sha256:715a16d6fb90c6a260f280c8e5c559b3bd4a3e75752eb208f6ab055df5afe04a" + "sha256:12c180c95c3f022d89aedd52e42b57e5c1e0ee4d4be8ec997c3dcb9c28d7e2a3", + "sha256:c447842ee4817fe6efa64ca6a73b1e3081cd60710ed86385b6ad7569d9599ab5" ], "index": "pypi", - "version": "==0.2.4" - }, - "networkx": { - "hashes": [ - "sha256:0635858ed7e989f4c574c2328380b452df892ae85084144c73d8cd819f0c4e06", - "sha256:109cd585cac41297f71103c3c42ac6ef7379f29788eb54cb751be5a663bb235a" - ], - "markers": "python_version >= '3.5'", - "version": "==2.5.1" + "version": "==2.0.0" }, "packaging": { "hashes": [ - "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5", - "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a" + "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", + "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==20.9" + "markers": "python_version >= '3.6'", + "version": "==21.3" }, - "paramiko": { + "pkgutil-resolve-name": { "hashes": [ - "sha256:4f3e316fef2ac628b05097a637af35685183111d4bc1b5979bd397c2ab7b5898", - "sha256:7f36f4ba2c0d81d219f4595e35f70d56cc94f9ac40a6acdf51d6ca210ce65035" + "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", + "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e" ], - "version": "==2.7.2" - }, - "pathspec": { - "hashes": [ - "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd", - "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d" - ], - "version": "==0.8.1" - }, - "pbr": { - "hashes": [ - "sha256:5fad80b613c402d5b7df7bd84812548b2a61e9977387a80a5fc5c396492b13c9", - "sha256:b236cde0ac9a6aedd5e3c34517b423cd4fd97ef723849da6b0d2231142d89c00" - ], - "markers": "python_version >= '2.6'", - "version": "==5.5.1" + "markers": "python_version < '3.9'", + "version": "==1.3.10" }, "pluggy": { "hashes": [ - "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0", - "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d" + "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159", + "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.13.1" - }, - "poyo": { - "hashes": [ - "sha256:3e2ca8e33fdc3c411cd101ca395668395dd5dc7ac775b8e809e3def9f9fe041a", - "sha256:e26956aa780c45f011ca9886f044590e2d8fd8b61db7b1c1cf4e0869f48ed4dd" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.5.0" + "markers": "python_version >= '3.6'", + "version": "==1.0.0" }, "py": { "hashes": [ - "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3", - "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a" + "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", + "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.10.0" - }, - "pycparser": { - "hashes": [ - "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0", - "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.20" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==1.11.0" }, "pygments": { "hashes": [ - "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94", - "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8" + "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1", + "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42" ], - "markers": "python_version >= '3.5'", - "version": "==2.8.1" - }, - "pynacl": { - "hashes": [ - "sha256:06cbb4d9b2c4bd3c8dc0d267416aaed79906e7b33f114ddbf0911969794b1cc4", - "sha256:11335f09060af52c97137d4ac54285bcb7df0cef29014a1a4efe64ac065434c4", - "sha256:2fe0fc5a2480361dcaf4e6e7cea00e078fcda07ba45f811b167e3f99e8cff574", - "sha256:30f9b96db44e09b3304f9ea95079b1b7316b2b4f3744fe3aaecccd95d547063d", - "sha256:4e10569f8cbed81cb7526ae137049759d2a8d57726d52c1a000a3ce366779634", - "sha256:511d269ee845037b95c9781aa702f90ccc36036f95d0f31373a6a79bd8242e25", - "sha256:537a7ccbea22905a0ab36ea58577b39d1fa9b1884869d173b5cf111f006f689f", - "sha256:54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505", - "sha256:757250ddb3bff1eecd7e41e65f7f833a8405fede0194319f87899690624f2122", - "sha256:7757ae33dae81c300487591c68790dfb5145c7d03324000433d9a2c141f82af7", - "sha256:7c6092102219f59ff29788860ccb021e80fffd953920c4a8653889c029b2d420", - "sha256:8122ba5f2a2169ca5da936b2e5a511740ffb73979381b4229d9188f6dcb22f1f", - "sha256:9c4a7ea4fb81536c1b1f5cc44d54a296f96ae78c1ebd2311bd0b60be45a48d96", - "sha256:c914f78da4953b33d4685e3cdc7ce63401247a21425c16a39760e282075ac4a6", - "sha256:cd401ccbc2a249a47a3a1724c2918fcd04be1f7b54eb2a5a71ff915db0ac51c6", - "sha256:d452a6746f0a7e11121e64625109bc4468fc3100452817001dbe018bb8b08514", - "sha256:ea6841bc3a76fa4942ce00f3bda7d436fda21e2d91602b9e21b7ca9ecab8f3ff", - "sha256:f8851ab9041756003119368c1e6cd0b9c631f46d686b3904b18c0139f4419f80" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.4.0" + "markers": "python_version >= '3.6'", + "version": "==2.13.0" }, "pyparsing": { "hashes": [ - "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", - "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" + "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb", + "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.4.7" + "markers": "python_full_version >= '3.6.8'", + "version": "==3.0.9" }, "pyrsistent": { "hashes": [ - "sha256:2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e" + "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c", + "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc", + "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e", + "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26", + "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec", + "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286", + "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045", + "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec", + "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8", + "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c", + "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca", + "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22", + "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a", + "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96", + "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc", + "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1", + "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07", + "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6", + "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b", + "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5", + "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6" ], - "markers": "python_version >= '3.5'", - "version": "==0.17.3" + "markers": "python_version >= '3.7'", + "version": "==0.18.1" }, "pytest": { "hashes": [ - "sha256:671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634", - "sha256:6ad9c7bdf517a808242b998ac20063c41532a570d088d77eec1ee12b0b5574bc" + "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7", + "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39" ], "index": "pypi", - "version": "==6.2.3" + "version": "==7.1.3" }, "pytest-testinfra": { "hashes": [ - "sha256:f24f41c6453e0e70f361672cabc8358b4ade1f72a1d52870e621f12bf74015e1", - "sha256:fbaec729a39c90917895381bee903461be1aa8dcd2f5fff6bc5600c9fe12c795" + "sha256:07c8c2c472aca7d83099ebc5f850d383721cd654b66c60ffbb145e45e584ff99", + "sha256:56ac1dfc61342632a1189091473e253db1a3cdcecce0d49d6a769f33cd264814" ], - "markers": "python_version >= '3.6'", - "version": "==6.2.0" + "index": "pypi", + "version": "==6.8.0" }, "python-dateutil": { "hashes": [ - "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", - "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" + "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", + "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.8.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "version": "==2.8.2" }, "python-slugify": { "hashes": [ - "sha256:69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270" + "sha256:272d106cb31ab99b3496ba085e3fea0e9e76dcde967b5e9992500d1f785ce4e1", + "sha256:7b2c274c308b62f4269a9ba701aa69a797e9bca41aeee5b3a9e79e36b6656927" ], - "version": "==4.0.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==6.1.2" }, "pyyaml": { "hashes": [ - "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf", - "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696", - "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393", - "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77", - "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922", - "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5", - "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8", - "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10", - "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc", - "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018", - "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e", - "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253", - "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347", - "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183", - "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541", - "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb", - "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185", - "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc", - "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db", - "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa", - "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46", - "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122", - "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b", - "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63", - "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df", - "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc", - "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247", - "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6", - "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0" + "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", + "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", + "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", + "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", + "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", + "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", + "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", + "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", + "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", + "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", + "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", + "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", + "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", + "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", + "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", + "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", + "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", + "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", + "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", + "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", + "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", + "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", + "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", + "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", + "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", + "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", + "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", + "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", + "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", + "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", + "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", + "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", + "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==5.4.1" - }, - "reprint": { - "hashes": [ - "sha256:0ebc4dc21aefc810205f3fcc21783ea91bb96292a8500663482e864989bff54d" - ], - "version": "==0.6.0" + "markers": "python_version >= '3.6'", + "version": "==6.0" }, "requests": { "hashes": [ - "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", - "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e" + "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983", + "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.25.1" + "markers": "python_version >= '3.7' and python_version < '4'", + "version": "==2.28.1" }, "rich": { "hashes": [ - "sha256:60cd6d6ea697a1704f2057e791e3062b506b5c74a6e2ad2ced71eccb37557259", - "sha256:8f05431091601888c50341697cfc421dc398ce37b12bca0237388ef9c7e2c9e9" + "sha256:2eb4e6894cde1e017976d2975ac210ef515d7548bc595ba20e195fb9628acdeb", + "sha256:63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca" ], - "markers": "python_version >= '3.6' and python_version < '4'", - "version": "==10.1.0" + "markers": "python_full_version >= '3.6.3' and python_version < '4'", + "version": "==12.5.1" }, - "s3transfer": { + "setuptools": { "hashes": [ - "sha256:35627b86af8ff97e7ac27975fe0a98a312814b46c6333d8a6b889627bcd80994", - "sha256:efa5bd92a897b6a8d5c1383828dca3d52d0790e0756d49740563a3fb6ed03246" + "sha256:2e24e0bec025f035a2e72cdd1961119f557d78ad331bb00ff82efb2ab8da8e82", + "sha256:7732871f4f7fa58fb6bdcaeadb0161b2bd046c85905dbaa066bdcbcc81953b57" ], - "version": "==0.3.7" - }, - "selinux": { - "hashes": [ - "sha256:820adcf1b4451c9cc7759848797703263ba0eb6a4cad76d73548a9e0d57b7926", - "sha256:d435f514e834e3fdc0941f6a29d086b80b2ea51b28112aee6254bd104ee42a74" - ], - "markers": "sys_platform == 'linux' and sys_platform == 'linux'", - "version": "==0.2.1" - }, - "shellingham": { - "hashes": [ - "sha256:4855c2458d6904829bd34c299f11fdeed7cfefbf8a2c522e4caea6cd76b3171e", - "sha256:536b67a0697f2e4af32ab176c00a50ac2899c5a05e0d8e2dadac8e58888283f9" - ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.4.0" + "markers": "python_version >= '3.7'", + "version": "==65.3.0" }, "six": { "hashes": [ - "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", - "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.15.0" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "version": "==1.16.0" }, "subprocess-tee": { "hashes": [ - "sha256:518b59a4cd51573749c8f063a675ff9b4ee3370742ee1d7078c2a8b73bad2567", - "sha256:c7cbee649ad272ed13cb1f701e70ef17612b4df99bc809f1eae571d6565595d2" + "sha256:d34186c639aa7f8013b5dfba80e17f52589539137c9d9205f2ae1c1bd03549e1", + "sha256:ff5cced589a4b8ac973276ca1ba21bb6e3de600cde11a69947ff51f696efd577" ], "markers": "python_version >= '3.6'", - "version": "==0.3.1" - }, - "tabulate": { - "hashes": [ - "sha256:d7c013fe7abbc5e491394e10fa845f8f32fe54f8dc60c6622c6cf482d25d47e4", - "sha256:eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7" - ], - "version": "==0.8.9" - }, - "taskcat": { - "hashes": [ - "sha256:bcada35b33c70050529238d1d92c280f1fe24e597f7a81f385256e2cb4932d18" - ], - "index": "pypi", - "version": "==0.9.23" - }, - "testinfra": { - "hashes": [ - "sha256:1a75b5025dbe82ffedec50afeaf9a7f96a8cd1e294f0d40de3a089a369ceae0e", - "sha256:4225d36e4bb02eb1618429325280c4b62a18cea8a90c91564ee0cc1d31ca331a" - ], - "index": "pypi", - "version": "==6.0.0" + "version": "==0.3.5" }, "text-unidecode": { "hashes": [ @@ -966,59 +715,45 @@ ], "version": "==1.3" }, - "toml": { + "tomli": { "hashes": [ - "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" + "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.10.2" + "markers": "python_version >= '3.7'", + "version": "==2.0.1" }, "typing-extensions": { "hashes": [ - "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918", - "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c", - "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f" + "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02", + "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6" ], - "markers": "python_version < '3.8'", - "version": "==3.7.4.3" + "markers": "python_version < '3.9'", + "version": "==4.3.0" }, "urllib3": { "hashes": [ - "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df", - "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937" + "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e", + "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", - "version": "==1.26.4" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'", + "version": "==1.26.12" }, "websocket-client": { "hashes": [ - "sha256:44b5df8f08c74c3d82d28100fdc81f4536809ce98a17f0757557813275fbb663", - "sha256:63509b41d158ae5b7f67eb4ad20fecbb4eee99434e73e140354dc3ff8e09716f" + "sha256:398909eb7e261f44b8f4bd474785b6ec5f5b499d4953342fe9755e01ef624090", + "sha256:f9611eb65c8241a67fb373bef040b3cf8ad377a9f6546a12b620b6511e8ea9ef" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.58.0" - }, - "yamllint": { - "hashes": [ - "sha256:87d9462b3ed7e9dfa19caa177f7a77cd9888b3dc4044447d6ae0ab233bcd1324" - ], - "markers": "python_version >= '3.5'", - "version": "==1.26.1" - }, - "yattag": { - "hashes": [ - "sha256:5731a31cb7452c0c6930dd1a284e0170b39eee959851a2aceb8d6af4134a5fa8" - ], - "version": "==1.14.0" + "markers": "python_version >= '3.7'", + "version": "==1.4.1" }, "zipp": { "hashes": [ - "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76", - "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098" + "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2", + "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009" ], - "markers": "python_version >= '3.6'", - "version": "==3.4.1" + "markers": "python_version < '3.10'", + "version": "==3.8.1" } } } diff --git a/bin/install-ansible b/bin/install-ansible index 9c3e06f..4237607 100755 --- a/bin/install-ansible +++ b/bin/install-ansible @@ -4,13 +4,14 @@ set -e source /etc/os-release if [[ $ID = "amzn" ]]; then + amazon-linux-extras enable python3.8 + yum clean metadata yum install -y \ - python3-devel \ - python3-pip \ - python2-boto3 \ - python2-botocore \ + python2-pip + python38 + python38-pip + python38-devel python-lxml - else # FIXME: Currently assumes Debian-based apt-get update && \ @@ -32,4 +33,4 @@ if [[ $1 == "--dev" ]]; then fi echo "Installing collections from galaxy..." -pipenv run ansible-galaxy collection install -v -r requirements.yml +pipenv run ansible-galaxy collection install --upgrade --verbose --requirements-file requirements.yml diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 75ec588..0aa5334 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -4,7 +4,7 @@ # # make > ../bitbucket-pipelines.yml -image: debian:buster +image: debian:bullseye options: size: 2x @@ -383,6 +383,6 @@ pipelines: script: - ./bin/install-ansible --dev - apt-get update && apt-get install -y npm - - npm install -g snyk@1.455.0 + - npm install -g snyk - snyk auth $SNYK_TOKEN - pipenv run snyk monitor --severity-threshold=high --project-name=dc-deployments-automation diff --git a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 index ac5bdc7..0fbf548 100644 --- a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 +++ b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 @@ -4,7 +4,7 @@ # # make > ../bitbucket-pipelines.yml -image: debian:buster +image: debian:bullseye options: size: 2x diff --git a/requirements.yml b/requirements.yml index 3b5d258..314391d 100644 --- a/requirements.yml +++ b/requirements.yml @@ -1,4 +1,12 @@ --- collections: - name: amazon.aws - version: 3.0.0 + version: "4.1.0" + - name: ansible.posix + version: "1.4.0" + - name: community.docker + version: "3.0.2" + - name: community.general + version: "5.5.0" + - name: community.postgresql + version: "2.2.0" From 694f1c2874694762e325febf9e728ff01fbc1355 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Wed, 7 Sep 2022 15:59:15 -0500 Subject: [PATCH 02/27] use collections; use FQCN for all tasks --- roles/aws_common/handlers/main.yml | 4 +- roles/aws_common/tasks/amazon.yml | 8 ++- roles/aws_common/tasks/main.yml | 12 ++-- roles/aws_common/tasks/write-tags.yml | 12 ++-- roles/aws_shared_fs_config/tasks/main.yml | 4 +- roles/bitbucket_config/tasks/main.yml | 8 +-- .../bitbucket_dataset_restore/tasks/main.yml | 14 ++-- .../confluence_config/tasks/amazon_fonts.yml | 6 +- roles/confluence_config/tasks/main.yml | 28 ++++---- .../confluence_config/tasks/ubuntu_fonts.yml | 4 +- roles/crowd_config/tasks/main.yml | 42 ++++++------ roles/database_init/tasks/main.yml | 14 ++-- .../diy_backup/molecule/default/converge.yml | 4 +- roles/diy_backup/tasks/main.yml | 6 +- .../molecule/jira_config_props/converge.yml | 4 +- roles/jira_config/tasks/main.yml | 28 ++++---- roles/linux_common/tasks/amazon.yml | 6 +- roles/linux_common/tasks/main.yml | 12 ++-- roles/linux_common/tasks/ubuntu.yml | 2 +- roles/nfs_mount/tasks/main.yml | 4 +- roles/nfs_server/handlers/main.yml | 2 +- roles/nfs_server/tasks/amazon.yml | 4 +- roles/nfs_server/tasks/main.yml | 16 ++--- roles/nfs_server/tasks/ubuntu.yml | 2 +- roles/product_common/tasks/amazon.yml | 12 ++-- roles/product_common/tasks/main.yml | 2 +- roles/product_common/tasks/ubuntu.yml | 12 ++-- .../molecule/jira_all/converge.yml | 4 +- .../jira_cached_with_downgrade/converge.yml | 4 +- .../jira_cached_with_upgrade/converge.yml | 4 +- .../jira_version_from_file/converge.yml | 4 +- .../tasks/jira-core_version_latest.yml | 4 +- .../tasks/jira-servicedesk_as_obr.yml | 68 +++++++++---------- .../tasks/jira-servicedesk_extra_tasks.yml | 2 +- .../tasks/jira-servicedesk_version_latest.yml | 4 +- .../tasks/jira-software_version_latest.yml | 4 +- roles/product_install/tasks/main.yml | 65 +++++++++--------- .../tasks/product_version_latest.yml | 4 +- .../tasks/unpack_installer.yml | 4 +- .../product_install/tasks/unpack_tarball.yml | 2 +- roles/product_startup/handlers/main.yml | 4 +- .../molecule/bitbucket/converge.yml | 2 +- .../molecule/default/converge.yml | 8 +-- .../startup_restart_false/converge.yml | 6 +- .../molecule/synchrony/converge.yml | 2 +- roles/product_startup/tasks/main.yml | 2 +- roles/synchrony_config/tasks/main.yml | 4 +- 47 files changed, 243 insertions(+), 230 deletions(-) diff --git a/roles/aws_common/handlers/main.yml b/roles/aws_common/handlers/main.yml index 0e43a13..74c5079 100644 --- a/roles/aws_common/handlers/main.yml +++ b/roles/aws_common/handlers/main.yml @@ -1,14 +1,14 @@ --- - name: Enable CloudWatch Agent - systemd: + ansible.builtin.systemd: name: "amazon-cloudwatch-agent.service" daemon_reload: true enabled: true when: atl_aws_agent_restart - name: Restart CloudWatch Agent - systemd: + ansible.builtin.systemd: name: "amazon-cloudwatch-agent.service" enabled: true state: restarted diff --git a/roles/aws_common/tasks/amazon.yml b/roles/aws_common/tasks/amazon.yml index b4b597f..de1195a 100644 --- a/roles/aws_common/tasks/amazon.yml +++ b/roles/aws_common/tasks/amazon.yml @@ -1,18 +1,22 @@ --- - name: Install AWS support packages - yum: + ansible.builtin.yum: name: - amazon-efs-utils - amazon-ssm-agent - awscli - git - ec2-utils + vars: + ansible_python_interpreter: /usr/bin/python2 - name: Install CloudWatch Agent - yum: + ansible.builtin.yum: name: - "{{ aws_cloudwatch_agent_rpm }}" when: atl_aws_enable_cloudwatch is defined and atl_aws_enable_cloudwatch notify: - Enable CloudWatch Agent + vars: + ansible_python_interpreter: /usr/bin/python2 diff --git a/roles/aws_common/tasks/main.yml b/roles/aws_common/tasks/main.yml index 9c90622..dce57fb 100644 --- a/roles/aws_common/tasks/main.yml +++ b/roles/aws_common/tasks/main.yml @@ -1,20 +1,20 @@ --- - name: Fetch local EC2 metadata - ec2_metadata_facts: + amazon.aws.ec2_metadata_facts: tags: - notest - name: Install distro-specific prerequisites - include_tasks: "{{ ansible_distribution|lower }}.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}.yml" - name: Use EC2 instance ID for cluster node ID - set_fact: + ansible.builtin.set_fact: atl_cluster_node_id: "{{ ansible_ec2_instance_id }}" atl_local_ipv4: "{{ ansible_ec2_local_ipv4 | default(ansible_default_ipv4.address) }}" - name: Generate CloudWatch config - template: + ansible.builtin.template: src: "amazon-cloudwatch-agent.json.j2" dest: "/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json" owner: root @@ -25,7 +25,7 @@ - Restart CloudWatch Agent - name: Store some metadata about this run - include_tasks: "write-tags.yml" + ansible.builtin.include_tasks: "write-tags.yml" - name: Initiate the startup of any new AWS services now - meta: flush_handlers + ansible.builtin.meta: flush_handlers diff --git a/roles/aws_common/tasks/write-tags.yml b/roles/aws_common/tasks/write-tags.yml index d1df291..3c43498 100644 --- a/roles/aws_common/tasks/write-tags.yml +++ b/roles/aws_common/tasks/write-tags.yml @@ -1,7 +1,7 @@ --- - name: Retrieve all available EC2 tags - ec2_tag: + amazon.aws.ec2_tag: region: "{{ ansible_ec2_placement_region }}" resource: "{{ ansible_ec2_instance_id }}" state: list @@ -11,18 +11,18 @@ - notest - name: Retrieve autoscaling group - set_fact: + ansible.builtin.set_fact: ec2_autoscaling_group: "{{ ec2_instance_tags.tags['aws:autoscaling:groupName'] | default('') }}" - block: # No existing timestamp, so this is a first run. Persist some metadata into the ASG. - name: Fetch the git revision for this repo - command: + ansible.builtin.command: cmd: git rev-parse HEAD register: git_out - name: Setup the new ASG tags - set_fact: + ansible.builtin.set_fact: deployment_firstrun_meta: - ResourceType: "auto-scaling-group" ResourceId: "{{ ec2_autoscaling_group }}" @@ -41,14 +41,14 @@ # ignore errors as it's possible we don't have the permissions, # and we can't check up-front. - name: Set the first-run tags on the ASG ("FAIL" is not critical) - command: "aws autoscaling + ansible.builtin.command: "aws autoscaling create-or-update-tags --region {{ ansible_ec2_placement_region }} --tags '{{ deployment_firstrun_meta | to_json }}'" ignore_errors: true - name: Set the tags on the local instance ("FAIL" is not critical) - ec2_tag: + amazon.aws.ec2_tag: region: "{{ ansible_ec2_placement_region }}" resource: "{{ ansible_ec2_instance_id }}" tags: diff --git a/roles/aws_shared_fs_config/tasks/main.yml b/roles/aws_shared_fs_config/tasks/main.yml index 589383c..c906926 100644 --- a/roles/aws_shared_fs_config/tasks/main.yml +++ b/roles/aws_shared_fs_config/tasks/main.yml @@ -1,13 +1,13 @@ --- - name: Create mountpoint - file: + ansible.builtin.file: state: directory path: "{{ atl_shared_mountpoint }}" mode: 0755 - name: Enable mountpoint in fstab - mount: + ansible.posix.mount: path: "{{ atl_shared_mountpoint }}" src: "{{ efs_target }}:{{ efs_src_dir }}" fstype: "{{ efs_type }}" diff --git a/roles/bitbucket_config/tasks/main.yml b/roles/bitbucket_config/tasks/main.yml index 4de771b..7ee24cd 100644 --- a/roles/bitbucket_config/tasks/main.yml +++ b/roles/bitbucket_config/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Create Bitbucket shared dir if necessary - file: + ansible.builtin.file: path: "{{ atl_product_home_shared }}" owner: "{{ atl_product_user }}" group: "{{ atl_product_user }}" @@ -9,14 +9,14 @@ state: directory - name: Create Bitbucket config file - template: + ansible.builtin.template: src: bitbucket.properties.j2 dest: "{{ atl_product_home_shared }}/bitbucket.properties" owner: "{{ atl_product_user }}" group: "{{ atl_product_user }}" - name: Remove write permissions from installation directory - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}" owner: "root" group: "root" @@ -25,7 +25,7 @@ changed_when: false # For Molecule idempotence check - name: Create conf/Catalina directory so catalina.out logging works - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}/conf/Catalina" state: directory mode: "u=rwX,g=rX,o-rwx" diff --git a/roles/bitbucket_dataset_restore/tasks/main.yml b/roles/bitbucket_dataset_restore/tasks/main.yml index 0204079..2f0fb68 100644 --- a/roles/bitbucket_dataset_restore/tasks/main.yml +++ b/roles/bitbucket_dataset_restore/tasks/main.yml @@ -1,24 +1,24 @@ --- - name: Force all notified handlers to run at this point, not waiting for normal sync points - meta: flush_handlers + ansible.builtin.meta: flush_handlers - name: wait for port 7990 to be up - wait_for: + ansible.builtin.wait_for: port: 7990 delay: 60 - name: wait for path to become available - wait_for: + ansible.builtin.wait_for: path: "{{ atl_product_home_shared }}/data/migration/import" delay: 60 - name: Copy Bitbucket dataset from s3 - get_url: + ansible.builtin.get_url: url: "{{ atl_bitbucket_dataset_url }}" dest: "{{ atl_product_home_shared }}/data/migration/import" - name: Invoke Import API - uri: + ansible.builtin.uri: url: "{{ atl_bitbucket_baseurl }}/rest/api/1.0/migration/imports" user: admin password: "{{ atl_bitbucket_admin_password }}" @@ -36,7 +36,7 @@ failed_when: output is defined and output.json is defined and output.json.state != 'INITIALISING' - name: get import status - uri: + ansible.builtin.uri: url: "{{ atl_bitbucket_baseurl }}/rest/api/1.0/migration/imports/{{ output.json.id }}" user: admin password: "{{ atl_bitbucket_admin_password }}" @@ -50,7 +50,7 @@ delay: 10 - name: create lock file - file: + ansible.builtin.file: path: "{{ atl_product_home_shared }}/data/migration/import/lock.file" state: touch when: import_status.json.state == 'COMPLETED' diff --git a/roles/confluence_config/tasks/amazon_fonts.yml b/roles/confluence_config/tasks/amazon_fonts.yml index 8fa2bda..eaa1993 100644 --- a/roles/confluence_config/tasks/amazon_fonts.yml +++ b/roles/confluence_config/tasks/amazon_fonts.yml @@ -1,13 +1,15 @@ --- - name: Install Google Noto fonts for language coverage - yum: + ansible.builtin.yum: name: - "google-noto-*" + vars: + ansible_python_interpreter: /usr/bin/python2 - name: Link the language fonts into the JDK # Not idiomatic, but cleaner than messing with nested lookups... - shell: + ansible.builtin.shell: cmd: "ln -sf /usr/share/fonts/google-noto*/* {{ item }}/" creates: "{{ item }}/NotoSansJavanese-Regular.ttf" warn: false diff --git a/roles/confluence_config/tasks/main.yml b/roles/confluence_config/tasks/main.yml index ea807bb..c23377f 100644 --- a/roles/confluence_config/tasks/main.yml +++ b/roles/confluence_config/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Create application directories - file: + ansible.builtin.file: path: "{{ item }}" state: directory mode: 0750 @@ -17,7 +17,7 @@ # Create symlink to force single (unclustered) Confluence to store # shared-data and attachments in the shared drive. - name: Symlink local attachments to shared storage - file: + ansible.builtin.file: src: "{{ item.0 }}" dest: "{{ item.1 }}" force: false @@ -33,12 +33,12 @@ - "{{ links }}" - name: Create Tomcat server config - template: + ansible.builtin.template: src: server.xml.j2 dest: "{{ atl_product_installation_versioned }}/conf/server.xml" - name: Override JVM memory settings. - replace: + ansible.builtin.replace: path: "{{ atl_product_installation_versioned }}/bin/setenv.sh" regexp: "-{{ item }}\\d+m " replace: "-{{ item }}{{ atl_jvm_heap }} " @@ -47,30 +47,30 @@ - 'Xms' - name: Set the Tomcat environment - lineinfile: + ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/bin/setenv.sh" insertafter: "EOF" line: 'export CATALINA_OPTS="${CATALINA_OPTS} {{ atl_catalina_opts }} {{ atl_catalina_opts_extra }}"' - name: Configure login properties - template: + ansible.builtin.template: src: seraph-config.xml.j2 dest: "{{ atl_product_installation_versioned }}/confluence/WEB-INF/classes/seraph-config.xml" - name: Configure Confluence home directory - template: + ansible.builtin.template: src: confluence-init.properties.j2 dest: "{{ atl_product_installation_versioned }}/confluence/WEB-INF/classes/confluence-init.properties" - name: Create Confluence configuration - template: + ansible.builtin.template: src: confluence.cfg.xml.j2 dest: "{{ atl_product_home }}/confluence.cfg.xml" owner: "{{ atl_product_user }}" group: "{{ atl_product_user }}" - name: Limit permissions on the installation directory - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}" owner: "root" group: "root" @@ -83,7 +83,7 @@ changed_when: false # For Molecule idempotence check - name: Grant access to the product working directories - file: + ansible.builtin.file: path: "{{ item }}" state: directory mode: "u=rwX,g=rX,o-rwx" @@ -97,7 +97,7 @@ changed_when: false # For Molecule idempotence check - name: Create conf/Catalina directory owned by product so catalina.out logging works - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}/conf/Catalina" state: directory mode: "u=rwX,g=rX,o-rwx" @@ -106,7 +106,7 @@ changed_when: false # For Molecule idempotence check - name: Assert baseurl to same as atl_proxy_name - postgresql_query: + community.postgresql.postgresql_query: login_host: "{{ atl_db_host }}" login_user: "{{ atl_jdbc_user }}" login_password: "{{ atl_jdbc_password }}" @@ -126,11 +126,11 @@ ignore_errors: yes # For Molecule as it has no db test framework included - name: Create JVM font fallback directories - file: + ansible.builtin.file: path: "{{ item }}" state: directory mode: 0755 with_items: "{{ atl_fonts_fallback_dirs }}" - name: Install & configure distro language fonts - include_tasks: "{{ ansible_distribution|lower }}_fonts.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}_fonts.yml" diff --git a/roles/confluence_config/tasks/ubuntu_fonts.yml b/roles/confluence_config/tasks/ubuntu_fonts.yml index 20fcbb1..89949d6 100644 --- a/roles/confluence_config/tasks/ubuntu_fonts.yml +++ b/roles/confluence_config/tasks/ubuntu_fonts.yml @@ -1,13 +1,13 @@ --- - name: Install Google Noto fonts for language coverage - package: + ansible.builtin.package: name: - "fonts-noto" - name: Link the language fonts into the JDK # Not idiomatic, but cleaner than messing with nested lookups... - shell: + ansible.builtin.shell: cmd: "ln -sf /usr/share/fonts/truetype/noto/* {{ item }}/" creates: "{{ item }}/NotoSansJavanese-Regular.ttf" warn: false diff --git a/roles/crowd_config/tasks/main.yml b/roles/crowd_config/tasks/main.yml index 3cb975a..46cf6e3 100644 --- a/roles/crowd_config/tasks/main.yml +++ b/roles/crowd_config/tasks/main.yml @@ -1,60 +1,60 @@ --- - name: Create server config - template: + ansible.builtin.template: src: server.xml.j2 dest: "{{ atl_product_installation_versioned }}/apache-tomcat/conf/server.xml" - name: Set the minimum heap size (Xms) - lineinfile: + ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" regexp: '^(.*)Xms(\d+\w)(\s.*)$' line: '\1Xms{{ atl_jvm_heap }}\3' backrefs: yes - name: Set the maxmimum heap size (Xmx) - lineinfile: + ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" regexp: '^(.*)Xmx(\d+\w)(\s.*)$' line: '\1Xmx{{ atl_jvm_heap }}\3' backrefs: yes - name: Set Crowd home directory in crowd-init.properties file - lineinfile: + ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/crowd-webapp/WEB-INF/classes/crowd-init.properties" line: 'crowd.home={{ atl_product_home }}' - name: Export CATALINA_OPTS in setenv.sh - lineinfile: + ansible.builtin.lineinfile: path: '{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh' line: 'export CATALINA_OPTS' - name: CATALINA_OPTS to list - set_fact: + ansible.builtin.set_fact: catalina_ops_list: "{{ catalina_ops_list|default([]) }} + {{ (item | trim | regex_replace('^-')).split(' -') }}" loop: - '{{ atl_catalina_opts }}' - '{{ atl_catalina_opts_extra }}' - name: CATALINA_OPTS unique and sorted - set_fact: + ansible.builtin.set_fact: catalina_opts: "{{ query('flattened', catalina_ops_list) | reject('equalto', '') | unique | sort }}" - name: Set CATALINA_OPTS in setenv.sh - blockinfile: + ansible.builtin.blockinfile: block: "{{ lookup('template', 'templates/catalina_opts.j2') }}" path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" insertbefore: "^export CATALINA_OPTS$" marker: "# {mark} ANSIBLE MANAGED CATALINA_OPTS" - name: Set JAVA_HOME - lineinfile: + ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" insertafter: "EOF" line: "export JAVA_HOME={{ atl_java_home }}" - name: Create application directories - file: + ansible.builtin.file: path: "{{ item }}" state: directory mode: 0750 @@ -67,7 +67,7 @@ changed_when: false # For Molecule idempotence check - name: Limit permissions on the installation directory - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}" owner: "{{ atl_product_user }}" group: "{{ atl_product_user }}" @@ -80,7 +80,7 @@ changed_when: false # For Molecule idempotence check - name: Grant access to the product working directories - file: + ansible.builtin.file: path: "{{ item }}" state: directory mode: "u=rwX,g=rX,o-rwx" @@ -94,7 +94,7 @@ changed_when: false # For Molecule idempotence check - name: Create conf/Catalina directory owned by product so catalina.out logging works - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}/conf/Catalina" state: directory mode: "u=rwX,g=rX,o-rwx" @@ -103,7 +103,7 @@ changed_when: false # For Molecule idempotence check - name: Symlink Crowd shared home directory - file: + ansible.builtin.file: src: "{{ atl_product_home_shared }}" dest: "{{ atl_product_home }}/shared" state: link @@ -112,7 +112,7 @@ changed_when: false # For Molecule idempotence check - name: Assert baseurl to same as atl_proxy_name - postgresql_query: + community.postgresql.postgresql_query: login_host: "{{ atl_db_host }}" login_user: "{{ atl_jdbc_user }}" login_password: "{{ atl_jdbc_password }}" @@ -131,32 +131,32 @@ ignore_errors: yes # For Molecule as it has no db test framework included - name: Check that crowd.cfg.xml exists - stat: + ansible.builtin.stat: path: "{{ atl_product_home_shared }}/crowd.cfg.xml" register: crowd_cfg_stat_result - block: - name: Assert JDBC password to same as atl_jdbc_password - xml: + community.general.xml: path: "{{ atl_product_home_shared }}/crowd.cfg.xml" xpath: "/application-configuration/properties/property[@name='hibernate.connection.password']" value: "{{ atl_jdbc_password }}" - name: Assert JDBC url to same as atl_jdbc_url - xml: + community.general.xml: path: "{{ atl_product_home_shared }}/crowd.cfg.xml" xpath: "/application-configuration/properties/property[@name='hibernate.connection.url']" value: "{{ atl_jdbc_url }}?reWriteBatchedInserts=true" - name: Assert hibernate.c3p0.max_size to same as atl_db_poolmaxsize - xml: + community.general.xml: path: "{{ atl_product_home_shared }}/crowd.cfg.xml" xpath: "/application-configuration/properties/property[@name='hibernate.c3p0.max_size']" value: "{{ atl_db_poolmaxsize }}" when: atl_db_poolmaxsize is defined - name: Assert hibernate.c3p0.min_size to same as atl_db_poolminsize - xml: + community.general.xml: path: "{{ atl_product_home_shared }}/crowd.cfg.xml" xpath: "/application-configuration/properties/property[@name='hibernate.c3p0.min_size']" value: "{{ atl_db_poolminsize }}" @@ -165,6 +165,6 @@ when: crowd_cfg_stat_result.stat.exists - name: Remove crowd.xml to prevent duplicates from appearing in cluster reporting - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}/apache-tomcat/conf/Catalina/localhost/crowd.xml" state: absent diff --git a/roles/database_init/tasks/main.yml b/roles/database_init/tasks/main.yml index e065a0a..24903bb 100644 --- a/roles/database_init/tasks/main.yml +++ b/roles/database_init/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Create application DB user - postgresql_user: + community.postgresql.postgresql_user: login_host: "{{ atl_db_host }}" login_user: "{{ atl_db_root_user }}" login_password: "{{ atl_db_root_password }}" @@ -11,7 +11,7 @@ expires: 'infinity' - name: Collect dbcluster db_names - postgresql_query: + community.postgresql.postgresql_query: login_host: "{{ atl_db_host }}" login_user: "{{ atl_db_root_user }}" login_password: "{{ atl_db_root_password }}" @@ -22,7 +22,7 @@ - block: - name: Update root privs for new user - postgresql_privs: + community.postgresql.postgresql_privs: login_host: "{{ atl_db_host }}" login_user: "{{ atl_db_root_user }}" login_password: "{{ atl_db_root_password }}" @@ -33,7 +33,7 @@ # RDS does not allow changing the collation on an existing DB, it only allows collation change on creation of db. If the db already exists, we need the “create new application database” task to be skipped, idempotence can not be relied upon as we cant be certain the collation of the existing db - name: Create new application database - postgresql_db: + community.postgresql.postgresql_db: login_host: "{{ atl_db_host }}" login_user: "{{ atl_db_root_user }}" login_password: "{{ atl_db_root_password }}" @@ -51,7 +51,7 @@ - new_only - name: Assert ownership of public schema - postgresql_query: + community.postgresql.postgresql_query: login_host: "{{ atl_db_host }}" login_user: "{{ atl_db_root_user }}" login_password: "{{ atl_db_root_password }}" @@ -59,7 +59,7 @@ query: "ALTER SCHEMA public OWNER to {{ atl_db_root_user }};" - name: Grant privs to root user on public schema - postgresql_query: + community.postgresql.postgresql_query: login_host: "{{ atl_db_host }}" login_user: "{{ atl_db_root_user }}" login_password: "{{ atl_db_root_password }}" @@ -67,7 +67,7 @@ query: "GRANT ALL ON SCHEMA public TO {{ atl_db_root_user }};" - name: Grant privs to application user on public schema - postgresql_query: + community.postgresql.postgresql_query: login_host: "{{ atl_db_host }}" login_user: "{{ atl_db_root_user }}" login_password: "{{ atl_db_root_password }}" diff --git a/roles/diy_backup/molecule/default/converge.yml b/roles/diy_backup/molecule/default/converge.yml index a5cecc3..56c2b25 100644 --- a/roles/diy_backup/molecule/default/converge.yml +++ b/roles/diy_backup/molecule/default/converge.yml @@ -20,12 +20,12 @@ pre_tasks: - name: Create base dir - file: + ansible.builtin.file: path: '/opt/atlassian/bin' state: directory - name: Install git - package: + ansible.builtin.package: name: git roles: diff --git a/roles/diy_backup/tasks/main.yml b/roles/diy_backup/tasks/main.yml index 3f1b1be..46dc3c9 100644 --- a/roles/diy_backup/tasks/main.yml +++ b/roles/diy_backup/tasks/main.yml @@ -2,19 +2,19 @@ - name: Fetch the DIY backups repository - git: + ansible.builtin.git: repo: "{{ atl_diy_backup_repo }}" dest: "{{ atl_diy_backup_dir }}" version: "master" - name: Configure DIY backup for BB on AWS - template: + ansible.builtin.template: src: "bitbucket.diy-backup.vars.sh.j2" dest: "{{ atl_diy_backup_dir }}/bitbucket.diy-backup.vars.sh" mode: 0640 - name: Install backup wrapper script - template: + ansible.builtin.template: src: "run-backup.j2" dest: "{{ atl_installation_base }}/bin/run-backup" mode: 0750 diff --git a/roles/jira_config/molecule/jira_config_props/converge.yml b/roles/jira_config/molecule/jira_config_props/converge.yml index 7e86b81..e0b51fa 100644 --- a/roles/jira_config/molecule/jira_config_props/converge.yml +++ b/roles/jira_config/molecule/jira_config_props/converge.yml @@ -30,11 +30,11 @@ pre_tasks: - name: Create shared home - file: + ansible.builtin.file: path: '/media/atl/jira/shared/' state: directory - name: Create jira-config.properties to check copy - copy: + ansible.builtin.copy: dest: '/media/atl/jira/shared/jira-config.properties' content: "jira.projectkey.warning = testwarning" force: false # For idempotency check diff --git a/roles/jira_config/tasks/main.yml b/roles/jira_config/tasks/main.yml index 9f03d5b..b514c53 100644 --- a/roles/jira_config/tasks/main.yml +++ b/roles/jira_config/tasks/main.yml @@ -2,29 +2,29 @@ - name: Create database config - template: + ansible.builtin.template: src: dbconfig.xml.j2 dest: "{{ atl_product_home }}/dbconfig.xml" owner: "{{ atl_product_user }}" - name: Create cluster config - template: + ansible.builtin.template: src: cluster.properties.j2 dest: "{{ atl_product_home }}/cluster.properties" owner: "{{ atl_product_user }}" - name: Create server config - template: + ansible.builtin.template: src: server.xml.j2 dest: "{{ atl_product_installation_versioned }}/conf/server.xml" - name: Check for a jira-config.properties in the shared home - stat: + ansible.builtin.stat: path: "{{ atl_product_home_shared }}/jira-config.properties" register: jira_config_properties - name: Copy jira-config.properties if exists - copy: + ansible.builtin.copy: remote_src: true src: "{{ atl_product_home_shared }}/jira-config.properties" dest: "{{ atl_product_home }}/jira-config.properties" @@ -35,7 +35,7 @@ - name: Override JVM memory settings. # Ugly but necessary as the product installs this file so we need to make the change here. - lineinfile: + ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/bin/setenv.sh" backrefs: true regexp: "^{{ item }}=" @@ -45,25 +45,25 @@ - 'JVM_MAXIMUM_MEMORY' - name: Set Jira home directory - lineinfile: + ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/bin/setenv.sh" regexp: "JIRA_HOME=" line: 'JIRA_HOME="{{ atl_product_home }}"' - name: Set the Tomcat environment - lineinfile: + ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/bin/setenv.sh" insertafter: "EOF" line: 'export CATALINA_OPTS="${CATALINA_OPTS} {{ atl_catalina_opts }} {{ atl_catalina_opts_extra }}"' - name: Set support recommended JVM args - lineinfile: + ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/bin/setenv.sh" regexp: "JVM_SUPPORT_RECOMMENDED_ARGS=" line: 'JVM_SUPPORT_RECOMMENDED_ARGS="{{ atl_jvm_opts }}"' - name: Create application directories - file: + ansible.builtin.file: path: "{{ item }}" state: directory mode: 0750 @@ -77,7 +77,7 @@ - name: Limit permissions on the installation directory - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}" owner: "root" group: "root" @@ -90,7 +90,7 @@ changed_when: false # For Molecule idempotence check - name: Grant access to the product working directories - file: + ansible.builtin.file: path: "{{ item }}" state: directory mode: "u=rwX,g=rX,o-rwx" @@ -104,7 +104,7 @@ changed_when: false # For Molecule idempotence check - name: Create conf/Catalina directory owned by product so catalina.out logging works - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}/conf/Catalina" state: directory mode: "u=rwX,g=rX,o-rwx" @@ -113,7 +113,7 @@ changed_when: false # For Molecule idempotence check - name: Assert baseurl to same as atl_proxy_name - postgresql_query: + community.postgresql.postgresql_query: login_host: "{{ atl_db_host }}" login_user: "{{ atl_jdbc_user }}" login_password: "{{ atl_jdbc_password }}" diff --git a/roles/linux_common/tasks/amazon.yml b/roles/linux_common/tasks/amazon.yml index 325397c..859057b 100644 --- a/roles/linux_common/tasks/amazon.yml +++ b/roles/linux_common/tasks/amazon.yml @@ -1,16 +1,18 @@ --- - name: Install Amazon-Linux-specific support packages - yum: + ansible.builtin.yum: name: - dejavu-sans-fonts - file - git-{{ git_version }} - libxml2 - shadow-utils + vars: + ansible_python_interpreter: /usr/bin/python2 - name: Limit the SSH ciphers - lineinfile: + ansible.builtin.lineinfile: path: "/etc/ssh/sshd_config" # Drop insecure ciphers, currently 3des-cbc only. You can get the # full list with `sshd -T | grep -i ciphers` diff --git a/roles/linux_common/tasks/main.yml b/roles/linux_common/tasks/main.yml index 2fadb06..01ccf8b 100644 --- a/roles/linux_common/tasks/main.yml +++ b/roles/linux_common/tasks/main.yml @@ -3,10 +3,10 @@ # Note: Try and limit these to packages that are distro-specific, and # place commonly-named ones below. - name: Install distro-specific prerequisites - include_tasks: "{{ ansible_distribution|lower }}.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}.yml" - name: Install common support packages - package: + ansible.builtin.package: name: - jq - tar @@ -16,19 +16,19 @@ - python-psycopg2 - name: Create product group - group: + ansible.builtin.group: name: "{{ atl_product_user }}" gid: "{{ atl_product_user_uid }}" - name: Create product user - user: + ansible.builtin.user: name: "{{ atl_product_user }}" uid: "{{ atl_product_user_uid }}" group: "{{ atl_product_user }}" comment: "Product runtime user" - name: Stop systemd-cleanup deleting the jvm socket file - copy: + ansible.builtin.copy: src: java.conf dest: "/usr/lib/tmpfiles.d/java.conf" owner: root @@ -37,7 +37,7 @@ register: systemd_config_changed - name: Force systemd to reload daemon configuration - systemd: + ansible.builtin.systemd: daemon_reload: yes when: - systemd_config_changed is defined diff --git a/roles/linux_common/tasks/ubuntu.yml b/roles/linux_common/tasks/ubuntu.yml index 0ea8343..0bb54cf 100644 --- a/roles/linux_common/tasks/ubuntu.yml +++ b/roles/linux_common/tasks/ubuntu.yml @@ -1,7 +1,7 @@ --- - name: Install common Ubuntu support packages - apt: + ansible.builtin.apt: name: - python3-psycopg2 - libxml2-utils diff --git a/roles/nfs_mount/tasks/main.yml b/roles/nfs_mount/tasks/main.yml index dfe6a27..bcdff26 100644 --- a/roles/nfs_mount/tasks/main.yml +++ b/roles/nfs_mount/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Create mountpoint - file: + ansible.builtin.file: state: directory path: "{{ atl_shared_mountpoint }}" mode: 0755 @@ -9,7 +9,7 @@ group: "{{ atl_product_user }}" - name: Enable mountpoint in fstab - mount: + ansible.posix.mount: src: "{{ atl_fileserver_host }}:{{ atl_nfs_target }}" path: "{{ atl_nfs_mountpoint }}" fstype: nfs diff --git a/roles/nfs_server/handlers/main.yml b/roles/nfs_server/handlers/main.yml index 3936144..8a65b54 100644 --- a/roles/nfs_server/handlers/main.yml +++ b/roles/nfs_server/handlers/main.yml @@ -1,6 +1,6 @@ --- - name: Restart NFS - service: + ansible.builtin.service: name: "nfs.service" state: restarted diff --git a/roles/nfs_server/tasks/amazon.yml b/roles/nfs_server/tasks/amazon.yml index ad2adee..17de77d 100644 --- a/roles/nfs_server/tasks/amazon.yml +++ b/roles/nfs_server/tasks/amazon.yml @@ -1,6 +1,8 @@ --- - name: Install Amazon-Linux-specific NFS packages - yum: + ansible.builtin.yum: name: - nfs-utils + vars: + ansible_python_interpreter: /usr/bin/python2 diff --git a/roles/nfs_server/tasks/main.yml b/roles/nfs_server/tasks/main.yml index 44fc8b0..51953b3 100644 --- a/roles/nfs_server/tasks/main.yml +++ b/roles/nfs_server/tasks/main.yml @@ -1,16 +1,16 @@ --- - name: Install distro-specific NFS packages - include_tasks: "{{ ansible_distribution|lower }}.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}.yml" - name: Create mountpoint - file: + ansible.builtin.file: path: "{{ atl_shared_mountpoint }}" state: directory - name: Setup the disk partition - parted: + community.general.parted: device: "{{ atl_nfs_server_device }}" label: gpt name: "{{ atl_nfs_fs_label }}" @@ -22,7 +22,7 @@ - name: Create the filesystem - filesystem: + community.general.filesystem: dev: "{{ atl_nfs_server_device }}" fstype: "{{ atl_nfs_fs_type }}" opts: "-L {{ atl_nfs_fs_label }}" @@ -30,7 +30,7 @@ - new_only - name: Setup fstab and mount the filesystem - mount: + ansible.posix.mount: path: "{{ atl_shared_mountpoint }}" src: "LABEL={{ atl_nfs_fs_label }}" fstype: "{{ atl_nfs_fs_type }}" @@ -40,7 +40,7 @@ - name: Create the shared home - file: + ansible.builtin.file: path: "{{ atl_shared_mountpoint }}/{{ atl_product_user }}/shared" state: directory owner: "{{ atl_product_user }}" @@ -51,14 +51,14 @@ - name: Create the NFS export file - template: + ansible.builtin.template: src: "media-atl.exports.j2" dest: "/etc/exports.d/20-media-atl.exports" notify: - Restart NFS - name: Enable NFS - service: + ansible.builtin.service: name: nfs.service enabled: true state: started diff --git a/roles/nfs_server/tasks/ubuntu.yml b/roles/nfs_server/tasks/ubuntu.yml index becb1d8..e263578 100644 --- a/roles/nfs_server/tasks/ubuntu.yml +++ b/roles/nfs_server/tasks/ubuntu.yml @@ -1,7 +1,7 @@ --- - name: Install Ubuntu-specific NFS packages - apt: + ansible.builtin.apt: name: - nfs-kernel-server - libnfs-utils diff --git a/roles/product_common/tasks/amazon.yml b/roles/product_common/tasks/amazon.yml index 41e75e1..c47dfb2 100644 --- a/roles/product_common/tasks/amazon.yml +++ b/roles/product_common/tasks/amazon.yml @@ -4,7 +4,7 @@ block: - name: Add Adoptium yum repository - yum_repository: + ansible.builtin.yum_repository: name: Adoptium file: adoptium description: Adoptium Repo @@ -14,12 +14,14 @@ state: present - name: Install Eclipse Temurin JDK - yum: + ansible.builtin.yum: name: "temurin-{{ java_major_version }}-jdk" state: present + vars: + ansible_python_interpreter: /usr/bin/python2 - name: Ensure common JDK symlink exists - alternatives: + community.general.alternatives: link: "/usr/lib/jvm/java" name: "java_sdk" path: "/usr/lib/jvm/temurin-{{ java_major_version }}-jdk" @@ -30,6 +32,8 @@ - runtime_pkg - name: Install other base packages on Amazon Linux - yum: + ansible.builtin.yum: name: - dejavu-fonts-common # Required by the installer + vars: + ansible_python_interpreter: /usr/bin/python2 diff --git a/roles/product_common/tasks/main.yml b/roles/product_common/tasks/main.yml index 071ef0e..2e8e4d7 100644 --- a/roles/product_common/tasks/main.yml +++ b/roles/product_common/tasks/main.yml @@ -1,4 +1,4 @@ --- - name: Perform distro-specific tasks - include_tasks: "{{ ansible_distribution|lower }}.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}.yml" diff --git a/roles/product_common/tasks/ubuntu.yml b/roles/product_common/tasks/ubuntu.yml index 7a8a9b1..ab69770 100644 --- a/roles/product_common/tasks/ubuntu.yml +++ b/roles/product_common/tasks/ubuntu.yml @@ -4,29 +4,29 @@ block: - name: Install gnupg - apt: + ansible.builtin.apt: name: gnupg state: present - name: Add Adoptium debian repo public key - apt_key: + ansible.builtin.apt_key: url: https://packages.adoptium.net/artifactory/api/gpg/key/public state: present - name: Add Adoptium debian repository - apt_repository: + ansible.builtin.apt_repository: repo: "deb https://packages.adoptium.net/artifactory/deb {{ ansible_distribution_release }} main" state: present filename: adoptium - name: Install Eclipse Temurin JDK - apt: + ansible.builtin.apt: name: "temurin-{{ java_major_version }}-jdk" update_cache: yes state: present - name: Ensure common JDK symlink exists - alternatives: + community.general.alternatives: link: "/usr/lib/jvm/java" name: "java_sdk" path: "/usr/lib/jvm/temurin-{{ java_major_version }}-jdk-{{ debian_architecture }}" @@ -37,6 +37,6 @@ - runtime_pkg - name: Install other base packages on Ubuntu - package: + ansible.builtin.package: name: - fonts-dejavu-core # Required by installer diff --git a/roles/product_install/molecule/jira_all/converge.yml b/roles/product_install/molecule/jira_all/converge.yml index 7dd8f2d..7043280 100644 --- a/roles/product_install/molecule/jira_all/converge.yml +++ b/roles/product_install/molecule/jira_all/converge.yml @@ -16,11 +16,11 @@ atl_jdbc_template: 'template0' pre_tasks: - name: Create cache dir - file: + ansible.builtin.file: path: '/media/atl/jira/shared/' state: directory - name: Seed version - copy: + ansible.builtin.copy: dest: '/media/atl/jira/shared/jira-core.version' content: "8.14.0" force: false # For idempotency check diff --git a/roles/product_install/molecule/jira_cached_with_downgrade/converge.yml b/roles/product_install/molecule/jira_cached_with_downgrade/converge.yml index ed658e6..c9cf986 100644 --- a/roles/product_install/molecule/jira_cached_with_downgrade/converge.yml +++ b/roles/product_install/molecule/jira_cached_with_downgrade/converge.yml @@ -10,11 +10,11 @@ pre_tasks: - name: Create cache dir - file: + ansible.builtin.file: path: '/media/atl/jira/shared/' state: directory - name: Seed version - copy: + ansible.builtin.copy: dest: '/media/atl/jira/shared/jira-core.version' content: "7.10.2" force: false # For idempotency check diff --git a/roles/product_install/molecule/jira_cached_with_upgrade/converge.yml b/roles/product_install/molecule/jira_cached_with_upgrade/converge.yml index dcf29a6..f87088e 100644 --- a/roles/product_install/molecule/jira_cached_with_upgrade/converge.yml +++ b/roles/product_install/molecule/jira_cached_with_upgrade/converge.yml @@ -10,11 +10,11 @@ pre_tasks: - name: Create cache dir - file: + ansible.builtin.file: path: '/media/atl/jira/shared/' state: directory - name: Seed version - copy: + ansible.builtin.copy: dest: '/media/atl/jira/shared/jira-core.version' content: "7.9.0" force: false # For idempotency check diff --git a/roles/product_install/molecule/jira_version_from_file/converge.yml b/roles/product_install/molecule/jira_version_from_file/converge.yml index 271343f..0391262 100644 --- a/roles/product_install/molecule/jira_version_from_file/converge.yml +++ b/roles/product_install/molecule/jira_version_from_file/converge.yml @@ -10,11 +10,11 @@ pre_tasks: - name: Create cache dir - file: + ansible.builtin.file: path: '/media/atl/jira/shared/' state: directory - name: Seed version - copy: + ansible.builtin.copy: dest: '/media/atl/jira/shared/jira-core.version' content: "7.9.0" force: false # For idempotency check diff --git a/roles/product_install/tasks/jira-core_version_latest.yml b/roles/product_install/tasks/jira-core_version_latest.yml index 0112206..9c423a8 100644 --- a/roles/product_install/tasks/jira-core_version_latest.yml +++ b/roles/product_install/tasks/jira-core_version_latest.yml @@ -1,9 +1,9 @@ --- - name: Fetch the latest version from URL - set_fact: + ansible.builtin.set_fact: atl_product_version_json: "{{ lookup('url', 'https://marketplace.atlassian.com/rest/2/products/key/jira-software/versions') }}" - name: Set the local var to retrieved version - set_fact: + ansible.builtin.set_fact: atl_latest_version: "{{ atl_product_version_json._embedded.versions[0].name }}" \ No newline at end of file diff --git a/roles/product_install/tasks/jira-servicedesk_as_obr.yml b/roles/product_install/tasks/jira-servicedesk_as_obr.yml index 73e7c3b..43d1a85 100644 --- a/roles/product_install/tasks/jira-servicedesk_as_obr.yml +++ b/roles/product_install/tasks/jira-servicedesk_as_obr.yml @@ -1,7 +1,7 @@ --- - name: Check for alternate obr download url - set_fact: + ansible.builtin.set_fact: atl_source_obr_from_marketplace: false when: - atl_obr_download_url is defined @@ -10,40 +10,40 @@ block: - name: Marketplace OBR - Get the installer product version info - uri: + ansible.builtin.uri: url: "{{ atl_mpac_products }}/key/jira/versions/name/{{ atl_product_version }}" return_content: yes register: atl_product_version_info - name: Marketplace OBR - Show the returned build number - debug: + ansible.builtin.debug: msg="buildNumber={{ atl_product_version_info.json.buildNumber }}" - name: Marketplace OBR - Get the JSD build version info - uri: + ansible.builtin.uri: url: "{{ atl_mpac_products }}/key/jira-servicedesk/versions/latest?application=\ jira&applicationBuild={{ atl_product_version_info.json.buildNumber }}" return_content: yes register: atl_jsd_build_info - name: Marketplace OBR - Show the returned obr binary href - debug: + ansible.builtin.debug: msg="obr_ref={{ atl_jsd_build_info.json._embedded.artifact._links.binary.href }}" - name: Marketplace OBR - Set atl_obr_download_url - set_fact: + ansible.builtin.set_fact: atl_obr_download_url: "{{ atl_jsd_build_info.json._embedded.artifact._links.binary.href }}" - name: Marketplace OBR - Set atl_jsd_build - set_fact: + ansible.builtin.set_fact: atl_jsd_build: "{{ atl_jsd_build_info.json.name }}" - name: Marketplace OBR - Show the obr filename - debug: + ansible.builtin.debug: msg="obr_name=jira-servicedesk-application-{{ atl_jsd_build }}.obr" - name: Marketplace OBR - Set the obr filename - set_fact: + ansible.builtin.set_fact: atl_obr_filename: "jira-servicedesk-application-{{ atl_jsd_build }}.obr" when: @@ -56,18 +56,18 @@ block: - name: Alternate URL OBR - Show the obr filename - debug: + ansible.builtin.debug: msg="obr_name=jira-servicedesk-application-{{ atl_jsd_build }}.obr" - name: Alternate OBR - Set the obr filename - set_fact: + ansible.builtin.set_fact: atl_obr_filename: "jira-servicedesk-application-{{ atl_jsd_build }}.obr" when: - not atl_source_obr_from_marketplace | bool - name: is shared_home set ? - debug: + ansible.builtin.debug: msg="atl_product_home_shared_download_dir={{ atl_product_home_shared_download_dir }}" # For the first run a temp obr should be downloaded but moved to @@ -77,7 +77,7 @@ # a directory is used as a lockfile (atomic operation) when moving obr. - name: Set assumptions to avoid race condition - set_fact: + ansible.builtin.set_fact: download_obr: true move_obr: false atl_obr_download: "{{ atl_installer_temp }}/{{ atl_obr_filename }}" @@ -87,22 +87,22 @@ # Check for pre-downloaded obr on shared_home and completed lock dir. - name: Check for completed lock directory - stat: + ansible.builtin.stat: path: "{{ atl_obr_completed_lock }}" register: completed_lock - name: Check for obr in home_shared - stat: + ansible.builtin.stat: path: "{{ atl_obr_shared_download }}" register: home_shared_download - name: debug home_shared_download - debug: + ansible.builtin.debug: var: home_shared_download # If obr exists and lockdir exists use this obr instead - name: Check lock directory and obr exists on shared_home - set_fact: + ansible.builtin.set_fact: download_obr: false atl_obr_download: "{{ atl_obr_shared_download }}" when: @@ -114,14 +114,14 @@ # Fetch obr if required - note we validate it by mimetype rather than checksum due to https://ecosystem.atlassian.net/browse/AMKT-25526 - name: download_obr is true so fetch and do all the things block: - - debug: + - ansible.builtin.debug: var: atl_obr_download_url - - debug: + - ansible.builtin.debug: var: atl_obr_download # Fetch obr and copy to temp - name: Fetch obr - get_url: + ansible.builtin.get_url: url: "{{ atl_obr_download_url }}" dest: "{{ atl_obr_download }}" mode: 0755 @@ -130,12 +130,12 @@ register: atl_obr_completed - name: Confirm the output from the download task - debug: + ansible.builtin.debug: var: atl_obr_completed # get details about the obr - name: Stat the new obr file - stat: + ansible.builtin.stat: path: "{{ atl_obr_completed.dest }}" get_mime: yes register: atl_obr_stats @@ -143,14 +143,14 @@ - atl_obr_completed.dest is defined - name: fail if the downloaded OBR is not a zip file - fail: + ansible.builtin.fail: msg: "The downloaded OBR was not detected as being a valid ZIP file: {{ atl_obr_stats }}" when: - (atl_obr_stats.stat.mimetype is not defined) or (atl_obr_stats.stat.mimetype is not match("application/zip")) # If obr was fetched make the lock directory - name: Create moving_lock. - file: + ansible.builtin.file: path: "{{ atl_obr_moving_lock }}" state: directory when: @@ -160,7 +160,7 @@ # Directory lock was created by this run? # If so, then set a fact intending to move obr - name: Move obr Scenario - lock created by this run - set_fact: + ansible.builtin.set_fact: move_obr: true when: - moving_lock_created is succeeded @@ -175,21 +175,21 @@ block: - name: Copy temp installer to home_shared - copy: + ansible.builtin.copy: src: "{{ atl_obr_download }}" dest: "{{ atl_obr_shared_download }}" remote_src: true register: copied - name: Create completed_lock once obr downloaded and copied - file: + ansible.builtin.file: path: "{{ atl_obr_completed_lock }}" state: directory when: copied is succeeded register: completed_lock_created - name: Remove moving_lock to show that obr is completed - file: + ansible.builtin.file: path: "{{ atl_obr_moving_lock }}" state: absent when: @@ -198,14 +198,14 @@ register: moving_lock_removed - name: Delete old temp installer - file: + ansible.builtin.file: path: "{{ atl_obr_download }}" state: absent when: moving_lock_removed is succeeded register: temp_deleted - name: Set install to home_shared location - set_fact: + ansible.builtin.set_fact: atl_obr_download: "{{ atl_obr_shared_download }}" when: temp_deleted is succeeded @@ -215,7 +215,7 @@ # (which is either on home_shared or temp) - name: Ensure instaled-plugins dir exists - file: + ansible.builtin.file: path: "{{ atl_product_home_shared }}/plugins/installed-plugins" state: directory mode: 0750 @@ -224,7 +224,7 @@ # Note as ansible unarchive cant handle "-j junk paths" we need to ignore errors to bypass the path verify - name: Unpack the obr into the atlassian-bundled-plugins dir - unarchive: + ansible.builtin.unarchive: remote_src: yes src: "{{ atl_obr_download }}" dest: "{{ atl_product_installation_versioned }}/atlassian-jira/WEB-INF/atlassian-bundled-plugins" @@ -239,14 +239,14 @@ register: obr_unpack - name: Move JSD dependency jars into the bundled-plugins dir # noqa 503 - ignore lint info about when changed - copy: + ansible.builtin.copy: remote_src: yes src: "{{ atl_product_installation_versioned }}/atlassian-jira/WEB-INF/atlassian-bundled-plugins/dependencies/" dest: "{{ atl_product_installation_versioned }}/atlassian-jira/WEB-INF/atlassian-bundled-plugins/" when: obr_unpack.changed - name: Remove the empty dependencies folder # noqa 503 - ignore lint info about when changed - file: + ansible.builtin.file: path: "{{ atl_product_installation_versioned }}/atlassian-jira/WEB-INF/atlassian-bundled-plugins/dependencies" state: absent when: obr_unpack.changed \ No newline at end of file diff --git a/roles/product_install/tasks/jira-servicedesk_extra_tasks.yml b/roles/product_install/tasks/jira-servicedesk_extra_tasks.yml index 0dd37cc..8b85a8f 100644 --- a/roles/product_install/tasks/jira-servicedesk_extra_tasks.yml +++ b/roles/product_install/tasks/jira-servicedesk_extra_tasks.yml @@ -1,5 +1,5 @@ --- - name: Set the download edition for ServiceDesk - set_fact: + ansible.builtin.set_fact: atl_download_edition: "servicedesk" diff --git a/roles/product_install/tasks/jira-servicedesk_version_latest.yml b/roles/product_install/tasks/jira-servicedesk_version_latest.yml index 8911ae8..07c9bbd 100644 --- a/roles/product_install/tasks/jira-servicedesk_version_latest.yml +++ b/roles/product_install/tasks/jira-servicedesk_version_latest.yml @@ -1,9 +1,9 @@ --- - name: Fetch the latest version from URL - set_fact: + ansible.builtin.set_fact: atl_product_version_json: "{{ lookup('url', 'https://marketplace.atlassian.com/rest/2/products/key/jira-servicedesk/versions') }}" - name: Set the local var to retrieved version - set_fact: + ansible.builtin.set_fact: atl_latest_version: "{{ atl_product_version_json._embedded.versions[0].name }}" \ No newline at end of file diff --git a/roles/product_install/tasks/jira-software_version_latest.yml b/roles/product_install/tasks/jira-software_version_latest.yml index 0112206..9c423a8 100644 --- a/roles/product_install/tasks/jira-software_version_latest.yml +++ b/roles/product_install/tasks/jira-software_version_latest.yml @@ -1,9 +1,9 @@ --- - name: Fetch the latest version from URL - set_fact: + ansible.builtin.set_fact: atl_product_version_json: "{{ lookup('url', 'https://marketplace.atlassian.com/rest/2/products/key/jira-software/versions') }}" - name: Set the local var to retrieved version - set_fact: + ansible.builtin.set_fact: atl_latest_version: "{{ atl_product_version_json._embedded.versions[0].name }}" \ No newline at end of file diff --git a/roles/product_install/tasks/main.yml b/roles/product_install/tasks/main.yml index 73c7e7b..9a9521c 100644 --- a/roles/product_install/tasks/main.yml +++ b/roles/product_install/tasks/main.yml @@ -2,7 +2,7 @@ - name: Check for existing version cache file - stat: + ansible.builtin.stat: path: "{{ atl_product_version_cache }}" register: cached @@ -11,19 +11,19 @@ block: - name: Read cached version from file - command: "cat {{ atl_product_version_cache }}" + ansible.builtin.command: "cat {{ atl_product_version_cache }}" register: atl_product_version_file changed_when: false - name: Set the local var to cached version - set_fact: + ansible.builtin.set_fact: atl_cached_version: "{{ atl_product_version_file.stdout }}" when: cached.stat.exists - name: Determine if requested version is 'latest' - set_fact: + ansible.builtin.set_fact: version_is_latest: "{{ atl_product_version is undefined or not atl_product_version or atl_product_version == 'latest' }}" @@ -33,7 +33,7 @@ block: - name: Fetch the latest edition version - include_tasks: "{{ atl_product_edition }}_version_latest.yml" + ansible.builtin.include_tasks: "{{ atl_product_edition }}_version_latest.yml" when: not cached.stat.exists and version_is_latest @@ -63,12 +63,12 @@ block: - name: "Case: Cached version exists, has precedence over 'latest'" - set_fact: + ansible.builtin.set_fact: atl_download_version: "{{ atl_cached_version }}" when: cached.stat.exists - name: "Case: No cached version, use latest" - set_fact: + ansible.builtin.set_fact: atl_download_version: "{{ atl_latest_version }}" when: not cached.stat.exists @@ -77,24 +77,24 @@ - name: "Case: Version is not latest" block: - name: "create atlassian z versioning for comparison" - set_fact: + ansible.builtin.set_fact: atl_z_product_version: "{{ atl_product_version ~ '-z' }}" atl_z_cached_version: "{{ atl_cached_version ~ '-z' }}" - name: "create atlassian ordered versioning for comparison" - set_fact: + ansible.builtin.set_fact: atl_product_normalised_version: "{{ atl_z_product_version | replace('-m', '-am') }}" atl_cached_normalised_version: "{{ atl_z_cached_version | replace('-m', '-am') }}" - name: "Case: No cached version, or supplied is higher; use supplied" - set_fact: + ansible.builtin.set_fact: atl_download_version: "{{ atl_product_version }}" when: force_version_update | bool or not cached.stat.exists or atl_product_normalised_version is version(atl_cached_normalised_version, '>') - name: "Case: Cached version is higher or forced, ignore supplied" - set_fact: + ansible.builtin.set_fact: atl_download_version: "{{ atl_cached_version }}" when: cached.stat.exists and atl_product_normalised_version is version(atl_cached_normalised_version, '<=') and @@ -104,23 +104,22 @@ - name: "Fallthrough guard: Use cached or supplied version if nothing set" - set_fact: + ansible.builtin.set_fact: atl_download_version: "{{ atl_cached_version or atl_product_version }}" when: atl_download_version is not defined or atl_download_version|length == 0 - name: Override the supplied version with the calculated one - set_fact: + ansible.builtin.set_fact: atl_product_version: "{{ atl_download_version }}" ###################################################################### - name: Perform any additional per-edition version setup - include_tasks: "{{ atl_product_edition }}_extra_tasks.yml" - + ansible.builtin.include_tasks: "{{ atl_product_edition }}_extra_tasks.yml" - name: Create installation directories - file: + ansible.builtin.file: path: "{{ item }}" state: directory mode: 0750 @@ -136,7 +135,7 @@ # At this point atl_product_version should be set, cache if necessary. - name: Write override cached version when specified - template: + ansible.builtin.template: src: version.j2 dest: "{{ atl_product_version_cache }}" force: true @@ -148,25 +147,25 @@ # a directory is used as a lockfile (atomic operation) when moving binary. - name: Set assumptions to avoid race condition - set_fact: + ansible.builtin.set_fact: download_binary: true move_binary: false atl_product_download: "{{ atl_product_temp_download }}" # Check for pre-downloaded binary on shared_home and completed lock dir. - name: Check for completed lock directory - stat: + ansible.builtin.stat: path: "{{ atl_product_home_shared_completed_lock }}" register: completed_lock - name: Check for product installer in home_shared - stat: + ansible.builtin.stat: path: "{{ atl_product_home_shared_download }}" register: home_shared_download # If binary exists and lockdir exists use this binary instead - name: Check lock directory and binary exists on shared_home - set_fact: + ansible.builtin.set_fact: download_binary: false atl_product_download: "{{ atl_product_home_shared_download }}" when: @@ -180,7 +179,7 @@ # Fetch binary and copy to temp - name: Fetch binary - get_url: + ansible.builtin.get_url: url: "{{ atl_product_download_url }}" dest: "{{ atl_product_temp_download }}" mode: 0755 @@ -189,7 +188,7 @@ # If product installer was fetched make the lock directory - name: Create moving_lock. - file: + ansible.builtin.file: path: "{{ atl_product_home_shared_moving_lock }}" state: directory when: @@ -199,7 +198,7 @@ # Directory lock was created by this run? # If so, then set a fact intending to move binary - name: Move binary Scenario - lock created by this run - set_fact: + ansible.builtin.set_fact: move_binary: true when: - moving_lock_created is succeeded @@ -214,7 +213,7 @@ block: - name: Copy temp installer to home_shared - copy: + ansible.builtin.copy: src: "{{ atl_product_temp_download }}" dest: "{{ atl_product_home_shared_download }}" remote_src: true @@ -224,14 +223,14 @@ register: copied - name: Create completed_lock once product installer downloaded and copied - file: + ansible.builtin.file: path: "{{ atl_product_home_shared_completed_lock }}" state: directory when: copied is succeeded register: completed_lock_created - name: Remove moving_lock to show that binary is completed - file: + ansible.builtin.file: path: "{{ atl_product_home_shared_moving_lock }}" state: absent when: @@ -240,14 +239,14 @@ register: moving_lock_removed - name: Delete old temp installer - file: + ansible.builtin.file: path: "{{ atl_product_temp_download }}" state: absent when: moving_lock_removed is succeeded register: temp_deleted - name: Set install to home_shared location - set_fact: + ansible.builtin.set_fact: atl_product_download: "{{ atl_product_home_shared_download }}" when: temp_deleted is succeeded @@ -256,17 +255,17 @@ # At this point the binary is in {{ atl_product_download }} # (which is either on home_shared or temp) - name: Unpack the downloaded application depending on format - include_tasks: "unpack_{{ atl_download_format }}.yml" + ansible.builtin.include_tasks: "unpack_{{ atl_download_format }}.yml" - name: Symlink the installed version to current - file: + ansible.builtin.file: src: "{{ atl_product_installation_versioned }}" dest: "{{ atl_product_installation_current }}" state: link force: true - name: "Ensure catalina.out log dir exists after product is installed (except bitbucket)" - file: + ansible.builtin.file: path: "{{ atl_product_installation_current }}/logs" state: directory mode: 0750 @@ -276,5 +275,5 @@ changed_when: false # For Molecule idempotence check - name: Include if jsd is requested to be installed from OBR - include_tasks: "jira-servicedesk_as_obr.yml" + ansible.builtin.include_tasks: "jira-servicedesk_as_obr.yml" when: atl_install_jsd_as_obr diff --git a/roles/product_install/tasks/product_version_latest.yml b/roles/product_install/tasks/product_version_latest.yml index 604e816..03ac7cf 100644 --- a/roles/product_install/tasks/product_version_latest.yml +++ b/roles/product_install/tasks/product_version_latest.yml @@ -5,9 +5,9 @@ # product that supports the standard marketplace API. - name: Fetch the latest version from URL - set_fact: + ansible.builtin.set_fact: atl_product_version_json: "{{ lookup('url', '{{ atl_product_latest_version_url }}') }}" - name: Set the local var to retrieved version - set_fact: + ansible.builtin.set_fact: atl_latest_version: "{{ atl_product_version_json._embedded.versions[0].name }}" diff --git a/roles/product_install/tasks/unpack_installer.yml b/roles/product_install/tasks/unpack_installer.yml index f340463..5ecca1e 100644 --- a/roles/product_install/tasks/unpack_installer.yml +++ b/roles/product_install/tasks/unpack_installer.yml @@ -1,7 +1,7 @@ --- - name: Create installer varfile - template: + ansible.builtin.template: src: "{{ atl_product_family }}.varfile.j2" dest: "{{ atl_product_varfile }}" mode: 0755 @@ -13,7 +13,7 @@ # The variable {{ atl_product_download }} will be on temp for first nodes and shared_home for # subsequent nodes. - name: Run the installer - command: /bin/sh "{{ atl_product_download }}" -q -varfile "{{ atl_product_varfile }}" + ansible.builtin.command: /bin/sh "{{ atl_product_download }}" -q -varfile "{{ atl_product_varfile }}" args: creates: "{{ atl_product_installation_versioned }}/.install4j/" become: true diff --git a/roles/product_install/tasks/unpack_tarball.yml b/roles/product_install/tasks/unpack_tarball.yml index 196928f..2c5d46d 100644 --- a/roles/product_install/tasks/unpack_tarball.yml +++ b/roles/product_install/tasks/unpack_tarball.yml @@ -1,7 +1,7 @@ --- - name: Unpack the product packages - unarchive: + ansible.builtin.unarchive: remote_src: true src: "{{ atl_product_download }}" dest: "{{ atl_product_installation_versioned }}" diff --git a/roles/product_startup/handlers/main.yml b/roles/product_startup/handlers/main.yml index 57275c9..d0864a8 100644 --- a/roles/product_startup/handlers/main.yml +++ b/roles/product_startup/handlers/main.yml @@ -1,7 +1,7 @@ --- - name: Restart Product - service: + ansible.builtin.service: name: "{{ atl_systemd_service_name }}" state: restarted when: @@ -10,7 +10,7 @@ no_log: true - name: Enable Product - service: + ansible.builtin.service: name: "{{ atl_systemd_service_name }}" enabled: true when: diff --git a/roles/product_startup/molecule/bitbucket/converge.yml b/roles/product_startup/molecule/bitbucket/converge.yml index b0b462a..7209cc0 100644 --- a/roles/product_startup/molecule/bitbucket/converge.yml +++ b/roles/product_startup/molecule/bitbucket/converge.yml @@ -27,7 +27,7 @@ pre_tasks: - name: Create systemd dir if necessary - file: + ansible.builtin.file: path: "{{ item }}" state: directory with_items: diff --git a/roles/product_startup/molecule/default/converge.yml b/roles/product_startup/molecule/default/converge.yml index 9a232fc..8b5d53f 100644 --- a/roles/product_startup/molecule/default/converge.yml +++ b/roles/product_startup/molecule/default/converge.yml @@ -10,7 +10,7 @@ pre_tasks: - name: Create systemd dir if necessary - file: + ansible.builtin.file: path: "{{ item }}" state: directory with_items: @@ -21,17 +21,17 @@ - role: product_startup post_tasks: - - include_vars: ../../defaults/main.yml + - ansible.builtin.include_vars: ../../defaults/main.yml # workaround Molecule idempotence check # normal pattern of setting changed_when allows file to be written twice, which takes extra time - name: Check if vars have already been dumped - stat: + ansible.builtin.stat: path: "{{ ansible_vars_dump_location }}" register: ansible_vars_stat_result - name: Dump vars to file for inspection - copy: + ansible.builtin.copy: content: | {{ vars | to_nice_yaml }} dest: "{{ ansible_vars_dump_location }}" diff --git a/roles/product_startup/molecule/startup_restart_false/converge.yml b/roles/product_startup/molecule/startup_restart_false/converge.yml index 1943cb3..70f7941 100644 --- a/roles/product_startup/molecule/startup_restart_false/converge.yml +++ b/roles/product_startup/molecule/startup_restart_false/converge.yml @@ -10,17 +10,17 @@ ansible_vars_dump_location: "/tmp/ansible-vars.yml" tasks: - - include_vars: ../../defaults/main.yml + - ansible.builtin.include_vars: ../../defaults/main.yml # workaround Molecule idempotence check # normal pattern of setting changed_when allows file to be written twice, which takes extra time - name: Check if vars have already been dumped - stat: + ansible.builtin.stat: path: "{{ ansible_vars_dump_location }}" register: ansible_vars_stat_result - name: Dump vars to file for inspection - copy: + ansible.builtin.copy: content: | {{ vars | to_nice_yaml }} dest: "{{ ansible_vars_dump_location }}" diff --git a/roles/product_startup/molecule/synchrony/converge.yml b/roles/product_startup/molecule/synchrony/converge.yml index b4fa14b..1418f0e 100644 --- a/roles/product_startup/molecule/synchrony/converge.yml +++ b/roles/product_startup/molecule/synchrony/converge.yml @@ -19,7 +19,7 @@ pre_tasks: - name: Create systemd dir if necessary - file: + ansible.builtin.file: path: "{{ item }}" state: directory with_items: diff --git a/roles/product_startup/tasks/main.yml b/roles/product_startup/tasks/main.yml index 99a40e4..e5120ab 100644 --- a/roles/product_startup/tasks/main.yml +++ b/roles/product_startup/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: "Install systemd service file" - template: + ansible.builtin.template: src: "product.service.j2" dest: "{{ atl_systemd_service_dir }}/{{ atl_systemd_service_name }}" owner: root diff --git a/roles/synchrony_config/tasks/main.yml b/roles/synchrony_config/tasks/main.yml index f3cf3f2..e9b8db0 100644 --- a/roles/synchrony_config/tasks/main.yml +++ b/roles/synchrony_config/tasks/main.yml @@ -1,14 +1,14 @@ --- - name: Install the startup wrapper script - copy: + ansible.builtin.copy: src: start-synchrony dest: "{{ atl_product_installation_current }}/bin/start-synchrony" group: "{{ atl_product_user }}" mode: "0750" - name: Install the Synchrony environment settings - template: + ansible.builtin.template: src: "atl.synchrony.j2" dest: "/etc/atl.synchrony" group: "{{ atl_product_user }}" From ac3f6f1f93f538de19149f297029e9f0ebb7e486 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Wed, 7 Sep 2022 17:55:29 -0500 Subject: [PATCH 03/27] address a stack of linting warnings/errors and deprecations --- ansible.cfg | 3 +-- aws_bitbucket_dc_node.yml | 2 +- group_vars/aws_node_local.yml | 10 +++++----- roles/aws_common/handlers/main.yml | 4 ++-- roles/aws_common/tasks/amazon.yml | 2 +- roles/aws_common/tasks/main.yml | 2 +- roles/aws_common/tasks/write-tags.yml | 4 ++-- .../templates/amazon-cloudwatch-agent.json.j2 | 2 +- roles/aws_shared_fs_config/meta/main.yml | 2 +- roles/bitbucket_config/meta/main.yml | 2 +- .../templates/bitbucket.properties.j2 | 2 +- roles/bitbucket_dataset_restore/meta/main.yml | 2 +- roles/confluence_config/defaults/main.yml | 2 +- roles/confluence_config/tasks/main.yml | 13 +++++-------- roles/crowd_config/tasks/main.yml | 2 +- roles/database_init/tasks/main.yml | 2 +- roles/product_common/tasks/amazon.yml | 2 +- roles/product_common/tasks/ubuntu.yml | 2 +- .../tasks/jira-servicedesk_as_obr.yml | 8 ++++---- roles/product_install/tasks/main.yml | 14 +++++++------- roles/product_startup/defaults/main.yml | 2 +- roles/product_startup/handlers/main.yml | 4 ++-- 22 files changed, 42 insertions(+), 46 deletions(-) diff --git a/ansible.cfg b/ansible.cfg index 226c188..06857ac 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,5 +1,4 @@ [defaults] retry_files_enabled = False -callback_whitelist = profile_tasks -conditional_bare_variables = True +callbacks_enabled = profile_tasks collections_paths = ./ diff --git a/aws_bitbucket_dc_node.yml b/aws_bitbucket_dc_node.yml index 3e75299..3242007 100644 --- a/aws_bitbucket_dc_node.yml +++ b/aws_bitbucket_dc_node.yml @@ -34,7 +34,7 @@ - role: aws_common # For Bitbucket DC clusters that store repos on Bitbucket Mesh(https://confluence.atlassian.com/bitbucketserver/bitbucket-data-center-and-server-8-0-release-notes-1115659343.html#BitbucketDataCenterandServer8.0releasenotes-mesh), # nodes may be setup to use EFS instead of NFS for shared_home by not defining 'atl_fileserver_host' - - { role: aws_shared_fs_config, when: (atl_fileserver_host is not defined or atl_fileserver_host |length == 0) and (atl_efs_id|length > 0) } + - { role: aws_shared_fs_config, when: (atl_fileserver_host is not defined or atl_fileserver_host | length == 0) and (atl_efs_id | length > 0) } - { role: nfs_mount, when : (atl_fileserver_host is defined) and (atl_fileserver_host|length > 0) } - role: product_common - role: product_install diff --git a/group_vars/aws_node_local.yml b/group_vars/aws_node_local.yml index 18cc082..fca7c2b 100644 --- a/group_vars/aws_node_local.yml +++ b/group_vars/aws_node_local.yml @@ -38,7 +38,7 @@ atl_installer_temp: "{{ atl_installation_base }}/tmp" # installed and linked to `/usr/lib/jvm/java`. # See product_common/task/ubuntu.yml for an example of apropriate # linking using `alternatives`. -atl_java_home: "{{ '/usr/lib/jvm/java' if atl_use_system_jdk else (atl_product_installation_current + '/jre') }}" +atl_java_home: "{{ '/usr/lib/jvm/java' if atl_use_system_jdk | bool else (atl_product_installation_current + '/jre') }}" atl_java_binary: "{{ atl_java_home }}/bin/java" atl_product_logs_default: &logs_default @@ -79,8 +79,8 @@ atl_aws_region: "{{ lookup('env', 'ATL_AWS_REGION') }}" atl_aws_iam_role: "{{ lookup('env', 'ATL_AWS_IAM_ROLE') }}" atl_aws_iam_role_arn: "{{ lookup('env', 'ATL_AWS_IAM_ROLE_ARN') }}" -atl_aws_enable_cloudwatch: "{{ lookup('env', 'ATL_AWS_ENABLE_CLOUDWATCH')|bool or false }}" -atl_aws_enable_cloudwatch_logs: "{{ lookup('env', 'ATL_AWS_ENABLE_CLOUDWATCH_LOGS')|bool or false }}" +atl_aws_enable_cloudwatch: "{{ lookup('env', 'ATL_AWS_ENABLE_CLOUDWATCH') | bool or false }}" +atl_aws_enable_cloudwatch_logs: "{{ lookup('env', 'ATL_AWS_ENABLE_CLOUDWATCH_LOGS') | bool or false }}" atl_db_engine: "{{ lookup('env', 'ATL_DB_ENGINE') }}" atl_db_host: "{{ lookup('env', 'ATL_DB_HOST') }}" @@ -100,7 +100,7 @@ atl_db_timebetweenevictionrunsmillis: "{{ lookup('env', 'ATL_DB_TIMEBETWEENEVICT atl_db_minevictableidletimemillis: "{{ lookup('env', 'ATL_DB_MINEVICTABLEIDLETIMEMILLIS') or '5000' }}" atl_db_removeabandoned: "{{ lookup('env', 'ATL_DB_REMOVEABANDONED') or 'true' }}" atl_db_removeabandonedtimeout: "{{ lookup('env', 'ATL_DB_REMOVEABANDONEDTIMEOUT') or '300' }}" -atl_db_testwhileidle: "{{ lookup('env', 'ATL_DB_TESTWHILEIDLE') or 'true'}}" +atl_db_testwhileidle: "{{ lookup('env', 'ATL_DB_TESTWHILEIDLE') or 'true' }}" atl_db_testonborrow: "{{ lookup('env', 'ATL_DB_TESTONBORROW') or 'false' }}" atl_db_engine_to_db_type_map: aurora_postgres: "postgresaurora96" @@ -116,7 +116,7 @@ atl_jdbc_ctype: "{{ lookup('env', 'ATL_JDBC_CTYPE') or 'en_US.UTF-8' }}" atl_jdbc_template: "{{ lookup('env', 'ATL_JDBC_TEMPLATE') or 'template1' }}" atl_jdbc_query_params_for_engine: aurora_postgres: "?targetServerType=master" -atl_jdbc_url: "jdbc:postgresql://{{ atl_db_host }}:{{ atl_db_port }}/{{ atl_jdbc_db_name }}{{ atl_jdbc_query_params_for_engine[atl_db_engine]| default('') }}" +atl_jdbc_url: "jdbc:postgresql://{{ atl_db_host }}:{{ atl_db_port }}/{{ atl_jdbc_db_name }}{{ atl_jdbc_query_params_for_engine[atl_db_engine] | default('') }}" atl_jvm_heap: "{{ lookup('env', 'ATL_JVM_HEAP') or '2048m' }}" atl_jvm_opts: "{{ lookup('env', 'ATL_JVM_OPTS') or '' }}" diff --git a/roles/aws_common/handlers/main.yml b/roles/aws_common/handlers/main.yml index 74c5079..9ca3cf0 100644 --- a/roles/aws_common/handlers/main.yml +++ b/roles/aws_common/handlers/main.yml @@ -5,11 +5,11 @@ name: "amazon-cloudwatch-agent.service" daemon_reload: true enabled: true - when: atl_aws_agent_restart + when: atl_aws_agent_restart | bool - name: Restart CloudWatch Agent ansible.builtin.systemd: name: "amazon-cloudwatch-agent.service" enabled: true state: restarted - when: atl_aws_agent_restart + when: atl_aws_agent_restart | bool diff --git a/roles/aws_common/tasks/amazon.yml b/roles/aws_common/tasks/amazon.yml index de1195a..264a773 100644 --- a/roles/aws_common/tasks/amazon.yml +++ b/roles/aws_common/tasks/amazon.yml @@ -15,7 +15,7 @@ ansible.builtin.yum: name: - "{{ aws_cloudwatch_agent_rpm }}" - when: atl_aws_enable_cloudwatch is defined and atl_aws_enable_cloudwatch + when: atl_aws_enable_cloudwatch is defined and atl_aws_enable_cloudwatch | bool notify: - Enable CloudWatch Agent vars: diff --git a/roles/aws_common/tasks/main.yml b/roles/aws_common/tasks/main.yml index dce57fb..74206e3 100644 --- a/roles/aws_common/tasks/main.yml +++ b/roles/aws_common/tasks/main.yml @@ -20,7 +20,7 @@ owner: root group: root mode: 0644 - when: atl_aws_enable_cloudwatch is defined and atl_aws_enable_cloudwatch + when: atl_aws_enable_cloudwatch is defined and atl_aws_enable_cloudwatch | bool notify: - Restart CloudWatch Agent diff --git a/roles/aws_common/tasks/write-tags.yml b/roles/aws_common/tasks/write-tags.yml index 3c43498..7d68d13 100644 --- a/roles/aws_common/tasks/write-tags.yml +++ b/roles/aws_common/tasks/write-tags.yml @@ -16,7 +16,7 @@ - block: # No existing timestamp, so this is a first run. Persist some metadata into the ASG. - - name: Fetch the git revision for this repo + - name: Fetch the git revision for this repo # noqa: command-instead-of-module no-changed-when ansible.builtin.command: cmd: git rev-parse HEAD register: git_out @@ -40,7 +40,7 @@ # Set the tags on the ASG and the local instance. We need to # ignore errors as it's possible we don't have the permissions, # and we can't check up-front. - - name: Set the first-run tags on the ASG ("FAIL" is not critical) + - name: Set the first-run tags on the ASG ("FAIL" is not critical) # noqa: no-changed-when ansible.builtin.command: "aws autoscaling create-or-update-tags --region {{ ansible_ec2_placement_region }} diff --git a/roles/aws_common/templates/amazon-cloudwatch-agent.json.j2 b/roles/aws_common/templates/amazon-cloudwatch-agent.json.j2 index cebec1e..5b86b94 100644 --- a/roles/aws_common/templates/amazon-cloudwatch-agent.json.j2 +++ b/roles/aws_common/templates/amazon-cloudwatch-agent.json.j2 @@ -4,7 +4,7 @@ "run_as_user": "root" }, - {% if atl_aws_enable_cloudwatch_logs is defined and atl_aws_enable_cloudwatch_logs %} + {% if atl_aws_enable_cloudwatch_logs is defined and atl_aws_enable_cloudwatch_logs | bool %} "logs": { "logs_collected": { "files": { diff --git a/roles/aws_shared_fs_config/meta/main.yml b/roles/aws_shared_fs_config/meta/main.yml index b0f4ac0..8644a1f 100644 --- a/roles/aws_shared_fs_config/meta/main.yml +++ b/roles/aws_shared_fs_config/meta/main.yml @@ -1,3 +1,3 @@ --- dependencies: - - aws_common + - role: aws_common diff --git a/roles/bitbucket_config/meta/main.yml b/roles/bitbucket_config/meta/main.yml index ca5ee97..ad54581 100644 --- a/roles/bitbucket_config/meta/main.yml +++ b/roles/bitbucket_config/meta/main.yml @@ -1,4 +1,4 @@ --- dependencies: - - bitbucket_common + - role: bitbucket_common diff --git a/roles/bitbucket_config/templates/bitbucket.properties.j2 b/roles/bitbucket_config/templates/bitbucket.properties.j2 index df7b88c..1a5ef04 100644 --- a/roles/bitbucket_config/templates/bitbucket.properties.j2 +++ b/roles/bitbucket_config/templates/bitbucket.properties.j2 @@ -13,7 +13,7 @@ hazelcast.network.aws.tag.value={{ atl_aws_stack_name }} hazelcast.group.name={{ atl_aws_stack_name }} hazelcast.group.password={{ atl_aws_stack_name }} plugin.search.elasticsearch.baseurl={{ atl_elasticsearch_endpoint }} -{% if elasticsearch_should_auth_with_iam %} +{% if elasticsearch_should_auth_with_iam | bool %} plugin.search.elasticsearch.aws.region={{ atl_aws_region }} {% else %} plugin.search.elasticsearch.username={{ atl_elasticsearch_username }} diff --git a/roles/bitbucket_dataset_restore/meta/main.yml b/roles/bitbucket_dataset_restore/meta/main.yml index ca5ee97..ad54581 100644 --- a/roles/bitbucket_dataset_restore/meta/main.yml +++ b/roles/bitbucket_dataset_restore/meta/main.yml @@ -1,4 +1,4 @@ --- dependencies: - - bitbucket_common + - role: bitbucket_common diff --git a/roles/confluence_config/defaults/main.yml b/roles/confluence_config/defaults/main.yml index d755769..c3fc9c1 100644 --- a/roles/confluence_config/defaults/main.yml +++ b/roles/confluence_config/defaults/main.yml @@ -33,7 +33,7 @@ atl_catalina_opts_extra: >- -Dsynchrony.proxy.enabled=false -Dconfluence.cluster.node.name={{ atl_local_ipv4 }} -Dconfluence.cluster.hazelcast.max.no.heartbeat.seconds=60 - {% if atl_synchrony_service_url|string|length %}-Dsynchrony.service.url={{ atl_synchrony_service_url }}{% endif %} + {% if atl_synchrony_service_url | string | length %}-Dsynchrony.service.url={{ atl_synchrony_service_url }}{% endif %} atl_tomcat_port: "8080" atl_tomcat_mgmt_port: "8005" diff --git a/roles/confluence_config/tasks/main.yml b/roles/confluence_config/tasks/main.yml index c23377f..be91bd3 100644 --- a/roles/confluence_config/tasks/main.yml +++ b/roles/confluence_config/tasks/main.yml @@ -18,19 +18,16 @@ # shared-data and attachments in the shared drive. - name: Symlink local attachments to shared storage ansible.builtin.file: - src: "{{ item.0 }}" - dest: "{{ item.1 }}" + src: "{{ item.src }}" + dest: "{{ item.dest }}" force: false state: link mode: 0750 owner: "{{ atl_product_user }}" group: "{{ atl_product_user }}" - vars: - - links: - - ["{{ atl_product_home_shared }}/", "{{ atl_product_home }}/shared-home"] - - ["{{ atl_product_home_shared }}/attachments/", "{{ atl_product_home }}/attachments"] - with_nested: - - "{{ links }}" + loop: + - {src: "{{ atl_product_home_shared }}/", dest: "{{ atl_product_home }}/shared-home"} + - {src: "{{ atl_product_home_shared }}/attachments/", dest: "{{ atl_product_home }}/attachments"} - name: Create Tomcat server config ansible.builtin.template: diff --git a/roles/crowd_config/tasks/main.yml b/roles/crowd_config/tasks/main.yml index 46cf6e3..26b0412 100644 --- a/roles/crowd_config/tasks/main.yml +++ b/roles/crowd_config/tasks/main.yml @@ -31,7 +31,7 @@ - name: CATALINA_OPTS to list ansible.builtin.set_fact: - catalina_ops_list: "{{ catalina_ops_list|default([]) }} + {{ (item | trim | regex_replace('^-')).split(' -') }}" + catalina_ops_list: "{{ catalina_ops_list | default([]) }} + {{ (item | trim | regex_replace('^-')).split(' -') }}" loop: - '{{ atl_catalina_opts }}' - '{{ atl_catalina_opts_extra }}' diff --git a/roles/database_init/tasks/main.yml b/roles/database_init/tasks/main.yml index 24903bb..cec9236 100644 --- a/roles/database_init/tasks/main.yml +++ b/roles/database_init/tasks/main.yml @@ -45,7 +45,7 @@ lc_ctype: "{{ atl_jdbc_ctype }}" template: "{{ atl_jdbc_template }}" register: db_created - when: "atl_jdbc_db_name not in (dbcluster_db_names.query_result | map(attribute='datname') )" + when: "atl_jdbc_db_name not in (dbcluster_db_names.query_result | map(attribute='datname'))" tags: - new_only diff --git a/roles/product_common/tasks/amazon.yml b/roles/product_common/tasks/amazon.yml index c47dfb2..950c522 100644 --- a/roles/product_common/tasks/amazon.yml +++ b/roles/product_common/tasks/amazon.yml @@ -27,7 +27,7 @@ path: "/usr/lib/jvm/temurin-{{ java_major_version }}-jdk" priority: 99 - when: atl_use_system_jdk + when: atl_use_system_jdk | bool tags: - runtime_pkg diff --git a/roles/product_common/tasks/ubuntu.yml b/roles/product_common/tasks/ubuntu.yml index ab69770..083e4fe 100644 --- a/roles/product_common/tasks/ubuntu.yml +++ b/roles/product_common/tasks/ubuntu.yml @@ -32,7 +32,7 @@ path: "/usr/lib/jvm/temurin-{{ java_major_version }}-jdk-{{ debian_architecture }}" priority: 99 - when: atl_use_system_jdk + when: atl_use_system_jdk | bool tags: - runtime_pkg diff --git a/roles/product_install/tasks/jira-servicedesk_as_obr.yml b/roles/product_install/tasks/jira-servicedesk_as_obr.yml index 43d1a85..d9ef2d7 100644 --- a/roles/product_install/tasks/jira-servicedesk_as_obr.yml +++ b/roles/product_install/tasks/jira-servicedesk_as_obr.yml @@ -168,7 +168,7 @@ # Otherwise directory lock was either already created or # could not be created. Fall back is to continue and install from temp - when: download_obr + when: download_obr | bool # If the intention is to move obr to home_shared - name: Move obr to home_shared @@ -209,7 +209,7 @@ atl_obr_download: "{{ atl_obr_shared_download }}" when: temp_deleted is succeeded - when: move_obr + when: move_obr | bool # At this point the binary is in {{ atl_obr_download }} # (which is either on home_shared or temp) @@ -238,14 +238,14 @@ mode: 0644 register: obr_unpack -- name: Move JSD dependency jars into the bundled-plugins dir # noqa 503 - ignore lint info about when changed +- name: Move JSD dependency jars into the bundled-plugins dir # noqa no-handler - ignore lint info about when changed ansible.builtin.copy: remote_src: yes src: "{{ atl_product_installation_versioned }}/atlassian-jira/WEB-INF/atlassian-bundled-plugins/dependencies/" dest: "{{ atl_product_installation_versioned }}/atlassian-jira/WEB-INF/atlassian-bundled-plugins/" when: obr_unpack.changed -- name: Remove the empty dependencies folder # noqa 503 - ignore lint info about when changed +- name: Remove the empty dependencies folder # noqa no-handler - ignore lint info about when changed ansible.builtin.file: path: "{{ atl_product_installation_versioned }}/atlassian-jira/WEB-INF/atlassian-bundled-plugins/dependencies" state: absent diff --git a/roles/product_install/tasks/main.yml b/roles/product_install/tasks/main.yml index 9a9521c..ffe3c25 100644 --- a/roles/product_install/tasks/main.yml +++ b/roles/product_install/tasks/main.yml @@ -35,7 +35,7 @@ - name: Fetch the latest edition version ansible.builtin.include_tasks: "{{ atl_product_edition }}_version_latest.yml" - when: not cached.stat.exists and version_is_latest + when: not cached.stat.exists and version_is_latest | bool ###################################################################### @@ -72,7 +72,7 @@ atl_download_version: "{{ atl_latest_version }}" when: not cached.stat.exists - when: version_is_latest + when: version_is_latest | bool - name: "Case: Version is not latest" block: @@ -100,14 +100,14 @@ atl_product_normalised_version is version(atl_cached_normalised_version, '<=') and not force_version_update | bool - when: not version_is_latest + when: not version_is_latest | bool - name: "Fallthrough guard: Use cached or supplied version if nothing set" ansible.builtin.set_fact: atl_download_version: "{{ atl_cached_version or atl_product_version }}" when: atl_download_version is not defined or - atl_download_version|length == 0 + atl_download_version | length == 0 - name: Override the supplied version with the calculated one ansible.builtin.set_fact: @@ -206,7 +206,7 @@ # Otherwise directory lock was either already created or # could not be created. Fall back is to continue and install from temp - when: download_binary + when: download_binary | bool # If the intention is to move binary to home_shared - name: Move product installer to home_shared @@ -250,7 +250,7 @@ atl_product_download: "{{ atl_product_home_shared_download }}" when: temp_deleted is succeeded - when: move_binary + when: move_binary | bool # At this point the binary is in {{ atl_product_download }} # (which is either on home_shared or temp) @@ -276,4 +276,4 @@ - name: Include if jsd is requested to be installed from OBR ansible.builtin.include_tasks: "jira-servicedesk_as_obr.yml" - when: atl_install_jsd_as_obr + when: atl_install_jsd_as_obr | bool diff --git a/roles/product_startup/defaults/main.yml b/roles/product_startup/defaults/main.yml index da7824c..7b3f329 100644 --- a/roles/product_startup/defaults/main.yml +++ b/roles/product_startup/defaults/main.yml @@ -24,7 +24,7 @@ atl_stop_exec_path: "{{ atl_product_installation_current }}/{{ atl_stop_script_m atl_systemd_service_dir_map: amazon: "/usr/lib/systemd/system" ubuntu: "/lib/systemd/system" -atl_systemd_service_dir: "{{ atl_systemd_service_dir_map[ansible_distribution|lower] }}" +atl_systemd_service_dir: "{{ atl_systemd_service_dir_map[ansible_distribution | lower] }}" atl_systemd_service_name: "{{ atl_product_edition }}.service" diff --git a/roles/product_startup/handlers/main.yml b/roles/product_startup/handlers/main.yml index d0864a8..6aad4f5 100644 --- a/roles/product_startup/handlers/main.yml +++ b/roles/product_startup/handlers/main.yml @@ -5,7 +5,7 @@ name: "{{ atl_systemd_service_name }}" state: restarted when: - - atl_startup_restart + - atl_startup_restart | bool - molecule_yml is not defined no_log: true @@ -14,6 +14,6 @@ name: "{{ atl_systemd_service_name }}" enabled: true when: - - atl_startup_enable + - atl_startup_enable | bool - molecule_yml is not defined no_log: true From 2188338a53ac9f7874a53758687aca96dfe263ec Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Wed, 7 Sep 2022 17:55:47 -0500 Subject: [PATCH 04/27] add ansible_collections to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 453a538..b1c3798 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ __pycache__ .envrc .idea .vscode +ansible_collections \ No newline at end of file From 4d7b2c57f0f8a365fb6002b0edbc6a6f7e05e570 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 12:51:58 -0500 Subject: [PATCH 05/27] try a fix for the tests in pipelines; add collections cache --- bitbucket-pipelines.yml | 112 +++++++++++++++--- .../templates/bitbucket-pipelines.yml.j2 | 4 + .../molecule/cw-disabled/molecule.yml | 2 + .../aws_common/molecule/default/molecule.yml | 2 + .../molecule/logs-disabled/molecule.yml | 2 + .../molecule/default/molecule.yml | 2 + .../molecule/iam_elasticsearch/molecule.yml | 2 + .../molecule/aurora/molecule.yml | 2 + .../molecule/default/molecule.yml | 2 + .../password_char_escaping/molecule.yml | 2 + .../molecule/system_jdk/molecule.yml | 2 + .../diy_backup/molecule/default/molecule.yml | 2 + .../jira_config/molecule/aurora/molecule.yml | 2 + .../jira_config/molecule/default/molecule.yml | 2 + .../molecule/jira_config_props/molecule.yml | 2 + .../password_char_escaping/molecule.yml | 2 + .../molecule/default/molecule.yml | 2 + .../molecule/default/molecule.yml | 2 + .../molecule/system_jdk/molecule.yml | 2 + .../molecule/bitbucket_latest/molecule.yml | 2 + .../molecule/confluence_latest/molecule.yml | 2 + .../molecule.yml | 2 + .../molecule/crowd_latest/molecule.yml | 2 + .../molecule/default/molecule.yml | 2 + .../molecule/jira_all/molecule.yml | 2 + .../jira_cached_with_downgrade/molecule.yml | 2 + .../jira_cached_with_upgrade/molecule.yml | 2 + .../jira_software_latest/molecule.yml | 2 + .../molecule/jira_tarball/molecule.yml | 2 + .../jira_tarball_download_url/molecule.yml | 2 + .../jira_version_from_file/molecule.yml | 2 + .../molecule/jira_version_latest/molecule.yml | 2 + .../jira_version_override/molecule.yml | 2 + .../molecule/servicedesk3/molecule.yml | 2 + .../molecule/servicedesk4/molecule.yml | 2 + .../molecule/servicedesk_latest/molecule.yml | 2 + .../molecule/bitbucket/molecule.yml | 2 + .../molecule/default/molecule.yml | 2 + .../startup_restart_false/molecule.yml | 2 + .../molecule/synchrony/molecule.yml | 2 + 40 files changed, 175 insertions(+), 17 deletions(-) diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 0aa5334..168ccaa 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -9,6 +9,8 @@ options: size: 2x definitions: + caches: + ansible-collections: ansible_collections services: docker: memory: 4096 @@ -35,6 +37,8 @@ pipelines: - parallel: - step: name: aws_common/cw-disabled + caches: + - ansible-collections services: - docker script: @@ -44,6 +48,8 @@ pipelines: - pipenv run molecule test -s cw-disabled - step: name: aws_common/default + caches: + - ansible-collections services: - docker script: @@ -53,6 +59,8 @@ pipelines: - pipenv run molecule test -s default - step: name: aws_common/logs-disabled + caches: + - ansible-collections services: - docker script: @@ -62,6 +70,8 @@ pipelines: - pipenv run molecule test -s logs-disabled - step: name: bitbucket_config/default + caches: + - ansible-collections services: - docker script: @@ -71,6 +81,8 @@ pipelines: - pipenv run molecule test -s default - step: name: bitbucket_config/iam_elasticsearch + caches: + - ansible-collections services: - docker script: @@ -80,6 +92,8 @@ pipelines: - pipenv run molecule test -s iam_elasticsearch - step: name: confluence_config/aurora + caches: + - ansible-collections services: - docker script: @@ -89,6 +103,8 @@ pipelines: - pipenv run molecule test -s aurora - step: name: confluence_config/default + caches: + - ansible-collections services: - docker script: @@ -98,6 +114,8 @@ pipelines: - pipenv run molecule test -s default - step: name: confluence_config/password_char_escaping + caches: + - ansible-collections services: - docker script: @@ -107,6 +125,8 @@ pipelines: - pipenv run molecule test -s password_char_escaping - step: name: confluence_config/system_jdk + caches: + - ansible-collections services: - docker script: @@ -116,6 +136,8 @@ pipelines: - pipenv run molecule test -s system_jdk - step: name: diy_backup/default + caches: + - ansible-collections services: - docker script: @@ -125,6 +147,8 @@ pipelines: - pipenv run molecule test -s default - step: name: jira_config/aurora + caches: + - ansible-collections services: - docker script: @@ -134,6 +158,8 @@ pipelines: - pipenv run molecule test -s aurora - step: name: jira_config/default + caches: + - ansible-collections services: - docker script: @@ -143,6 +169,8 @@ pipelines: - pipenv run molecule test -s default - step: name: jira_config/jira_config_props + caches: + - ansible-collections services: - docker script: @@ -152,6 +180,8 @@ pipelines: - pipenv run molecule test -s jira_config_props - step: name: jira_config/password_char_escaping + caches: + - ansible-collections services: - docker script: @@ -161,6 +191,8 @@ pipelines: - pipenv run molecule test -s password_char_escaping - step: name: linux_common/default + caches: + - ansible-collections services: - docker script: @@ -170,6 +202,8 @@ pipelines: - pipenv run molecule test -s default - step: name: product_common/default + caches: + - ansible-collections services: - docker script: @@ -179,6 +213,8 @@ pipelines: - pipenv run molecule test -s default - step: name: product_common/system_jdk + caches: + - ansible-collections services: - docker script: @@ -188,6 +224,8 @@ pipelines: - pipenv run molecule test -s system_jdk - step: name: product_install/bitbucket_latest + caches: + - ansible-collections services: - docker script: @@ -197,6 +235,8 @@ pipelines: - pipenv run molecule test -s bitbucket_latest - step: name: product_install/confluence_latest + caches: + - ansible-collections services: - docker script: @@ -205,16 +245,20 @@ pipelines: - cd roles/product_install - pipenv run molecule test -s confluence_latest - step: - name: product_install/confluence_version_with_uppercase - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s confluence_version_with_uppercase + name: product_install/confluence_version_with_uppercase + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s confluence_version_with_uppercase - step: name: product_install/crowd_latest + caches: + - ansible-collections services: - docker script: @@ -224,6 +268,8 @@ pipelines: - pipenv run molecule test -s crowd_latest - step: name: product_install/default + caches: + - ansible-collections services: - docker script: @@ -233,6 +279,8 @@ pipelines: - pipenv run molecule test -s default - step: name: product_install/jira_all + caches: + - ansible-collections services: - docker script: @@ -240,17 +288,10 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_all - - step: - name: product_install/jira_tarball_download_url - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_tarball_download_url - step: name: product_install/jira_cached_with_downgrade + caches: + - ansible-collections services: - docker script: @@ -260,6 +301,8 @@ pipelines: - pipenv run molecule test -s jira_cached_with_downgrade - step: name: product_install/jira_cached_with_upgrade + caches: + - ansible-collections services: - docker script: @@ -269,6 +312,8 @@ pipelines: - pipenv run molecule test -s jira_cached_with_upgrade - step: name: product_install/jira_software_latest + caches: + - ansible-collections services: - docker script: @@ -278,6 +323,8 @@ pipelines: - pipenv run molecule test -s jira_software_latest - step: name: product_install/jira_tarball + caches: + - ansible-collections services: - docker script: @@ -285,8 +332,21 @@ pipelines: - ./bin/install-ansible --dev - cd roles/product_install - pipenv run molecule test -s jira_tarball + - step: + name: product_install/jira_tarball_download_url + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_tarball_download_url - step: name: product_install/jira_version_from_file + caches: + - ansible-collections services: - docker script: @@ -296,6 +356,8 @@ pipelines: - pipenv run molecule test -s jira_version_from_file - step: name: product_install/jira_version_latest + caches: + - ansible-collections services: - docker script: @@ -305,6 +367,8 @@ pipelines: - pipenv run molecule test -s jira_version_latest - step: name: product_install/jira_version_override + caches: + - ansible-collections services: - docker script: @@ -314,6 +378,8 @@ pipelines: - pipenv run molecule test -s jira_version_override - step: name: product_install/servicedesk3 + caches: + - ansible-collections services: - docker script: @@ -323,6 +389,8 @@ pipelines: - pipenv run molecule test -s servicedesk3 - step: name: product_install/servicedesk4 + caches: + - ansible-collections services: - docker script: @@ -332,6 +400,8 @@ pipelines: - pipenv run molecule test -s servicedesk4 - step: name: product_install/servicedesk_latest + caches: + - ansible-collections services: - docker script: @@ -341,6 +411,8 @@ pipelines: - pipenv run molecule test -s servicedesk_latest - step: name: product_startup/bitbucket + caches: + - ansible-collections services: - docker script: @@ -350,6 +422,8 @@ pipelines: - pipenv run molecule test -s bitbucket - step: name: product_startup/default + caches: + - ansible-collections services: - docker script: @@ -359,6 +433,8 @@ pipelines: - pipenv run molecule test -s default - step: name: product_startup/startup_restart_false + caches: + - ansible-collections services: - docker script: @@ -368,6 +444,8 @@ pipelines: - pipenv run molecule test -s startup_restart_false - step: name: product_startup/synchrony + caches: + - ansible-collections services: - docker script: diff --git a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 index 0fbf548..c115b62 100644 --- a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 +++ b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 @@ -9,6 +9,8 @@ options: size: 2x definitions: + caches: + ansible-collections: ansible_collections services: docker: memory: 4096 @@ -36,6 +38,8 @@ pipelines: {% for spath in scenario_paths %} - step: name: {{ spath.parts[2] }}/{{ spath.parts[4] }} + caches: + - ansible-collections services: - docker script: diff --git a/roles/aws_common/molecule/cw-disabled/molecule.yml b/roles/aws_common/molecule/cw-disabled/molecule.yml index 9a1ec33..cd713bf 100644 --- a/roles/aws_common/molecule/cw-disabled/molecule.yml +++ b/roles/aws_common/molecule/cw-disabled/molecule.yml @@ -12,6 +12,8 @@ platforms: # image: ubuntu:bionic provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" inventory: links: group_vars: ../../../../group_vars/ diff --git a/roles/aws_common/molecule/default/molecule.yml b/roles/aws_common/molecule/default/molecule.yml index 9a1ec33..cd713bf 100644 --- a/roles/aws_common/molecule/default/molecule.yml +++ b/roles/aws_common/molecule/default/molecule.yml @@ -12,6 +12,8 @@ platforms: # image: ubuntu:bionic provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" inventory: links: group_vars: ../../../../group_vars/ diff --git a/roles/aws_common/molecule/logs-disabled/molecule.yml b/roles/aws_common/molecule/logs-disabled/molecule.yml index 9a1ec33..cd713bf 100644 --- a/roles/aws_common/molecule/logs-disabled/molecule.yml +++ b/roles/aws_common/molecule/logs-disabled/molecule.yml @@ -12,6 +12,8 @@ platforms: # image: ubuntu:bionic provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" inventory: links: group_vars: ../../../../group_vars/ diff --git a/roles/bitbucket_config/molecule/default/molecule.yml b/roles/bitbucket_config/molecule/default/molecule.yml index 400e984..46478dd 100644 --- a/roles/bitbucket_config/molecule/default/molecule.yml +++ b/roles/bitbucket_config/molecule/default/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/bitbucket_config/molecule/iam_elasticsearch/molecule.yml b/roles/bitbucket_config/molecule/iam_elasticsearch/molecule.yml index 400e984..46478dd 100644 --- a/roles/bitbucket_config/molecule/iam_elasticsearch/molecule.yml +++ b/roles/bitbucket_config/molecule/iam_elasticsearch/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/confluence_config/molecule/aurora/molecule.yml b/roles/confluence_config/molecule/aurora/molecule.yml index 3ea826a..37870de 100644 --- a/roles/confluence_config/molecule/aurora/molecule.yml +++ b/roles/confluence_config/molecule/aurora/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/confluence_config/molecule/default/molecule.yml b/roles/confluence_config/molecule/default/molecule.yml index 3ea826a..37870de 100644 --- a/roles/confluence_config/molecule/default/molecule.yml +++ b/roles/confluence_config/molecule/default/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/confluence_config/molecule/password_char_escaping/molecule.yml b/roles/confluence_config/molecule/password_char_escaping/molecule.yml index cc50e25..d6f2454 100644 --- a/roles/confluence_config/molecule/password_char_escaping/molecule.yml +++ b/roles/confluence_config/molecule/password_char_escaping/molecule.yml @@ -15,6 +15,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/confluence_config/molecule/system_jdk/molecule.yml b/roles/confluence_config/molecule/system_jdk/molecule.yml index 3ea826a..37870de 100644 --- a/roles/confluence_config/molecule/system_jdk/molecule.yml +++ b/roles/confluence_config/molecule/system_jdk/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/diy_backup/molecule/default/molecule.yml b/roles/diy_backup/molecule/default/molecule.yml index 400e984..46478dd 100644 --- a/roles/diy_backup/molecule/default/molecule.yml +++ b/roles/diy_backup/molecule/default/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/jira_config/molecule/aurora/molecule.yml b/roles/jira_config/molecule/aurora/molecule.yml index 400e984..46478dd 100644 --- a/roles/jira_config/molecule/aurora/molecule.yml +++ b/roles/jira_config/molecule/aurora/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/jira_config/molecule/default/molecule.yml b/roles/jira_config/molecule/default/molecule.yml index 400e984..46478dd 100644 --- a/roles/jira_config/molecule/default/molecule.yml +++ b/roles/jira_config/molecule/default/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/jira_config/molecule/jira_config_props/molecule.yml b/roles/jira_config/molecule/jira_config_props/molecule.yml index 400e984..46478dd 100644 --- a/roles/jira_config/molecule/jira_config_props/molecule.yml +++ b/roles/jira_config/molecule/jira_config_props/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/jira_config/molecule/password_char_escaping/molecule.yml b/roles/jira_config/molecule/password_char_escaping/molecule.yml index 400e984..46478dd 100644 --- a/roles/jira_config/molecule/password_char_escaping/molecule.yml +++ b/roles/jira_config/molecule/password_char_escaping/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/linux_common/molecule/default/molecule.yml b/roles/linux_common/molecule/default/molecule.yml index 106d967..ff7cd88 100644 --- a/roles/linux_common/molecule/default/molecule.yml +++ b/roles/linux_common/molecule/default/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" inventory: links: group_vars: ../../../../group_vars/ diff --git a/roles/product_common/molecule/default/molecule.yml b/roles/product_common/molecule/default/molecule.yml index b790cb4..7436661 100644 --- a/roles/product_common/molecule/default/molecule.yml +++ b/roles/product_common/molecule/default/molecule.yml @@ -10,5 +10,7 @@ platforms: image: ubuntu:bionic provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" verifier: name: testinfra diff --git a/roles/product_common/molecule/system_jdk/molecule.yml b/roles/product_common/molecule/system_jdk/molecule.yml index b790cb4..7436661 100644 --- a/roles/product_common/molecule/system_jdk/molecule.yml +++ b/roles/product_common/molecule/system_jdk/molecule.yml @@ -10,5 +10,7 @@ platforms: image: ubuntu:bionic provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" verifier: name: testinfra diff --git a/roles/product_install/molecule/bitbucket_latest/molecule.yml b/roles/product_install/molecule/bitbucket_latest/molecule.yml index 3ea826a..37870de 100644 --- a/roles/product_install/molecule/bitbucket_latest/molecule.yml +++ b/roles/product_install/molecule/bitbucket_latest/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/confluence_latest/molecule.yml b/roles/product_install/molecule/confluence_latest/molecule.yml index 3ea826a..37870de 100644 --- a/roles/product_install/molecule/confluence_latest/molecule.yml +++ b/roles/product_install/molecule/confluence_latest/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/confluence_version_with_uppercase/molecule.yml b/roles/product_install/molecule/confluence_version_with_uppercase/molecule.yml index 3ea826a..37870de 100644 --- a/roles/product_install/molecule/confluence_version_with_uppercase/molecule.yml +++ b/roles/product_install/molecule/confluence_version_with_uppercase/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/crowd_latest/molecule.yml b/roles/product_install/molecule/crowd_latest/molecule.yml index 3ea826a..37870de 100644 --- a/roles/product_install/molecule/crowd_latest/molecule.yml +++ b/roles/product_install/molecule/crowd_latest/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/default/molecule.yml b/roles/product_install/molecule/default/molecule.yml index 644207c..ed186d7 100644 --- a/roles/product_install/molecule/default/molecule.yml +++ b/roles/product_install/molecule/default/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/jira_all/molecule.yml b/roles/product_install/molecule/jira_all/molecule.yml index 3ea826a..37870de 100644 --- a/roles/product_install/molecule/jira_all/molecule.yml +++ b/roles/product_install/molecule/jira_all/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/jira_cached_with_downgrade/molecule.yml b/roles/product_install/molecule/jira_cached_with_downgrade/molecule.yml index 34c0289..ef18a40 100644 --- a/roles/product_install/molecule/jira_cached_with_downgrade/molecule.yml +++ b/roles/product_install/molecule/jira_cached_with_downgrade/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: vvv: true skip-tags: runtime_pkg diff --git a/roles/product_install/molecule/jira_cached_with_upgrade/molecule.yml b/roles/product_install/molecule/jira_cached_with_upgrade/molecule.yml index 34c0289..ef18a40 100644 --- a/roles/product_install/molecule/jira_cached_with_upgrade/molecule.yml +++ b/roles/product_install/molecule/jira_cached_with_upgrade/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: vvv: true skip-tags: runtime_pkg diff --git a/roles/product_install/molecule/jira_software_latest/molecule.yml b/roles/product_install/molecule/jira_software_latest/molecule.yml index 3ea826a..37870de 100644 --- a/roles/product_install/molecule/jira_software_latest/molecule.yml +++ b/roles/product_install/molecule/jira_software_latest/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/jira_tarball/molecule.yml b/roles/product_install/molecule/jira_tarball/molecule.yml index 644207c..ed186d7 100644 --- a/roles/product_install/molecule/jira_tarball/molecule.yml +++ b/roles/product_install/molecule/jira_tarball/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/jira_tarball_download_url/molecule.yml b/roles/product_install/molecule/jira_tarball_download_url/molecule.yml index 3ea826a..37870de 100644 --- a/roles/product_install/molecule/jira_tarball_download_url/molecule.yml +++ b/roles/product_install/molecule/jira_tarball_download_url/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/jira_version_from_file/molecule.yml b/roles/product_install/molecule/jira_version_from_file/molecule.yml index 644207c..ed186d7 100644 --- a/roles/product_install/molecule/jira_version_from_file/molecule.yml +++ b/roles/product_install/molecule/jira_version_from_file/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/jira_version_latest/molecule.yml b/roles/product_install/molecule/jira_version_latest/molecule.yml index 644207c..ed186d7 100644 --- a/roles/product_install/molecule/jira_version_latest/molecule.yml +++ b/roles/product_install/molecule/jira_version_latest/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/jira_version_override/molecule.yml b/roles/product_install/molecule/jira_version_override/molecule.yml index 644207c..ed186d7 100644 --- a/roles/product_install/molecule/jira_version_override/molecule.yml +++ b/roles/product_install/molecule/jira_version_override/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_install/molecule/servicedesk3/molecule.yml b/roles/product_install/molecule/servicedesk3/molecule.yml index f597cd9..6d1a5a9 100644 --- a/roles/product_install/molecule/servicedesk3/molecule.yml +++ b/roles/product_install/molecule/servicedesk3/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: vv: true skip-tags: runtime_pkg diff --git a/roles/product_install/molecule/servicedesk4/molecule.yml b/roles/product_install/molecule/servicedesk4/molecule.yml index f597cd9..6d1a5a9 100644 --- a/roles/product_install/molecule/servicedesk4/molecule.yml +++ b/roles/product_install/molecule/servicedesk4/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: vv: true skip-tags: runtime_pkg diff --git a/roles/product_install/molecule/servicedesk_latest/molecule.yml b/roles/product_install/molecule/servicedesk_latest/molecule.yml index f597cd9..6d1a5a9 100644 --- a/roles/product_install/molecule/servicedesk_latest/molecule.yml +++ b/roles/product_install/molecule/servicedesk_latest/molecule.yml @@ -14,6 +14,8 @@ platforms: - aws_node_local provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: vv: true skip-tags: runtime_pkg diff --git a/roles/product_startup/molecule/bitbucket/molecule.yml b/roles/product_startup/molecule/bitbucket/molecule.yml index 400e984..46478dd 100644 --- a/roles/product_startup/molecule/bitbucket/molecule.yml +++ b/roles/product_startup/molecule/bitbucket/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_startup/molecule/default/molecule.yml b/roles/product_startup/molecule/default/molecule.yml index 400e984..46478dd 100644 --- a/roles/product_startup/molecule/default/molecule.yml +++ b/roles/product_startup/molecule/default/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: diff --git a/roles/product_startup/molecule/startup_restart_false/molecule.yml b/roles/product_startup/molecule/startup_restart_false/molecule.yml index 85b7cb3..e288c57 100644 --- a/roles/product_startup/molecule/startup_restart_false/molecule.yml +++ b/roles/product_startup/molecule/startup_restart_false/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" env: ATL_STARTUP_RESTART: "false" options: diff --git a/roles/product_startup/molecule/synchrony/molecule.yml b/roles/product_startup/molecule/synchrony/molecule.yml index 400e984..46478dd 100644 --- a/roles/product_startup/molecule/synchrony/molecule.yml +++ b/roles/product_startup/molecule/synchrony/molecule.yml @@ -18,6 +18,8 @@ platforms: - nofile:262144:262144 provisioner: name: ansible + env: + ANSIBLE_COLLECTIONS_PATH: "../../" options: skip-tags: runtime_pkg inventory: From 30fd390e686f6703897a690dea34e97256009907 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 12:52:13 -0500 Subject: [PATCH 06/27] add .ansible-lint --- .ansible-lint | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .ansible-lint diff --git a/.ansible-lint b/.ansible-lint new file mode 100644 index 0000000..8a1f80b --- /dev/null +++ b/.ansible-lint @@ -0,0 +1,11 @@ +--- +kinds: + - playbook: "./aws_*.yml" +offline: true +skip_list: + - ignore-errors + - meta-no-info + - name[casing] # so many of our task names aren't capitalized + - name[missing] # some tasks have no name + - risky-file-permissions + - yaml # many, many warnings From 797da718d162ddd4418cf4c38955d7b0dc76ea5c Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 13:39:51 -0500 Subject: [PATCH 07/27] add a retry loop (mostly for parallel pipelines tests where this can generate too many requests errors) --- bin/install-ansible | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bin/install-ansible b/bin/install-ansible index 4237607..b3a29b2 100755 --- a/bin/install-ansible +++ b/bin/install-ansible @@ -33,4 +33,8 @@ if [[ $1 == "--dev" ]]; then fi echo "Installing collections from galaxy..." -pipenv run ansible-galaxy collection install --upgrade --verbose --requirements-file requirements.yml +galaxy_retry_count=0 +until [[ $galaxy_retry_count -gt 2 ]]; do + pipenv run ansible-galaxy collection install --upgrade --verbose --requirements-file requirements.yml && break + galaxy_retry_count=$((galaxy_retry_count + 1)) +done From d4cde110e833190e72054f663148f3c5b99a571f Mon Sep 17 00:00:00 2001 From: Steve Smith Date: Wed, 27 Jul 2022 15:59:10 +1000 Subject: [PATCH 08/27] Ansible gets confused about the galaxy namespace for bitbucket_config for some reason. --- roles/bitbucket_config/meta/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/roles/bitbucket_config/meta/main.yml b/roles/bitbucket_config/meta/main.yml index ad54581..ff263fc 100644 --- a/roles/bitbucket_config/meta/main.yml +++ b/roles/bitbucket_config/meta/main.yml @@ -1,4 +1,7 @@ --- +galaxy_info: + namespace: dc_deployments_automation + dependencies: - role: bitbucket_common From 57c2cad83fb0b4d7a95c15ab3f28ac5e0ae1eea3 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 16:21:55 -0500 Subject: [PATCH 09/27] fix some line-endings, add dependencies, allow python other than 3.8 --- Pipfile | 1 + Pipfile.lock | 33 +++++++++++++++++++++++++-------- bin/install-ansible | 12 ++++++++---- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/Pipfile b/Pipfile index 2a51513..6cc1cd6 100644 --- a/Pipfile +++ b/Pipfile @@ -7,6 +7,7 @@ name = "pypi" ansible-core = "==2.13.3" boto3 = "==1.24.68" botocore = "==1.27.68" +psycopg2 = "==2.9.3" [dev-packages] molecule = "==4.0.1" diff --git a/Pipfile.lock b/Pipfile.lock index ddb1be1..bfa3662 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "1516f96db49749179581aedb5939e7e8a3a52a5c6862541f5f746f86d16c3cd7" + "sha256": "6f379b3231d1e4ad27a998f4cd101e0c9bcaaf5827a76948b98768fd1b37e1d7" }, "pipfile-spec": 6, "requires": { - "python_version": "3.8" + "python_version": "3" }, "sources": [ { @@ -211,6 +211,23 @@ "markers": "python_version >= '3.6'", "version": "==21.3" }, + "psycopg2": { + "hashes": [ + "sha256:06f32425949bd5fe8f625c49f17ebb9784e1e4fe928b7cce72edc36fb68e4c0c", + "sha256:0762c27d018edbcb2d34d51596e4346c983bd27c330218c56c4dc25ef7e819bf", + "sha256:083707a696e5e1c330af2508d8fab36f9700b26621ccbcb538abe22e15485362", + "sha256:34b33e0162cfcaad151f249c2649fd1030010c16f4bbc40a604c1cb77173dcf7", + "sha256:4295093a6ae3434d33ec6baab4ca5512a5082cc43c0505293087b8a46d108461", + "sha256:8cf3878353cc04b053822896bc4922b194792df9df2f1ad8da01fb3043602126", + "sha256:8e841d1bf3434da985cc5ef13e6f75c8981ced601fd70cc6bf33351b91562981", + "sha256:9572e08b50aed176ef6d66f15a21d823bb6f6d23152d35e8451d7d2d18fdac56", + "sha256:a81e3866f99382dfe8c15a151f1ca5fde5815fde879348fe5a9884a7c092a305", + "sha256:cb10d44e6694d763fa1078a26f7f6137d69f555a78ec85dc2ef716c37447e4b2", + "sha256:d3ca6421b942f60c008f81a3541e8faf6865a28d5a9b48544b0ee4f40cac7fca" + ], + "index": "pypi", + "version": "==2.9.3" + }, "pycparser": { "hashes": [ "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", @@ -231,7 +248,7 @@ "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.8.2" }, "pyyaml": { @@ -293,7 +310,7 @@ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, "urllib3": { @@ -618,7 +635,7 @@ "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.8.2" }, "python-slugify": { @@ -673,7 +690,7 @@ "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983", "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349" ], - "markers": "python_version >= '3.7' and python_version < '4'", + "markers": "python_version >= '3.7' and python_full_version < '4.0.0'", "version": "==2.28.1" }, "rich": { @@ -681,7 +698,7 @@ "sha256:2eb4e6894cde1e017976d2975ac210ef515d7548bc595ba20e195fb9628acdeb", "sha256:63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca" ], - "markers": "python_full_version >= '3.6.3' and python_version < '4'", + "markers": "python_full_version >= '3.6.3' and python_full_version < '4.0.0'", "version": "==12.5.1" }, "setuptools": { @@ -697,7 +714,7 @@ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, "subprocess-tee": { diff --git a/bin/install-ansible b/bin/install-ansible index b3a29b2..b662e8b 100755 --- a/bin/install-ansible +++ b/bin/install-ansible @@ -7,15 +7,19 @@ if [[ $ID = "amzn" ]]; then amazon-linux-extras enable python3.8 yum clean metadata yum install -y \ - python2-pip - python38 - python38-pip - python38-devel + gcc \ + libpq-devel \ + python2-pip \ + python38 \ + python38-pip \ + python38-devel \ python-lxml else # FIXME: Currently assumes Debian-based apt-get update && \ apt-get install -y \ + libpq-dev \ + python2 \ python3-dev \ python3-pip fi From b1c3516b301b9b724caf00106de5d637b4a29203 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 17:31:37 -0500 Subject: [PATCH 10/27] ec2_tag -> ec2_tag_info --- roles/aws_common/tasks/write-tags.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/roles/aws_common/tasks/write-tags.yml b/roles/aws_common/tasks/write-tags.yml index 7d68d13..bf87c20 100644 --- a/roles/aws_common/tasks/write-tags.yml +++ b/roles/aws_common/tasks/write-tags.yml @@ -1,10 +1,9 @@ --- - name: Retrieve all available EC2 tags - amazon.aws.ec2_tag: + amazon.aws.ec2_tag_info: region: "{{ ansible_ec2_placement_region }}" resource: "{{ ansible_ec2_instance_id }}" - state: list register: ec2_instance_tags ignore_errors: true tags: From c563e745db575bd680520a0bac470d53daede5f7 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 18:16:41 -0500 Subject: [PATCH 11/27] fix indentation in pipelines config --- bitbucket-pipelines.yml | 778 +++++++++--------- .../templates/bitbucket-pipelines.yml.j2 | 38 +- 2 files changed, 408 insertions(+), 408 deletions(-) diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 168ccaa..2998651 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -36,431 +36,431 @@ pipelines: - parallel: - step: - name: aws_common/cw-disabled - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/aws_common - - pipenv run molecule test -s cw-disabled + name: aws_common/cw-disabled + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/aws_common + - pipenv run molecule test -s cw-disabled - step: - name: aws_common/default - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/aws_common - - pipenv run molecule test -s default + name: aws_common/default + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/aws_common + - pipenv run molecule test -s default - step: - name: aws_common/logs-disabled - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/aws_common - - pipenv run molecule test -s logs-disabled + name: aws_common/logs-disabled + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/aws_common + - pipenv run molecule test -s logs-disabled - step: - name: bitbucket_config/default - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/bitbucket_config - - pipenv run molecule test -s default + name: bitbucket_config/default + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/bitbucket_config + - pipenv run molecule test -s default - step: - name: bitbucket_config/iam_elasticsearch - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/bitbucket_config - - pipenv run molecule test -s iam_elasticsearch + name: bitbucket_config/iam_elasticsearch + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/bitbucket_config + - pipenv run molecule test -s iam_elasticsearch - step: - name: confluence_config/aurora - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/confluence_config - - pipenv run molecule test -s aurora + name: confluence_config/aurora + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/confluence_config + - pipenv run molecule test -s aurora - step: - name: confluence_config/default - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/confluence_config - - pipenv run molecule test -s default + name: confluence_config/default + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/confluence_config + - pipenv run molecule test -s default - step: - name: confluence_config/password_char_escaping - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/confluence_config - - pipenv run molecule test -s password_char_escaping + name: confluence_config/password_char_escaping + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/confluence_config + - pipenv run molecule test -s password_char_escaping - step: - name: confluence_config/system_jdk - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/confluence_config - - pipenv run molecule test -s system_jdk + name: confluence_config/system_jdk + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/confluence_config + - pipenv run molecule test -s system_jdk - step: - name: diy_backup/default - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/diy_backup - - pipenv run molecule test -s default + name: diy_backup/default + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/diy_backup + - pipenv run molecule test -s default - step: - name: jira_config/aurora - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/jira_config - - pipenv run molecule test -s aurora + name: jira_config/aurora + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/jira_config + - pipenv run molecule test -s aurora - step: - name: jira_config/default - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/jira_config - - pipenv run molecule test -s default + name: jira_config/default + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/jira_config + - pipenv run molecule test -s default - step: - name: jira_config/jira_config_props - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/jira_config - - pipenv run molecule test -s jira_config_props + name: jira_config/jira_config_props + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/jira_config + - pipenv run molecule test -s jira_config_props - step: - name: jira_config/password_char_escaping - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/jira_config - - pipenv run molecule test -s password_char_escaping + name: jira_config/password_char_escaping + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/jira_config + - pipenv run molecule test -s password_char_escaping - step: - name: linux_common/default - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/linux_common - - pipenv run molecule test -s default + name: linux_common/default + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/linux_common + - pipenv run molecule test -s default - step: - name: product_common/default - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_common - - pipenv run molecule test -s default + name: product_common/default + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_common + - pipenv run molecule test -s default - step: - name: product_common/system_jdk - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_common - - pipenv run molecule test -s system_jdk + name: product_common/system_jdk + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_common + - pipenv run molecule test -s system_jdk - step: - name: product_install/bitbucket_latest - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s bitbucket_latest + name: product_install/bitbucket_latest + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s bitbucket_latest - step: - name: product_install/confluence_latest - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s confluence_latest + name: product_install/confluence_latest + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s confluence_latest - step: - name: product_install/confluence_version_with_uppercase - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s confluence_version_with_uppercase + name: product_install/confluence_version_with_uppercase + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s confluence_version_with_uppercase - step: - name: product_install/crowd_latest - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s crowd_latest + name: product_install/crowd_latest + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s crowd_latest - step: - name: product_install/default - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s default + name: product_install/default + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s default - step: - name: product_install/jira_all - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_all + name: product_install/jira_all + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_all - step: - name: product_install/jira_cached_with_downgrade - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_cached_with_downgrade + name: product_install/jira_cached_with_downgrade + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_cached_with_downgrade - step: - name: product_install/jira_cached_with_upgrade - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_cached_with_upgrade + name: product_install/jira_cached_with_upgrade + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_cached_with_upgrade - step: - name: product_install/jira_software_latest - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_software_latest + name: product_install/jira_software_latest + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_software_latest - step: - name: product_install/jira_tarball - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_tarball + name: product_install/jira_tarball + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_tarball - step: - name: product_install/jira_tarball_download_url - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_tarball_download_url + name: product_install/jira_tarball_download_url + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_tarball_download_url - step: - name: product_install/jira_version_from_file - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_version_from_file + name: product_install/jira_version_from_file + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_version_from_file - step: - name: product_install/jira_version_latest - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_version_latest + name: product_install/jira_version_latest + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_version_latest - step: - name: product_install/jira_version_override - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s jira_version_override + name: product_install/jira_version_override + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s jira_version_override - step: - name: product_install/servicedesk3 - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s servicedesk3 + name: product_install/servicedesk3 + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s servicedesk3 - step: - name: product_install/servicedesk4 - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s servicedesk4 + name: product_install/servicedesk4 + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s servicedesk4 - step: - name: product_install/servicedesk_latest - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_install - - pipenv run molecule test -s servicedesk_latest + name: product_install/servicedesk_latest + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_install + - pipenv run molecule test -s servicedesk_latest - step: - name: product_startup/bitbucket - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_startup - - pipenv run molecule test -s bitbucket + name: product_startup/bitbucket + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_startup + - pipenv run molecule test -s bitbucket - step: - name: product_startup/default - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_startup - - pipenv run molecule test -s default + name: product_startup/default + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_startup + - pipenv run molecule test -s default - step: - name: product_startup/startup_restart_false - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_startup - - pipenv run molecule test -s startup_restart_false + name: product_startup/startup_restart_false + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_startup + - pipenv run molecule test -s startup_restart_false - step: - name: product_startup/synchrony - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/product_startup - - pipenv run molecule test -s synchrony + name: product_startup/synchrony + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/product_startup + - pipenv run molecule test -s synchrony - step: - name: Run Snyk security scan - services: - - docker - script: - - ./bin/install-ansible --dev - - apt-get update && apt-get install -y npm - - npm install -g snyk - - snyk auth $SNYK_TOKEN - - pipenv run snyk monitor --severity-threshold=high --project-name=dc-deployments-automation + name: Run Snyk security scan + services: + - docker + script: + - ./bin/install-ansible --dev + - apt-get update && apt-get install -y npm + - npm install -g snyk + - snyk auth $SNYK_TOKEN + - pipenv run snyk monitor --severity-threshold=high --project-name=dc-deployments-automation diff --git a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 index c115b62..9363d0e 100644 --- a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 +++ b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 @@ -37,25 +37,25 @@ pipelines: - parallel: {% for spath in scenario_paths %} - step: - name: {{ spath.parts[2] }}/{{ spath.parts[4] }} - caches: - - ansible-collections - services: - - docker - script: - - export ANSIBLE_CONFIG=./ansible.cfg - - ./bin/install-ansible --dev - - cd roles/{{ spath.parts[2] }} - - pipenv run molecule test -s {{ spath.parts[4] }} + name: {{ spath.parts[2] }}/{{ spath.parts[4] }} + caches: + - ansible-collections + services: + - docker + script: + - export ANSIBLE_CONFIG=./ansible.cfg + - ./bin/install-ansible --dev + - cd roles/{{ spath.parts[2] }} + - pipenv run molecule test -s {{ spath.parts[4] }} {% endfor %} - step: - name: Run Snyk security scan - services: - - docker - script: - - ./bin/install-ansible --dev - - apt-get update && apt-get install -y npm - - npm install -g snyk - - snyk auth $SNYK_TOKEN - - pipenv run snyk monitor --severity-threshold=high --project-name=dc-deployments-automation + name: Run Snyk security scan + services: + - docker + script: + - ./bin/install-ansible --dev + - apt-get update && apt-get install -y npm + - npm install -g snyk + - snyk auth $SNYK_TOKEN + - pipenv run snyk monitor --severity-threshold=high --project-name=dc-deployments-automation From 3c464d775646ad4062df22dc88825c19ba935c76 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 18:21:12 -0500 Subject: [PATCH 12/27] add docker cache --- bitbucket-pipelines.yml | 40 +++++++++++++++++++ .../templates/bitbucket-pipelines.yml.j2 | 3 ++ 2 files changed, 43 insertions(+) diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 2998651..93d1119 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -39,6 +39,7 @@ pipelines: name: aws_common/cw-disabled caches: - ansible-collections + - docker services: - docker script: @@ -50,6 +51,7 @@ pipelines: name: aws_common/default caches: - ansible-collections + - docker services: - docker script: @@ -61,6 +63,7 @@ pipelines: name: aws_common/logs-disabled caches: - ansible-collections + - docker services: - docker script: @@ -72,6 +75,7 @@ pipelines: name: bitbucket_config/default caches: - ansible-collections + - docker services: - docker script: @@ -83,6 +87,7 @@ pipelines: name: bitbucket_config/iam_elasticsearch caches: - ansible-collections + - docker services: - docker script: @@ -94,6 +99,7 @@ pipelines: name: confluence_config/aurora caches: - ansible-collections + - docker services: - docker script: @@ -105,6 +111,7 @@ pipelines: name: confluence_config/default caches: - ansible-collections + - docker services: - docker script: @@ -116,6 +123,7 @@ pipelines: name: confluence_config/password_char_escaping caches: - ansible-collections + - docker services: - docker script: @@ -127,6 +135,7 @@ pipelines: name: confluence_config/system_jdk caches: - ansible-collections + - docker services: - docker script: @@ -138,6 +147,7 @@ pipelines: name: diy_backup/default caches: - ansible-collections + - docker services: - docker script: @@ -149,6 +159,7 @@ pipelines: name: jira_config/aurora caches: - ansible-collections + - docker services: - docker script: @@ -160,6 +171,7 @@ pipelines: name: jira_config/default caches: - ansible-collections + - docker services: - docker script: @@ -171,6 +183,7 @@ pipelines: name: jira_config/jira_config_props caches: - ansible-collections + - docker services: - docker script: @@ -182,6 +195,7 @@ pipelines: name: jira_config/password_char_escaping caches: - ansible-collections + - docker services: - docker script: @@ -193,6 +207,7 @@ pipelines: name: linux_common/default caches: - ansible-collections + - docker services: - docker script: @@ -204,6 +219,7 @@ pipelines: name: product_common/default caches: - ansible-collections + - docker services: - docker script: @@ -215,6 +231,7 @@ pipelines: name: product_common/system_jdk caches: - ansible-collections + - docker services: - docker script: @@ -226,6 +243,7 @@ pipelines: name: product_install/bitbucket_latest caches: - ansible-collections + - docker services: - docker script: @@ -237,6 +255,7 @@ pipelines: name: product_install/confluence_latest caches: - ansible-collections + - docker services: - docker script: @@ -248,6 +267,7 @@ pipelines: name: product_install/confluence_version_with_uppercase caches: - ansible-collections + - docker services: - docker script: @@ -259,6 +279,7 @@ pipelines: name: product_install/crowd_latest caches: - ansible-collections + - docker services: - docker script: @@ -270,6 +291,7 @@ pipelines: name: product_install/default caches: - ansible-collections + - docker services: - docker script: @@ -281,6 +303,7 @@ pipelines: name: product_install/jira_all caches: - ansible-collections + - docker services: - docker script: @@ -292,6 +315,7 @@ pipelines: name: product_install/jira_cached_with_downgrade caches: - ansible-collections + - docker services: - docker script: @@ -303,6 +327,7 @@ pipelines: name: product_install/jira_cached_with_upgrade caches: - ansible-collections + - docker services: - docker script: @@ -314,6 +339,7 @@ pipelines: name: product_install/jira_software_latest caches: - ansible-collections + - docker services: - docker script: @@ -325,6 +351,7 @@ pipelines: name: product_install/jira_tarball caches: - ansible-collections + - docker services: - docker script: @@ -336,6 +363,7 @@ pipelines: name: product_install/jira_tarball_download_url caches: - ansible-collections + - docker services: - docker script: @@ -347,6 +375,7 @@ pipelines: name: product_install/jira_version_from_file caches: - ansible-collections + - docker services: - docker script: @@ -358,6 +387,7 @@ pipelines: name: product_install/jira_version_latest caches: - ansible-collections + - docker services: - docker script: @@ -369,6 +399,7 @@ pipelines: name: product_install/jira_version_override caches: - ansible-collections + - docker services: - docker script: @@ -380,6 +411,7 @@ pipelines: name: product_install/servicedesk3 caches: - ansible-collections + - docker services: - docker script: @@ -391,6 +423,7 @@ pipelines: name: product_install/servicedesk4 caches: - ansible-collections + - docker services: - docker script: @@ -402,6 +435,7 @@ pipelines: name: product_install/servicedesk_latest caches: - ansible-collections + - docker services: - docker script: @@ -413,6 +447,7 @@ pipelines: name: product_startup/bitbucket caches: - ansible-collections + - docker services: - docker script: @@ -424,6 +459,7 @@ pipelines: name: product_startup/default caches: - ansible-collections + - docker services: - docker script: @@ -435,6 +471,7 @@ pipelines: name: product_startup/startup_restart_false caches: - ansible-collections + - docker services: - docker script: @@ -446,6 +483,7 @@ pipelines: name: product_startup/synchrony caches: - ansible-collections + - docker services: - docker script: @@ -456,6 +494,8 @@ pipelines: - step: name: Run Snyk security scan + caches: + - docker services: - docker script: diff --git a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 index 9363d0e..c2db6aa 100644 --- a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 +++ b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 @@ -40,6 +40,7 @@ pipelines: name: {{ spath.parts[2] }}/{{ spath.parts[4] }} caches: - ansible-collections + - docker services: - docker script: @@ -51,6 +52,8 @@ pipelines: - step: name: Run Snyk security scan + caches: + - docker services: - docker script: From 2a49b6f91e61416840e747a79fb5c0a81ab8eb23 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 18:28:31 -0500 Subject: [PATCH 13/27] add pip and node caches --- bitbucket-pipelines.yml | 40 +++++++++++++++++++ .../templates/bitbucket-pipelines.yml.j2 | 3 ++ 2 files changed, 43 insertions(+) diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 93d1119..2be4b7f 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -40,6 +40,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -52,6 +53,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -64,6 +66,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -76,6 +79,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -88,6 +92,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -100,6 +105,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -112,6 +118,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -124,6 +131,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -136,6 +144,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -148,6 +157,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -160,6 +170,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -172,6 +183,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -184,6 +196,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -196,6 +209,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -208,6 +222,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -220,6 +235,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -232,6 +248,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -244,6 +261,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -256,6 +274,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -268,6 +287,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -280,6 +300,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -292,6 +313,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -304,6 +326,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -316,6 +339,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -328,6 +352,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -340,6 +365,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -352,6 +378,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -364,6 +391,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -376,6 +404,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -388,6 +417,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -400,6 +430,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -412,6 +443,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -424,6 +456,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -436,6 +469,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -448,6 +482,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -460,6 +495,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -472,6 +508,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -484,6 +521,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -496,6 +534,8 @@ pipelines: name: Run Snyk security scan caches: - docker + - pip + - node services: - docker script: diff --git a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 index c2db6aa..2e89026 100644 --- a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 +++ b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 @@ -41,6 +41,7 @@ pipelines: caches: - ansible-collections - docker + - pip services: - docker script: @@ -54,6 +55,8 @@ pipelines: name: Run Snyk security scan caches: - docker + - pip + - node services: - docker script: From c426c20ca33a3728474624b7ef7a0a21dae61df1 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 18:29:07 -0500 Subject: [PATCH 14/27] fix ansible config for snyk step --- bitbucket-pipelines.yml | 1 + pipeline_generator/templates/bitbucket-pipelines.yml.j2 | 1 + 2 files changed, 2 insertions(+) diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 2be4b7f..30abc50 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -539,6 +539,7 @@ pipelines: services: - docker script: + - export ANSIBLE_CONFIG=./ansible.cfg - ./bin/install-ansible --dev - apt-get update && apt-get install -y npm - npm install -g snyk diff --git a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 index 2e89026..f28c935 100644 --- a/pipeline_generator/templates/bitbucket-pipelines.yml.j2 +++ b/pipeline_generator/templates/bitbucket-pipelines.yml.j2 @@ -60,6 +60,7 @@ pipelines: services: - docker script: + - export ANSIBLE_CONFIG=./ansible.cfg - ./bin/install-ansible --dev - apt-get update && apt-get install -y npm - npm install -g snyk From 10e6b3eefe7487d42e110f1971ec6e90b8dcedce Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 18:36:39 -0500 Subject: [PATCH 15/27] move molecule dependency management to project-level config; disable molecule dependency management --- .config/molecule/config.yml | 4 ++++ roles/aws_common/molecule/cw-disabled/molecule.yml | 2 -- roles/aws_common/molecule/default/molecule.yml | 2 -- roles/aws_common/molecule/logs-disabled/molecule.yml | 2 -- roles/bitbucket_config/molecule/default/molecule.yml | 2 -- .../bitbucket_config/molecule/iam_elasticsearch/molecule.yml | 2 -- roles/confluence_config/molecule/aurora/molecule.yml | 2 -- roles/confluence_config/molecule/default/molecule.yml | 2 -- .../molecule/password_char_escaping/molecule.yml | 2 -- roles/confluence_config/molecule/system_jdk/molecule.yml | 2 -- roles/diy_backup/molecule/default/molecule.yml | 2 -- roles/jira_config/molecule/aurora/molecule.yml | 2 -- roles/jira_config/molecule/default/molecule.yml | 2 -- roles/jira_config/molecule/jira_config_props/molecule.yml | 2 -- .../jira_config/molecule/password_char_escaping/molecule.yml | 2 -- roles/linux_common/molecule/default/molecule.yml | 2 -- roles/product_common/molecule/default/molecule.yml | 2 -- roles/product_common/molecule/system_jdk/molecule.yml | 2 -- roles/product_install/molecule/bitbucket_latest/molecule.yml | 2 -- roles/product_install/molecule/confluence_latest/molecule.yml | 2 -- .../molecule/confluence_version_with_uppercase/molecule.yml | 2 -- roles/product_install/molecule/crowd_latest/molecule.yml | 2 -- roles/product_install/molecule/default/molecule.yml | 2 -- roles/product_install/molecule/jira_all/molecule.yml | 2 -- .../molecule/jira_cached_with_downgrade/molecule.yml | 2 -- .../molecule/jira_cached_with_upgrade/molecule.yml | 2 -- .../molecule/jira_software_latest/molecule.yml | 2 -- roles/product_install/molecule/jira_tarball/molecule.yml | 2 -- .../molecule/jira_tarball_download_url/molecule.yml | 2 -- .../molecule/jira_version_from_file/molecule.yml | 2 -- .../product_install/molecule/jira_version_latest/molecule.yml | 2 -- .../molecule/jira_version_override/molecule.yml | 2 -- roles/product_install/molecule/servicedesk3/molecule.yml | 2 -- roles/product_install/molecule/servicedesk4/molecule.yml | 2 -- .../product_install/molecule/servicedesk_latest/molecule.yml | 2 -- roles/product_startup/molecule/bitbucket/molecule.yml | 2 -- roles/product_startup/molecule/default/molecule.yml | 2 -- .../molecule/startup_restart_false/molecule.yml | 2 -- roles/product_startup/molecule/synchrony/molecule.yml | 2 -- 39 files changed, 4 insertions(+), 76 deletions(-) create mode 100644 .config/molecule/config.yml diff --git a/.config/molecule/config.yml b/.config/molecule/config.yml new file mode 100644 index 0000000..b732dc8 --- /dev/null +++ b/.config/molecule/config.yml @@ -0,0 +1,4 @@ +--- +dependency: + enabled: false +prerun: false diff --git a/roles/aws_common/molecule/cw-disabled/molecule.yml b/roles/aws_common/molecule/cw-disabled/molecule.yml index cd713bf..792e5de 100644 --- a/roles/aws_common/molecule/cw-disabled/molecule.yml +++ b/roles/aws_common/molecule/cw-disabled/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/aws_common/molecule/default/molecule.yml b/roles/aws_common/molecule/default/molecule.yml index cd713bf..792e5de 100644 --- a/roles/aws_common/molecule/default/molecule.yml +++ b/roles/aws_common/molecule/default/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/aws_common/molecule/logs-disabled/molecule.yml b/roles/aws_common/molecule/logs-disabled/molecule.yml index cd713bf..792e5de 100644 --- a/roles/aws_common/molecule/logs-disabled/molecule.yml +++ b/roles/aws_common/molecule/logs-disabled/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/bitbucket_config/molecule/default/molecule.yml b/roles/bitbucket_config/molecule/default/molecule.yml index 46478dd..52878c5 100644 --- a/roles/bitbucket_config/molecule/default/molecule.yml +++ b/roles/bitbucket_config/molecule/default/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/bitbucket_config/molecule/iam_elasticsearch/molecule.yml b/roles/bitbucket_config/molecule/iam_elasticsearch/molecule.yml index 46478dd..52878c5 100644 --- a/roles/bitbucket_config/molecule/iam_elasticsearch/molecule.yml +++ b/roles/bitbucket_config/molecule/iam_elasticsearch/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/confluence_config/molecule/aurora/molecule.yml b/roles/confluence_config/molecule/aurora/molecule.yml index 37870de..60cba25 100644 --- a/roles/confluence_config/molecule/aurora/molecule.yml +++ b/roles/confluence_config/molecule/aurora/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/confluence_config/molecule/default/molecule.yml b/roles/confluence_config/molecule/default/molecule.yml index 37870de..60cba25 100644 --- a/roles/confluence_config/molecule/default/molecule.yml +++ b/roles/confluence_config/molecule/default/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/confluence_config/molecule/password_char_escaping/molecule.yml b/roles/confluence_config/molecule/password_char_escaping/molecule.yml index d6f2454..f968627 100644 --- a/roles/confluence_config/molecule/password_char_escaping/molecule.yml +++ b/roles/confluence_config/molecule/password_char_escaping/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker diff --git a/roles/confluence_config/molecule/system_jdk/molecule.yml b/roles/confluence_config/molecule/system_jdk/molecule.yml index 37870de..60cba25 100644 --- a/roles/confluence_config/molecule/system_jdk/molecule.yml +++ b/roles/confluence_config/molecule/system_jdk/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/diy_backup/molecule/default/molecule.yml b/roles/diy_backup/molecule/default/molecule.yml index 46478dd..52878c5 100644 --- a/roles/diy_backup/molecule/default/molecule.yml +++ b/roles/diy_backup/molecule/default/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/jira_config/molecule/aurora/molecule.yml b/roles/jira_config/molecule/aurora/molecule.yml index 46478dd..52878c5 100644 --- a/roles/jira_config/molecule/aurora/molecule.yml +++ b/roles/jira_config/molecule/aurora/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/jira_config/molecule/default/molecule.yml b/roles/jira_config/molecule/default/molecule.yml index 46478dd..52878c5 100644 --- a/roles/jira_config/molecule/default/molecule.yml +++ b/roles/jira_config/molecule/default/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/jira_config/molecule/jira_config_props/molecule.yml b/roles/jira_config/molecule/jira_config_props/molecule.yml index 46478dd..52878c5 100644 --- a/roles/jira_config/molecule/jira_config_props/molecule.yml +++ b/roles/jira_config/molecule/jira_config_props/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/jira_config/molecule/password_char_escaping/molecule.yml b/roles/jira_config/molecule/password_char_escaping/molecule.yml index 46478dd..52878c5 100644 --- a/roles/jira_config/molecule/password_char_escaping/molecule.yml +++ b/roles/jira_config/molecule/password_char_escaping/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/linux_common/molecule/default/molecule.yml b/roles/linux_common/molecule/default/molecule.yml index ff7cd88..ab5b097 100644 --- a/roles/linux_common/molecule/default/molecule.yml +++ b/roles/linux_common/molecule/default/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_common/molecule/default/molecule.yml b/roles/product_common/molecule/default/molecule.yml index 7436661..8ad56a3 100644 --- a/roles/product_common/molecule/default/molecule.yml +++ b/roles/product_common/molecule/default/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_common/molecule/system_jdk/molecule.yml b/roles/product_common/molecule/system_jdk/molecule.yml index 7436661..8ad56a3 100644 --- a/roles/product_common/molecule/system_jdk/molecule.yml +++ b/roles/product_common/molecule/system_jdk/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/bitbucket_latest/molecule.yml b/roles/product_install/molecule/bitbucket_latest/molecule.yml index 37870de..60cba25 100644 --- a/roles/product_install/molecule/bitbucket_latest/molecule.yml +++ b/roles/product_install/molecule/bitbucket_latest/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/confluence_latest/molecule.yml b/roles/product_install/molecule/confluence_latest/molecule.yml index 37870de..60cba25 100644 --- a/roles/product_install/molecule/confluence_latest/molecule.yml +++ b/roles/product_install/molecule/confluence_latest/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/confluence_version_with_uppercase/molecule.yml b/roles/product_install/molecule/confluence_version_with_uppercase/molecule.yml index 37870de..60cba25 100644 --- a/roles/product_install/molecule/confluence_version_with_uppercase/molecule.yml +++ b/roles/product_install/molecule/confluence_version_with_uppercase/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/crowd_latest/molecule.yml b/roles/product_install/molecule/crowd_latest/molecule.yml index 37870de..60cba25 100644 --- a/roles/product_install/molecule/crowd_latest/molecule.yml +++ b/roles/product_install/molecule/crowd_latest/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/default/molecule.yml b/roles/product_install/molecule/default/molecule.yml index ed186d7..47b4f23 100644 --- a/roles/product_install/molecule/default/molecule.yml +++ b/roles/product_install/molecule/default/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/jira_all/molecule.yml b/roles/product_install/molecule/jira_all/molecule.yml index 37870de..60cba25 100644 --- a/roles/product_install/molecule/jira_all/molecule.yml +++ b/roles/product_install/molecule/jira_all/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/jira_cached_with_downgrade/molecule.yml b/roles/product_install/molecule/jira_cached_with_downgrade/molecule.yml index ef18a40..08d47e7 100644 --- a/roles/product_install/molecule/jira_cached_with_downgrade/molecule.yml +++ b/roles/product_install/molecule/jira_cached_with_downgrade/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/jira_cached_with_upgrade/molecule.yml b/roles/product_install/molecule/jira_cached_with_upgrade/molecule.yml index ef18a40..08d47e7 100644 --- a/roles/product_install/molecule/jira_cached_with_upgrade/molecule.yml +++ b/roles/product_install/molecule/jira_cached_with_upgrade/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/jira_software_latest/molecule.yml b/roles/product_install/molecule/jira_software_latest/molecule.yml index 37870de..60cba25 100644 --- a/roles/product_install/molecule/jira_software_latest/molecule.yml +++ b/roles/product_install/molecule/jira_software_latest/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/jira_tarball/molecule.yml b/roles/product_install/molecule/jira_tarball/molecule.yml index ed186d7..47b4f23 100644 --- a/roles/product_install/molecule/jira_tarball/molecule.yml +++ b/roles/product_install/molecule/jira_tarball/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/jira_tarball_download_url/molecule.yml b/roles/product_install/molecule/jira_tarball_download_url/molecule.yml index 37870de..60cba25 100644 --- a/roles/product_install/molecule/jira_tarball_download_url/molecule.yml +++ b/roles/product_install/molecule/jira_tarball_download_url/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/jira_version_from_file/molecule.yml b/roles/product_install/molecule/jira_version_from_file/molecule.yml index ed186d7..47b4f23 100644 --- a/roles/product_install/molecule/jira_version_from_file/molecule.yml +++ b/roles/product_install/molecule/jira_version_from_file/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/jira_version_latest/molecule.yml b/roles/product_install/molecule/jira_version_latest/molecule.yml index ed186d7..47b4f23 100644 --- a/roles/product_install/molecule/jira_version_latest/molecule.yml +++ b/roles/product_install/molecule/jira_version_latest/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/jira_version_override/molecule.yml b/roles/product_install/molecule/jira_version_override/molecule.yml index ed186d7..47b4f23 100644 --- a/roles/product_install/molecule/jira_version_override/molecule.yml +++ b/roles/product_install/molecule/jira_version_override/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/servicedesk3/molecule.yml b/roles/product_install/molecule/servicedesk3/molecule.yml index 6d1a5a9..71b0515 100644 --- a/roles/product_install/molecule/servicedesk3/molecule.yml +++ b/roles/product_install/molecule/servicedesk3/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/servicedesk4/molecule.yml b/roles/product_install/molecule/servicedesk4/molecule.yml index 6d1a5a9..71b0515 100644 --- a/roles/product_install/molecule/servicedesk4/molecule.yml +++ b/roles/product_install/molecule/servicedesk4/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_install/molecule/servicedesk_latest/molecule.yml b/roles/product_install/molecule/servicedesk_latest/molecule.yml index 6d1a5a9..71b0515 100644 --- a/roles/product_install/molecule/servicedesk_latest/molecule.yml +++ b/roles/product_install/molecule/servicedesk_latest/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_startup/molecule/bitbucket/molecule.yml b/roles/product_startup/molecule/bitbucket/molecule.yml index 46478dd..52878c5 100644 --- a/roles/product_startup/molecule/bitbucket/molecule.yml +++ b/roles/product_startup/molecule/bitbucket/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_startup/molecule/default/molecule.yml b/roles/product_startup/molecule/default/molecule.yml index 46478dd..52878c5 100644 --- a/roles/product_startup/molecule/default/molecule.yml +++ b/roles/product_startup/molecule/default/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_startup/molecule/startup_restart_false/molecule.yml b/roles/product_startup/molecule/startup_restart_false/molecule.yml index e288c57..e7fd87d 100644 --- a/roles/product_startup/molecule/startup_restart_false/molecule.yml +++ b/roles/product_startup/molecule/startup_restart_false/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: diff --git a/roles/product_startup/molecule/synchrony/molecule.yml b/roles/product_startup/molecule/synchrony/molecule.yml index 46478dd..52878c5 100644 --- a/roles/product_startup/molecule/synchrony/molecule.yml +++ b/roles/product_startup/molecule/synchrony/molecule.yml @@ -1,6 +1,4 @@ --- -dependency: - name: galaxy driver: name: docker platforms: From 1eb82cba0b817aa56221d853144ea9b9e5e1b617 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Fri, 9 Sep 2022 09:32:39 -0500 Subject: [PATCH 16/27] fix duplicate env definitions --- .../product_startup/molecule/startup_restart_false/molecule.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/product_startup/molecule/startup_restart_false/molecule.yml b/roles/product_startup/molecule/startup_restart_false/molecule.yml index e7fd87d..d2dfab7 100644 --- a/roles/product_startup/molecule/startup_restart_false/molecule.yml +++ b/roles/product_startup/molecule/startup_restart_false/molecule.yml @@ -18,7 +18,6 @@ provisioner: name: ansible env: ANSIBLE_COLLECTIONS_PATH: "../../" - env: ATL_STARTUP_RESTART: "false" options: skip-tags: runtime_pkg From a56025894512991782bd0331fa02fe6984ecb8e5 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 8 Sep 2022 16:48:43 -0500 Subject: [PATCH 17/27] development doc updates; drop python2 dependency for debian/ubuntu hosts (only needed for AL2/yum) --- DEVELOPMENT.md | 50 ++++++++++++++++++++++++++++----------------- bin/install-ansible | 1 - 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 2f75c73..25f0764 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -1,8 +1,9 @@ ## Prerequisites You should have the following software installed: -* Python; 3.x by preference, but 2.7 works. - * You may also need the Python development packages depending on how it’s installed. +* Python; 3.8 or newer + * You may also need the Python development packages depending on how it’s installed + * Note that the runtime still requires Python 2 for certain tasks on Amazon Linux 2, but is not necessary for local development * Python Virtualenv * Docker * Cloudtoken @@ -17,23 +18,24 @@ All other requirements will be installed under Virtualenv. ### Step 1.2: Install development environment dependencies -To ensure compatibility we specify a specific Ansible version; currently 2.7.11 -(some older versions had issues with RDS). We do this with -[Pipenv](https://docs.pipenv.org/) to lock the dependency tree. There are 2 main -ways to do this; either directly if packaged, or via pip... +To ensure compatibility we specify a specific Ansible version; currently +ansible-core 2.13.x. We do this with [Pipenv](https://docs.pipenv.org/) to lock +the dependency tree. There are 2 main ways to do this; either directly if +packaged, or via pip... - # Ubuntu 19.04+, Debian 10+ - sudo apt-get install pipenv python-dev + # Ubuntu 22.04+, Debian 11+ + sudo apt-get install libpq-dev python3-dev python3-pip - # Older versions & RHEL/Amazon Linux, etc. - sudo apt-get install -y python-pip python-dev - # Or... - sudo yum install -y python-pip python-dev - - pip install pipenv + # Amazon Linux 2 + sudo amazon-linux-extras enable python3.8 + sudo yum install gcc libpq-devel python38 python38-pip python38-devel python-lxml # Mac via Homebrew - brew install pipenv + brew install libpq python@X.x # (where "X.x") is 3.8 or newer + echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc # (or other shell profile) + + # Finally + pip3 install pipenv ### Step 1.3: Enter the development environment @@ -44,11 +46,21 @@ development environment: pipenv sync --dev pipenv shell --dev -### Step 1.4: Run some tests against a role +### Step 1.4: Install Ansible collections -[Molecule](https://molecule.readthedocs.io/en/stable/) is a testing framework for Ansible. We use this to test the -functionality of individual and groups of roles, and to ensure cross-platform -compatibility (currently Amazon Linux 2 and Ubuntu LTS). +To save a little time during deployment, we rely directly on ansible-core and a +custom set of collections as opposed to installing the community edition. To that +end, when testing locally, you'll need these collections installed where Ansible +expects them to be; that path is configured ansible.cfg and used automatically +when collections are installed via `ansible-galaxy`: + + ansible-galaxy collection install --upgrade --verbose --requirements-file requirements.yml + +### Step 1.5: Run some tests against a role + +[Molecule](https://molecule.readthedocs.io/en/stable/) is a testing framework for +Ansible. We use this to test the functionality of individual and groups of roles, +and to ensure cross-platform compatibility (currently Amazon Linux 2 and Ubuntu LTS). We’re going to check that the role that downloads the products works for both Jira Core and Confluence, on boths supported Linux distributions. So run the diff --git a/bin/install-ansible b/bin/install-ansible index b662e8b..35d9b38 100755 --- a/bin/install-ansible +++ b/bin/install-ansible @@ -19,7 +19,6 @@ else apt-get update && \ apt-get install -y \ libpq-dev \ - python2 \ python3-dev \ python3-pip fi From 9530650889cd4865d6f9efc1d26a23bbda18a486 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Fri, 9 Sep 2022 12:22:21 -0500 Subject: [PATCH 18/27] fix a regression in crowd config tasks --- roles/crowd_config/tasks/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/roles/crowd_config/tasks/main.yml b/roles/crowd_config/tasks/main.yml index 26b0412..788346e 100644 --- a/roles/crowd_config/tasks/main.yml +++ b/roles/crowd_config/tasks/main.yml @@ -19,7 +19,7 @@ line: '\1Xmx{{ atl_jvm_heap }}\3' backrefs: yes -- name: Set Crowd home directory in crowd-init.properties file +- name: Set Crowd home directory in crowd-init.properties file ansible.builtin.lineinfile: path: "{{ atl_product_installation_versioned }}/crowd-webapp/WEB-INF/classes/crowd-init.properties" line: 'crowd.home={{ atl_product_home }}' @@ -31,8 +31,9 @@ - name: CATALINA_OPTS to list ansible.builtin.set_fact: - catalina_ops_list: "{{ catalina_ops_list | default([]) }} + {{ (item | trim | regex_replace('^-')).split(' -') }}" + catalina_ops_list: "{{ (item | trim | regex_replace('^-')).split(' -') }}" loop: + - '{{ catalina_ops_list | default([]) }}' - '{{ atl_catalina_opts }}' - '{{ atl_catalina_opts_extra }}' From 8c745195c6c9d88ec8a89ad138e6cebc93ca8453 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Thu, 15 Sep 2022 11:08:02 -0500 Subject: [PATCH 19/27] go with psycopg2-binary instead of building psycopg2 --- DEVELOPMENT.md | 10 +-- Pipfile | 2 +- Pipfile.lock | 107 +++++++++++++++++++++------- bin/install-ansible | 3 - roles/linux_common/tasks/main.yml | 1 - roles/linux_common/tasks/ubuntu.yml | 1 - 6 files changed, 90 insertions(+), 34 deletions(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 25f0764..bde5f5b 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -24,15 +24,17 @@ the dependency tree. There are 2 main ways to do this; either directly if packaged, or via pip... # Ubuntu 22.04+, Debian 11+ - sudo apt-get install libpq-dev python3-dev python3-pip + sudo apt-get install python3-dev python3-pip # Amazon Linux 2 sudo amazon-linux-extras enable python3.8 - sudo yum install gcc libpq-devel python38 python38-pip python38-devel python-lxml + sudo yum install python38 python38-pip python38-devel python-lxml # Mac via Homebrew - brew install libpq python@X.x # (where "X.x") is 3.8 or newer - echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc # (or other shell profile) + brew install libpq openssl@3 python@X.x # (where "X.x") is 3.8 or newer + export PATH="/opt/homebrew/opt/libpq/bin:$PATH" + export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib" + export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include" # Finally pip3 install pipenv diff --git a/Pipfile b/Pipfile index 6cc1cd6..dd7e407 100644 --- a/Pipfile +++ b/Pipfile @@ -7,7 +7,7 @@ name = "pypi" ansible-core = "==2.13.3" boto3 = "==1.24.68" botocore = "==1.27.68" -psycopg2 = "==2.9.3" +psycopg2-binary = "==2.9.3" [dev-packages] molecule = "==4.0.1" diff --git a/Pipfile.lock b/Pipfile.lock index bfa3662..6c8d84b 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "6f379b3231d1e4ad27a998f4cd101e0c9bcaaf5827a76948b98768fd1b37e1d7" + "sha256": "6a4d6c61ccf77672cba21bd8ada4d770b09482f85d0275eb439ccf68089b8f52" }, "pipfile-spec": 6, "requires": { @@ -211,19 +211,64 @@ "markers": "python_version >= '3.6'", "version": "==21.3" }, - "psycopg2": { + "psycopg2-binary": { "hashes": [ - "sha256:06f32425949bd5fe8f625c49f17ebb9784e1e4fe928b7cce72edc36fb68e4c0c", - "sha256:0762c27d018edbcb2d34d51596e4346c983bd27c330218c56c4dc25ef7e819bf", - "sha256:083707a696e5e1c330af2508d8fab36f9700b26621ccbcb538abe22e15485362", - "sha256:34b33e0162cfcaad151f249c2649fd1030010c16f4bbc40a604c1cb77173dcf7", - "sha256:4295093a6ae3434d33ec6baab4ca5512a5082cc43c0505293087b8a46d108461", - "sha256:8cf3878353cc04b053822896bc4922b194792df9df2f1ad8da01fb3043602126", - "sha256:8e841d1bf3434da985cc5ef13e6f75c8981ced601fd70cc6bf33351b91562981", - "sha256:9572e08b50aed176ef6d66f15a21d823bb6f6d23152d35e8451d7d2d18fdac56", - "sha256:a81e3866f99382dfe8c15a151f1ca5fde5815fde879348fe5a9884a7c092a305", - "sha256:cb10d44e6694d763fa1078a26f7f6137d69f555a78ec85dc2ef716c37447e4b2", - "sha256:d3ca6421b942f60c008f81a3541e8faf6865a28d5a9b48544b0ee4f40cac7fca" + "sha256:01310cf4cf26db9aea5158c217caa92d291f0500051a6469ac52166e1a16f5b7", + "sha256:083a55275f09a62b8ca4902dd11f4b33075b743cf0d360419e2051a8a5d5ff76", + "sha256:090f3348c0ab2cceb6dfbe6bf721ef61262ddf518cd6cc6ecc7d334996d64efa", + "sha256:0a29729145aaaf1ad8bafe663131890e2111f13416b60e460dae0a96af5905c9", + "sha256:0c9d5450c566c80c396b7402895c4369a410cab5a82707b11aee1e624da7d004", + "sha256:10bb90fb4d523a2aa67773d4ff2b833ec00857f5912bafcfd5f5414e45280fb1", + "sha256:12b11322ea00ad8db8c46f18b7dfc47ae215e4df55b46c67a94b4effbaec7094", + "sha256:152f09f57417b831418304c7f30d727dc83a12761627bb826951692cc6491e57", + "sha256:15803fa813ea05bef089fa78835118b5434204f3a17cb9f1e5dbfd0b9deea5af", + "sha256:15c4e4cfa45f5a60599d9cec5f46cd7b1b29d86a6390ec23e8eebaae84e64554", + "sha256:183a517a3a63503f70f808b58bfbf962f23d73b6dccddae5aa56152ef2bcb232", + "sha256:1f14c8b0942714eb3c74e1e71700cbbcb415acbc311c730370e70c578a44a25c", + "sha256:1f6b813106a3abdf7b03640d36e24669234120c72e91d5cbaeb87c5f7c36c65b", + "sha256:280b0bb5cbfe8039205c7981cceb006156a675362a00fe29b16fbc264e242834", + "sha256:2d872e3c9d5d075a2e104540965a1cf898b52274a5923936e5bfddb58c59c7c2", + "sha256:2f9ffd643bc7349eeb664eba8864d9e01f057880f510e4681ba40a6532f93c71", + "sha256:3303f8807f342641851578ee7ed1f3efc9802d00a6f83c101d21c608cb864460", + "sha256:35168209c9d51b145e459e05c31a9eaeffa9a6b0fd61689b48e07464ffd1a83e", + "sha256:3a79d622f5206d695d7824cbf609a4f5b88ea6d6dab5f7c147fc6d333a8787e4", + "sha256:404224e5fef3b193f892abdbf8961ce20e0b6642886cfe1fe1923f41aaa75c9d", + "sha256:46f0e0a6b5fa5851bbd9ab1bc805eef362d3a230fbdfbc209f4a236d0a7a990d", + "sha256:47133f3f872faf28c1e87d4357220e809dfd3fa7c64295a4a148bcd1e6e34ec9", + "sha256:526ea0378246d9b080148f2d6681229f4b5964543c170dd10bf4faaab6e0d27f", + "sha256:53293533fcbb94c202b7c800a12c873cfe24599656b341f56e71dd2b557be063", + "sha256:539b28661b71da7c0e428692438efbcd048ca21ea81af618d845e06ebfd29478", + "sha256:57804fc02ca3ce0dbfbef35c4b3a4a774da66d66ea20f4bda601294ad2ea6092", + "sha256:63638d875be8c2784cfc952c9ac34e2b50e43f9f0a0660b65e2a87d656b3116c", + "sha256:6472a178e291b59e7f16ab49ec8b4f3bdada0a879c68d3817ff0963e722a82ce", + "sha256:68641a34023d306be959101b345732360fc2ea4938982309b786f7be1b43a4a1", + "sha256:6e82d38390a03da28c7985b394ec3f56873174e2c88130e6966cb1c946508e65", + "sha256:761df5313dc15da1502b21453642d7599d26be88bff659382f8f9747c7ebea4e", + "sha256:7af0dd86ddb2f8af5da57a976d27cd2cd15510518d582b478fbb2292428710b4", + "sha256:7b1e9b80afca7b7a386ef087db614faebbf8839b7f4db5eb107d0f1a53225029", + "sha256:874a52ecab70af13e899f7847b3e074eeb16ebac5615665db33bce8a1009cf33", + "sha256:887dd9aac71765ac0d0bac1d0d4b4f2c99d5f5c1382d8b770404f0f3d0ce8a39", + "sha256:8b344adbb9a862de0c635f4f0425b7958bf5a4b927c8594e6e8d261775796d53", + "sha256:8fc53f9af09426a61db9ba357865c77f26076d48669f2e1bb24d85a22fb52307", + "sha256:91920527dea30175cc02a1099f331aa8c1ba39bf8b7762b7b56cbf54bc5cce42", + "sha256:93cd1967a18aa0edd4b95b1dfd554cf15af657cb606280996d393dadc88c3c35", + "sha256:99485cab9ba0fa9b84f1f9e1fef106f44a46ef6afdeec8885e0b88d0772b49e8", + "sha256:9d29409b625a143649d03d0fd7b57e4b92e0ecad9726ba682244b73be91d2fdb", + "sha256:a29b3ca4ec9defec6d42bf5feb36bb5817ba3c0230dd83b4edf4bf02684cd0ae", + "sha256:a9e1f75f96ea388fbcef36c70640c4efbe4650658f3d6a2967b4cc70e907352e", + "sha256:accfe7e982411da3178ec690baaceaad3c278652998b2c45828aaac66cd8285f", + "sha256:adf20d9a67e0b6393eac162eb81fb10bc9130a80540f4df7e7355c2dd4af9fba", + "sha256:af9813db73395fb1fc211bac696faea4ca9ef53f32dc0cfa27e4e7cf766dcf24", + "sha256:b1c8068513f5b158cf7e29c43a77eb34b407db29aca749d3eb9293ee0d3103ca", + "sha256:bda845b664bb6c91446ca9609fc69f7db6c334ec5e4adc87571c34e4f47b7ddb", + "sha256:c381bda330ddf2fccbafab789d83ebc6c53db126e4383e73794c74eedce855ef", + "sha256:c3ae8e75eb7160851e59adc77b3a19a976e50622e44fd4fd47b8b18208189d42", + "sha256:d1c1b569ecafe3a69380a94e6ae09a4789bbb23666f3d3a08d06bbd2451f5ef1", + "sha256:def68d7c21984b0f8218e8a15d514f714d96904265164f75f8d3a70f9c295667", + "sha256:dffc08ca91c9ac09008870c9eb77b00a46b3378719584059c034b8945e26b272", + "sha256:e3699852e22aa68c10de06524a3721ade969abf382da95884e6a10ff798f9281", + "sha256:e847774f8ffd5b398a75bc1c18fbb56564cda3d629fe68fd81971fece2d3c67e", + "sha256:ffb7a888a047696e7f8240d649b43fb3644f14f0ee229077e7f6b9f9081635bd" ], "index": "pypi", "version": "==2.9.3" @@ -253,6 +298,7 @@ }, "pyyaml": { "hashes": [ + "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf", "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", @@ -264,26 +310,32 @@ "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", + "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782", "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", + "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1", "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", + "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d", "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", + "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7", "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", + "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358", "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", + "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f", "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" ], @@ -363,11 +415,11 @@ }, "certifi": { "hashes": [ - "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d", - "sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412" + "sha256:36973885b9542e6bd01dea287b2b4b3b21236307c56324fcc3f1160f2d655ed5", + "sha256:e232343de1ab72c2aa521b625c80f699e356830fd0e2c620b465b304b17b0516" ], "markers": "python_version >= '3.6'", - "version": "==2022.6.15" + "version": "==2022.9.14" }, "chardet": { "hashes": [ @@ -433,11 +485,11 @@ }, "idna": { "hashes": [ - "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", - "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" + "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", + "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2" ], "markers": "python_version >= '3.5'", - "version": "==3.3" + "version": "==3.4" }, "importlib-resources": { "hashes": [ @@ -471,11 +523,11 @@ }, "jsonschema": { "hashes": [ - "sha256:21f4979391bdceb044e502fd8e79e738c0cdfbdc8773f9a49b5769461e82fe1e", - "sha256:2df0fab225abb3b41967bb3a46fd37dc74b1536b5296d0b1c2078cd072adf0f7" + "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23", + "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9" ], "markers": "python_version >= '3.7'", - "version": "==4.15.0" + "version": "==4.16.0" }, "markupsafe": { "hashes": [ @@ -648,6 +700,7 @@ }, "pyyaml": { "hashes": [ + "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf", "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", @@ -659,26 +712,32 @@ "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", + "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782", "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", + "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1", "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", + "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d", "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", + "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7", "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", + "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358", "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", + "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f", "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" ], @@ -690,7 +749,7 @@ "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983", "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349" ], - "markers": "python_version >= '3.7' and python_full_version < '4.0.0'", + "markers": "python_version >= '3.7' and python_version < '4'", "version": "==2.28.1" }, "rich": { @@ -698,7 +757,7 @@ "sha256:2eb4e6894cde1e017976d2975ac210ef515d7548bc595ba20e195fb9628acdeb", "sha256:63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca" ], - "markers": "python_full_version >= '3.6.3' and python_full_version < '4.0.0'", + "markers": "python_version < '4' and python_full_version >= '3.6.3'", "version": "==12.5.1" }, "setuptools": { diff --git a/bin/install-ansible b/bin/install-ansible index 35d9b38..8544546 100755 --- a/bin/install-ansible +++ b/bin/install-ansible @@ -7,8 +7,6 @@ if [[ $ID = "amzn" ]]; then amazon-linux-extras enable python3.8 yum clean metadata yum install -y \ - gcc \ - libpq-devel \ python2-pip \ python38 \ python38-pip \ @@ -18,7 +16,6 @@ else # FIXME: Currently assumes Debian-based apt-get update && \ apt-get install -y \ - libpq-dev \ python3-dev \ python3-pip fi diff --git a/roles/linux_common/tasks/main.yml b/roles/linux_common/tasks/main.yml index 01ccf8b..c46003f 100644 --- a/roles/linux_common/tasks/main.yml +++ b/roles/linux_common/tasks/main.yml @@ -13,7 +13,6 @@ - curl - unzip - fontconfig - - python-psycopg2 - name: Create product group ansible.builtin.group: diff --git a/roles/linux_common/tasks/ubuntu.yml b/roles/linux_common/tasks/ubuntu.yml index 0bb54cf..1071e28 100644 --- a/roles/linux_common/tasks/ubuntu.yml +++ b/roles/linux_common/tasks/ubuntu.yml @@ -3,7 +3,6 @@ - name: Install common Ubuntu support packages ansible.builtin.apt: name: - - python3-psycopg2 - libxml2-utils - git - fontconfig From baef22e7daad6e62036142f6265e16f095b3b1ef Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Tue, 20 Sep 2022 09:18:45 -0500 Subject: [PATCH 20/27] fix an issue with CATALINA_OPTS management in crowd --- roles/crowd_config/tasks/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/roles/crowd_config/tasks/main.yml b/roles/crowd_config/tasks/main.yml index 788346e..97b06e4 100644 --- a/roles/crowd_config/tasks/main.yml +++ b/roles/crowd_config/tasks/main.yml @@ -31,9 +31,8 @@ - name: CATALINA_OPTS to list ansible.builtin.set_fact: - catalina_ops_list: "{{ (item | trim | regex_replace('^-')).split(' -') }}" + catalina_ops_list: "{{ catalina_ops_list | default([]) + (item | trim | regex_replace('^-')).split(' -') }}" loop: - - '{{ catalina_ops_list | default([]) }}' - '{{ atl_catalina_opts }}' - '{{ atl_catalina_opts_extra }}' From 45dbd4839b747324ad010807a671bb12bc96d783 Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Tue, 27 Sep 2022 09:45:04 -0500 Subject: [PATCH 21/27] drop system lxml; install with pipenv instead --- Pipfile | 1 + Pipfile.lock | 131 ++++++++++++++++++++++++++++++-------------- bin/install-ansible | 3 +- 3 files changed, 91 insertions(+), 44 deletions(-) diff --git a/Pipfile b/Pipfile index dd7e407..2b3c189 100644 --- a/Pipfile +++ b/Pipfile @@ -7,6 +7,7 @@ name = "pypi" ansible-core = "==2.13.3" boto3 = "==1.24.68" botocore = "==1.27.68" +lxml = "==4.9.1" psycopg2-binary = "==2.9.3" [dev-packages] diff --git a/Pipfile.lock b/Pipfile.lock index 6c8d84b..2b2c3a5 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "6a4d6c61ccf77672cba21bd8ada4d770b09482f85d0275eb439ccf68089b8f52" + "sha256": "3af793654947c04727fba827090e1750fa2f846a5634c0cb62f2eef9c916465b" }, "pipfile-spec": 6, "requires": { @@ -157,6 +157,82 @@ "markers": "python_version >= '3.7'", "version": "==1.0.1" }, + "lxml": { + "hashes": [ + "sha256:04da965dfebb5dac2619cb90fcf93efdb35b3c6994fea58a157a834f2f94b318", + "sha256:0538747a9d7827ce3e16a8fdd201a99e661c7dee3c96c885d8ecba3c35d1032c", + "sha256:0645e934e940107e2fdbe7c5b6fb8ec6232444260752598bc4d09511bd056c0b", + "sha256:079b68f197c796e42aa80b1f739f058dcee796dc725cc9a1be0cdb08fc45b000", + "sha256:0f3f0059891d3254c7b5fb935330d6db38d6519ecd238ca4fce93c234b4a0f73", + "sha256:10d2017f9150248563bb579cd0d07c61c58da85c922b780060dcc9a3aa9f432d", + "sha256:1355755b62c28950f9ce123c7a41460ed9743c699905cbe664a5bcc5c9c7c7fb", + "sha256:13c90064b224e10c14dcdf8086688d3f0e612db53766e7478d7754703295c7c8", + "sha256:1423631e3d51008871299525b541413c9b6c6423593e89f9c4cfbe8460afc0a2", + "sha256:1436cf0063bba7888e43f1ba8d58824f085410ea2025befe81150aceb123e345", + "sha256:1a7c59c6ffd6ef5db362b798f350e24ab2cfa5700d53ac6681918f314a4d3b94", + "sha256:1e1cf47774373777936c5aabad489fef7b1c087dcd1f426b621fda9dcc12994e", + "sha256:206a51077773c6c5d2ce1991327cda719063a47adc02bd703c56a662cdb6c58b", + "sha256:21fb3d24ab430fc538a96e9fbb9b150029914805d551deeac7d7822f64631dfc", + "sha256:27e590352c76156f50f538dbcebd1925317a0f70540f7dc8c97d2931c595783a", + "sha256:287605bede6bd36e930577c5925fcea17cb30453d96a7b4c63c14a257118dbb9", + "sha256:2aaf6a0a6465d39b5ca69688fce82d20088c1838534982996ec46633dc7ad6cc", + "sha256:32a73c53783becdb7eaf75a2a1525ea8e49379fb7248c3eeefb9412123536387", + "sha256:41fb58868b816c202e8881fd0f179a4644ce6e7cbbb248ef0283a34b73ec73bb", + "sha256:4780677767dd52b99f0af1f123bc2c22873d30b474aa0e2fc3fe5e02217687c7", + "sha256:4878e667ebabe9b65e785ac8da4d48886fe81193a84bbe49f12acff8f7a383a4", + "sha256:487c8e61d7acc50b8be82bda8c8d21d20e133c3cbf41bd8ad7eb1aaeb3f07c97", + "sha256:4beea0f31491bc086991b97517b9683e5cfb369205dac0148ef685ac12a20a67", + "sha256:4cfbe42c686f33944e12f45a27d25a492cc0e43e1dc1da5d6a87cbcaf2e95627", + "sha256:4d5bae0a37af799207140652a700f21a85946f107a199bcb06720b13a4f1f0b7", + "sha256:4e285b5f2bf321fc0857b491b5028c5f276ec0c873b985d58d7748ece1d770dd", + "sha256:57e4d637258703d14171b54203fd6822fda218c6c2658a7d30816b10995f29f3", + "sha256:5974895115737a74a00b321e339b9c3f45c20275d226398ae79ac008d908bff7", + "sha256:5ef87fca280fb15342726bd5f980f6faf8b84a5287fcc2d4962ea8af88b35130", + "sha256:603a464c2e67d8a546ddaa206d98e3246e5db05594b97db844c2f0a1af37cf5b", + "sha256:6653071f4f9bac46fbc30f3c7838b0e9063ee335908c5d61fb7a4a86c8fd2036", + "sha256:6ca2264f341dd81e41f3fffecec6e446aa2121e0b8d026fb5130e02de1402785", + "sha256:6d279033bf614953c3fc4a0aa9ac33a21e8044ca72d4fa8b9273fe75359d5cca", + "sha256:6d949f53ad4fc7cf02c44d6678e7ff05ec5f5552b235b9e136bd52e9bf730b91", + "sha256:6daa662aba22ef3258934105be2dd9afa5bb45748f4f702a3b39a5bf53a1f4dc", + "sha256:6eafc048ea3f1b3c136c71a86db393be36b5b3d9c87b1c25204e7d397cee9536", + "sha256:830c88747dce8a3e7525defa68afd742b4580df6aa2fdd6f0855481e3994d391", + "sha256:86e92728ef3fc842c50a5cb1d5ba2bc66db7da08a7af53fb3da79e202d1b2cd3", + "sha256:8caf4d16b31961e964c62194ea3e26a0e9561cdf72eecb1781458b67ec83423d", + "sha256:8d1a92d8e90b286d491e5626af53afef2ba04da33e82e30744795c71880eaa21", + "sha256:8f0a4d179c9a941eb80c3a63cdb495e539e064f8054230844dcf2fcb812b71d3", + "sha256:9232b09f5efee6a495a99ae6824881940d6447debe272ea400c02e3b68aad85d", + "sha256:927a9dd016d6033bc12e0bf5dee1dde140235fc8d0d51099353c76081c03dc29", + "sha256:93e414e3206779ef41e5ff2448067213febf260ba747fc65389a3ddaa3fb8715", + "sha256:98cafc618614d72b02185ac583c6f7796202062c41d2eeecdf07820bad3295ed", + "sha256:9c3a88d20e4fe4a2a4a84bf439a5ac9c9aba400b85244c63a1ab7088f85d9d25", + "sha256:9f36de4cd0c262dd9927886cc2305aa3f2210db437aa4fed3fb4940b8bf4592c", + "sha256:a60f90bba4c37962cbf210f0188ecca87daafdf60271f4c6948606e4dabf8785", + "sha256:a614e4afed58c14254e67862456d212c4dcceebab2eaa44d627c2ca04bf86837", + "sha256:ae06c1e4bc60ee076292e582a7512f304abdf6c70db59b56745cca1684f875a4", + "sha256:b122a188cd292c4d2fcd78d04f863b789ef43aa129b233d7c9004de08693728b", + "sha256:b570da8cd0012f4af9fa76a5635cd31f707473e65a5a335b186069d5c7121ff2", + "sha256:bcaa1c495ce623966d9fc8a187da80082334236a2a1c7e141763ffaf7a405067", + "sha256:bd34f6d1810d9354dc7e35158aa6cc33456be7706df4420819af6ed966e85448", + "sha256:be9eb06489bc975c38706902cbc6888f39e946b81383abc2838d186f0e8b6a9d", + "sha256:c4b2e0559b68455c085fb0f6178e9752c4be3bba104d6e881eb5573b399d1eb2", + "sha256:c62e8dd9754b7debda0c5ba59d34509c4688f853588d75b53c3791983faa96fc", + "sha256:c852b1530083a620cb0de5f3cd6826f19862bafeaf77586f1aef326e49d95f0c", + "sha256:d9fc0bf3ff86c17348dfc5d322f627d78273eba545db865c3cd14b3f19e57fa5", + "sha256:dad7b164905d3e534883281c050180afcf1e230c3d4a54e8038aa5cfcf312b84", + "sha256:e5f66bdf0976ec667fc4594d2812a00b07ed14d1b44259d19a41ae3fff99f2b8", + "sha256:e8f0c9d65da595cfe91713bc1222af9ecabd37971762cb830dea2fc3b3bb2acf", + "sha256:edffbe3c510d8f4bf8640e02ca019e48a9b72357318383ca60e3330c23aaffc7", + "sha256:eea5d6443b093e1545ad0210e6cf27f920482bfcf5c77cdc8596aec73523bb7e", + "sha256:ef72013e20dd5ba86a8ae1aed7f56f31d3374189aa8b433e7b12ad182c0d2dfb", + "sha256:f05251bbc2145349b8d0b77c0d4e5f3b228418807b1ee27cefb11f69ed3d233b", + "sha256:f1be258c4d3dc609e654a1dc59d37b17d7fef05df912c01fc2e15eb43a9735f3", + "sha256:f9ced82717c7ec65a67667bb05865ffe38af0e835cdd78728f1209c8fffe0cad", + "sha256:fe17d10b97fdf58155f858606bddb4e037b805a60ae023c009f760d8361a4eb8", + "sha256:fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f" + ], + "index": "pypi", + "version": "==4.9.1" + }, "markupsafe": { "hashes": [ "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003", @@ -228,6 +304,7 @@ "sha256:1f6b813106a3abdf7b03640d36e24669234120c72e91d5cbaeb87c5f7c36c65b", "sha256:280b0bb5cbfe8039205c7981cceb006156a675362a00fe29b16fbc264e242834", "sha256:2d872e3c9d5d075a2e104540965a1cf898b52274a5923936e5bfddb58c59c7c2", + "sha256:2f2534ab7dc7e776a263b463a16e189eb30e85ec9bbe1bff9e78dae802608932", "sha256:2f9ffd643bc7349eeb664eba8864d9e01f057880f510e4681ba40a6532f93c71", "sha256:3303f8807f342641851578ee7ed1f3efc9802d00a6f83c101d21c608cb864460", "sha256:35168209c9d51b145e459e05c31a9eaeffa9a6b0fd61689b48e07464ffd1a83e", @@ -260,6 +337,7 @@ "sha256:adf20d9a67e0b6393eac162eb81fb10bc9130a80540f4df7e7355c2dd4af9fba", "sha256:af9813db73395fb1fc211bac696faea4ca9ef53f32dc0cfa27e4e7cf766dcf24", "sha256:b1c8068513f5b158cf7e29c43a77eb34b407db29aca749d3eb9293ee0d3103ca", + "sha256:b3a24a1982ae56461cc24f6680604fffa2c1b818e9dc55680da038792e004d18", "sha256:bda845b664bb6c91446ca9609fc69f7db6c334ec5e4adc87571c34e4f47b7ddb", "sha256:c381bda330ddf2fccbafab789d83ebc6c53db126e4383e73794c74eedce855ef", "sha256:c3ae8e75eb7160851e59adc77b3a19a976e50622e44fd4fd47b8b18208189d42", @@ -267,6 +345,7 @@ "sha256:def68d7c21984b0f8218e8a15d514f714d96904265164f75f8d3a70f9c295667", "sha256:dffc08ca91c9ac09008870c9eb77b00a46b3378719584059c034b8945e26b272", "sha256:e3699852e22aa68c10de06524a3721ade969abf382da95884e6a10ff798f9281", + "sha256:e6aa71ae45f952a2205377773e76f4e3f27951df38e69a4c95440c779e013560", "sha256:e847774f8ffd5b398a75bc1c18fbb56564cda3d629fe68fd81971fece2d3c67e", "sha256:ffb7a888a047696e7f8240d649b43fb3644f14f0ee229077e7f6b9f9081635bd" ], @@ -377,11 +456,11 @@ "develop": { "ansible-compat": { "hashes": [ - "sha256:676db8ec0449d1f07038625b8ebb8ceef5f8ad3a1af3ee82d4ed66b9b04cb6fa", - "sha256:ce69a67785ae96e8962794a47494339991a0ae242ab5dd14a76ee2137d09072e" + "sha256:7a012753a0a02dab2f22b0e574e3e7b00399f660606154474ffe25621fa80d3b", + "sha256:8857b317bf36a00dbb0b06640d19b68bb64f667bf2a5355189f3c5961f4b1c10" ], "markers": "python_version >= '3.8'", - "version": "==2.2.0" + "version": "==2.2.1" }, "arrow": { "hashes": [ @@ -415,11 +494,11 @@ }, "certifi": { "hashes": [ - "sha256:36973885b9542e6bd01dea287b2b4b3b21236307c56324fcc3f1160f2d655ed5", - "sha256:e232343de1ab72c2aa521b625c80f699e356830fd0e2c620b465b304b17b0516" + "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14", + "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382" ], "markers": "python_version >= '3.6'", - "version": "==2022.9.14" + "version": "==2022.9.24" }, "chardet": { "hashes": [ @@ -491,14 +570,6 @@ "markers": "python_version >= '3.5'", "version": "==3.4" }, - "importlib-resources": { - "hashes": [ - "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681", - "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7" - ], - "markers": "python_version < '3.9'", - "version": "==5.9.0" - }, "iniconfig": { "hashes": [ "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3", @@ -599,14 +670,6 @@ "markers": "python_version >= '3.6'", "version": "==21.3" }, - "pkgutil-resolve-name": { - "hashes": [ - "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", - "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e" - ], - "markers": "python_version < '3.9'", - "version": "==1.3.10" - }, "pluggy": { "hashes": [ "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159", @@ -762,11 +825,11 @@ }, "setuptools": { "hashes": [ - "sha256:2e24e0bec025f035a2e72cdd1961119f557d78ad331bb00ff82efb2ab8da8e82", - "sha256:7732871f4f7fa58fb6bdcaeadb0161b2bd046c85905dbaa066bdcbcc81953b57" + "sha256:a8f6e213b4b0661f590ccf40de95d28a177cd747d098624ad3f69c40287297e9", + "sha256:c2d2709550f15aab6c9110196ea312f468f41cd546bceb24127a1be6fdcaeeb1" ], "markers": "python_version >= '3.7'", - "version": "==65.3.0" + "version": "==65.4.0" }, "six": { "hashes": [ @@ -799,14 +862,6 @@ "markers": "python_version >= '3.7'", "version": "==2.0.1" }, - "typing-extensions": { - "hashes": [ - "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02", - "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6" - ], - "markers": "python_version < '3.9'", - "version": "==4.3.0" - }, "urllib3": { "hashes": [ "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e", @@ -822,14 +877,6 @@ ], "markers": "python_version >= '3.7'", "version": "==1.4.1" - }, - "zipp": { - "hashes": [ - "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2", - "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009" - ], - "markers": "python_version < '3.10'", - "version": "==3.8.1" } } } diff --git a/bin/install-ansible b/bin/install-ansible index 8544546..2c8eaa4 100755 --- a/bin/install-ansible +++ b/bin/install-ansible @@ -10,8 +10,7 @@ if [[ $ID = "amzn" ]]; then python2-pip \ python38 \ python38-pip \ - python38-devel \ - python-lxml + python38-devel else # FIXME: Currently assumes Debian-based apt-get update && \ From b28952205d7042be532eb2b4d3b9228eefdbb04a Mon Sep 17 00:00:00 2001 From: Glenn Stewart Date: Thu, 20 Oct 2022 10:55:12 +1100 Subject: [PATCH 22/27] ITPLT-2175 Allow for use of Application Tunnels - https://support.atlassian.com/organization-administration/docs/configure-application-tunnels/ - Confluence --- .../confluence_config/templates/server.xml.j2 | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/roles/confluence_config/templates/server.xml.j2 b/roles/confluence_config/templates/server.xml.j2 index 55f9c25..759d7dd 100644 --- a/roles/confluence_config/templates/server.xml.j2 +++ b/roles/confluence_config/templates/server.xml.j2 @@ -22,13 +22,10 @@ acceptCount="{{ atl_tomcat_acceptcount }}" secure="{{ atl_tomcat_secure }}" scheme="{{ atl_tomcat_scheme }}" - {% if atl_proxy_name is defined and atl_proxy_name != '' %} - proxyName="{{ atl_proxy_name }}" - {% endif %} - {% if atl_proxy_port is defined and atl_proxy_port != '' %} - proxyPort="{{ atl_proxy_port }}" - {% endif %} - + {% if atl_proxy_name is defined and atl_proxy_name != '' -%}proxyName="{{ atl_proxy_name }}" + {% endif -%} + {% if atl_proxy_port is defined and atl_proxy_port != '' -%}proxyPort="{{ atl_proxy_port }}" + {% endif -%} relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>" bindOnInit="false" @@ -40,7 +37,6 @@ {% endif %} + {% if atl_apptunnel_port is defined and atl_apptunnel_port != '' %} + Date: Thu, 20 Oct 2022 12:45:25 +1100 Subject: [PATCH 23/27] =?UTF-8?q?CONFSRVDEV-24831=20Fix=20=E2=80=9Cstruts.?= =?UTF-8?q?multipart.saveDir=20property=20has=20not=20been=20defined?= =?UTF-8?q?=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new property `struts.multipart.saveDir` is required for Confluence 8.0 and later. It is replacement of the legacy property `webwork.multipart.saveDir`. --- roles/confluence_config/templates/confluence.cfg.xml.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/confluence_config/templates/confluence.cfg.xml.j2 b/roles/confluence_config/templates/confluence.cfg.xml.j2 index 949f332..c1d5563 100644 --- a/roles/confluence_config/templates/confluence.cfg.xml.j2 +++ b/roles/confluence_config/templates/confluence.cfg.xml.j2 @@ -10,6 +10,7 @@ postgresql database-type-standard com.atlassian.confluence.impl.hibernate.dialect.PostgreSQLDialect + ${localHome}/temp ${localHome}/temp ${confluenceHome}/attachments From 24da95d6b30d9f83fb9a2c641c037ca2e19d3b85 Mon Sep 17 00:00:00 2001 From: Glenn Stewart Date: Thu, 20 Oct 2022 16:20:12 +1100 Subject: [PATCH 24/27] ITPLT-2175 Allow for use of Application Tunnels - https://support.atlassian.com/organization-administration/docs/configure-application-tunnels/ - Confluence --- roles/confluence_config/templates/server.xml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/confluence_config/templates/server.xml.j2 b/roles/confluence_config/templates/server.xml.j2 index 759d7dd..d004cba 100644 --- a/roles/confluence_config/templates/server.xml.j2 +++ b/roles/confluence_config/templates/server.xml.j2 @@ -53,7 +53,7 @@ minSpareThreads="10" enableLookups="false" acceptCount="10" - URIEncoding="UTF-8" + URIEncoding="UTF-8"/> {% endif %} Date: Wed, 26 Oct 2022 11:50:23 +1100 Subject: [PATCH 25/27] ITPLT-2221 Remove the superfluous slash. The atl_tomcat_contextpath varible already contains a slash --- roles/confluence_config/templates/confluence.cfg.xml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/confluence_config/templates/confluence.cfg.xml.j2 b/roles/confluence_config/templates/confluence.cfg.xml.j2 index c1d5563..7b5dd08 100644 --- a/roles/confluence_config/templates/confluence.cfg.xml.j2 +++ b/roles/confluence_config/templates/confluence.cfg.xml.j2 @@ -39,7 +39,7 @@ {{ atl_aws_stack_name }} 1 {% if atl_tomcat_contextpath is defined and atl_tomcat_contextpath != '' %} - /{{ atl_tomcat_contextpath }} + {{ atl_tomcat_contextpath }} {% endif %} From bf789f9727083f3ec5c003962c2b1dc8ec0d7b13 Mon Sep 17 00:00:00 2001 From: Glenn Stewart Date: Wed, 26 Oct 2022 13:36:38 +1100 Subject: [PATCH 26/27] ITPLT-2221 Molecule test assert changed to ensure context path is with a slash (as it would be when adding cloudformation params) --- roles/confluence_config/molecule/default/tests/test_default.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/confluence_config/molecule/default/tests/test_default.py b/roles/confluence_config/molecule/default/tests/test_default.py index c8fc29a..9bf11b3 100644 --- a/roles/confluence_config/molecule/default/tests/test_default.py +++ b/roles/confluence_config/molecule/default/tests/test_default.py @@ -38,7 +38,7 @@ def test_server_file(host): assert f.exists assert f.contains('Connector port="8080"') assert f.contains('Server port="8005"') - assert f.contains(' Date: Wed, 26 Oct 2022 13:48:28 +1100 Subject: [PATCH 27/27] ITPLT-2221 Molecule test assert changed to ensure context path is with a slash (as it would be when adding cloudformation params) --- roles/confluence_config/molecule/default/converge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/confluence_config/molecule/default/converge.yml b/roles/confluence_config/molecule/default/converge.yml index 636e9aa..5a7ee00 100644 --- a/roles/confluence_config/molecule/default/converge.yml +++ b/roles/confluence_config/molecule/default/converge.yml @@ -16,7 +16,7 @@ atl_autologin_cookie_age: "COOKIEAGE" atl_local_ipv4: "1.1.1.1" atl_tomcat_scheme: "http" - atl_tomcat_contextpath: "foo" + atl_tomcat_contextpath: "/foo" atl_proxy_name: "localhost" atl_proxy_port: "80" atl_db_preferredtestquery: "select 1;"