)]}'
{"id":"openstack%2Fansible-collections-openstack~825667","triplet_id":"openstack%2Fansible-collections-openstack~master~Ie14391f18c0f65833d00a4b4f6b1b314a0903d2b","project":"openstack/ansible-collections-openstack","branch":"master","attention_set":{},"removed_from_attention_set":{"28048":{"account":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"last_update":"2022-03-18 08:58:43.000000000","reason":"Change was submitted"},"32962":{"account":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"last_update":"2022-03-18 07:59:34.000000000","reason":"Jakob Meng replied on the change"}},"hashtags":[],"change_id":"Ie14391f18c0f65833d00a4b4f6b1b314a0903d2b","subject":"Handle aggregate host list set to None","status":"MERGED","created":"2022-01-20 19:52:11.000000000","updated":"2022-03-18 08:58:43.000000000","submitted":"2022-03-18 08:58:43.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"825667","meta_rev_id":"3a67e9f713a2fc3a9d9daa59b9715e81083748e7","_number":825667,"virtual_id_number":825667,"owner":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2022-03-18 08:58:43.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"all":[{"value":2,"date":"2022-03-18 07:59:34.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2022-03-18 08:58:43.000000000","post_submit":true,"permitted_voting_range":{"min":2,"max":2},"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"all":[{"value":1,"date":"2022-03-18 07:59:34.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-01-20 21:14:07.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2022-01-24 14:54:23.000000000","updated_by":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"reviewer":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"state":"REVIEWER"},{"updated":"2022-03-14 09:05:12.000000000","updated_by":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"reviewer":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"state":"CC"},{"updated":"2022-03-18 07:59:34.000000000","updated_by":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"reviewer":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"state":"REVIEWER"}],"messages":[{"id":"e8d1bbaf69de0c4fcf29f0d682730454d8856b7a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2022-01-20 19:52:11.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"991b1374d24a4443b923a0ab03c82162f30fac2c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2022-01-20 19:53:02.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"53c453d66cdb858a5636e79e5064ac19c9c69b72","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2022-01-20 20:00:22.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"cbb016e8692d50dd1aeb29ecb452b58c576879d9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-01-20 21:14:07.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- tox-pep8 https://zuul.opendev.org/t/openstack/build/3c3c4ce6c7dd4c3ba508eb8f664f9621 : SUCCESS in 4m 26s\n- openstack-tox-linters-ansible-devel https://zuul.opendev.org/t/openstack/build/a0aa913f40e742e38f2938bb06118df0 : SUCCESS in 7m 22s (non-voting)\n- openstack-tox-linters-ansible-2.12 https://zuul.opendev.org/t/openstack/build/2868df9ab6794aeda103ae15e948cb64 : SUCCESS in 6m 52s\n- openstack-tox-linters-ansible-2.9 https://zuul.opendev.org/t/openstack/build/50202466be8b4c2cbf6ebff0978ea344 : SUCCESS in 7m 47s\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/b1b7b05d29ae4feeb0cf8f9895ab0631 : SUCCESS in 54m 54s\n- ansible-collections-openstack-functional-devstack-releases https://zuul.opendev.org/t/openstack/build/5c1b41f698a0457082a650d7c5e90fc6 : SUCCESS in 37m 00s\n- ansible-collections-openstack-functional-devstack-ansible-2.9 https://zuul.opendev.org/t/openstack/build/4ca53c25a98d4b3eb99de7395de5a515 : SUCCESS in 35m 51s\n- ansible-collections-openstack-functional-devstack-ansible-2.12 https://zuul.opendev.org/t/openstack/build/13efca6bedf6427ea2982ab11ebd532f : SUCCESS in 50m 01s\n- ansible-collections-openstack-functional-devstack-ansible-devel https://zuul.opendev.org/t/openstack/build/53f8978d602b490fbecd3184a29dd976 : SUCCESS in 37m 19s (non-voting)\n- ansible-collections-openstack-functional-devstack-xena-ansible-2.12 https://zuul.opendev.org/t/openstack/build/2a3da75e83a04fc587a802a226bf5c3f : SUCCESS in 47m 04s\n- ansible-collections-openstack-functional-devstack-wallaby-ansible-2.12 https://zuul.opendev.org/t/openstack/build/a0b6314061d94fc19412346c4a16a29b : SUCCESS in 45m 39s\n- ansible-collections-openstack-functional-devstack-train-ansible-2.11 https://zuul.opendev.org/t/openstack/build/2265e22229214d91b459c78e761684ae : SUCCESS in 55m 41s\n- bifrost-collections-src https://zuul.opendev.org/t/openstack/build/814e4de2af8247a98556279c47f6595e : SUCCESS in 25m 37s (non-voting)\n- bifrost-keystone-collections-src https://zuul.opendev.org/t/openstack/build/3e1b2513f3f6436cb7a81f3126e90ab4 : SUCCESS in 29m 36s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"e609ed4e1e3d7c2e7b458e48d1fcd9eb60bdb438","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2022-01-24 14:54:23.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"734a8b37a7bdf7a58c6c38a47ba3a92b6949c6cd","author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"date":"2022-03-14 09:05:12.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"218e27a43c65ad9034da5f5951ea17a1bff44450","author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"date":"2022-03-17 16:34:28.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"095d49c7ef05c23ced67115903d953304e0d9e63","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"date":"2022-03-17 19:36:38.000000000","message":"Patch Set 4: Patch Set 3 was rebased","accounts_in_message":[],"_revision_number":4},{"id":"6336bf871531c37d4da84bed4a8728f0298f83da","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-17 20:54:06.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- tox-pep8 https://zuul.opendev.org/t/openstack/build/5a73d355be7d47589e8d42dc18910868 : SUCCESS in 5m 08s\n- openstack-tox-linters-ansible-devel https://zuul.opendev.org/t/openstack/build/9ef7aaf243ba43c4ae23bbec90b3c4e8 : FAILURE in 10m 04s (non-voting)\n- openstack-tox-linters-ansible-2.12 https://zuul.opendev.org/t/openstack/build/a8b338b9b3574ef790cfc5566cbe267a : SUCCESS in 7m 48s\n- openstack-tox-linters-ansible-2.9 https://zuul.opendev.org/t/openstack/build/27e77b5cb756403eb03c4307117baaeb : SUCCESS in 7m 19s\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/6e085b45375b42aea8495e3e51955811 : SUCCESS in 55m 44s\n- ansible-collections-openstack-functional-devstack-ansible-new_sdk https://zuul.opendev.org/t/openstack/build/df631c5508a44e8eb862ae8fd9807922 : FAILURE in 47m 36s (non-voting)\n- ansible-collections-openstack-functional-devstack-releases https://zuul.opendev.org/t/openstack/build/12a86d2ea94f4ee49b093cd2d68a0b19 : SUCCESS in 54m 09s\n- ansible-collections-openstack-functional-devstack-ansible-2.9 https://zuul.opendev.org/t/openstack/build/7d370d5180c547239bd9766be39b293c : SUCCESS in 58m 33s\n- ansible-collections-openstack-functional-devstack-ansible-2.12 https://zuul.opendev.org/t/openstack/build/4d8929aa65bb48949bbdd9c27e7a0810 : SUCCESS in 58m 28s\n- ansible-collections-openstack-functional-devstack-ansible-devel https://zuul.opendev.org/t/openstack/build/b6af78fe773f4be388c929b885304626 : SUCCESS in 51m 17s (non-voting)\n- ansible-collections-openstack-functional-devstack-xena-ansible-2.12 https://zuul.opendev.org/t/openstack/build/dea93a276dd1491daf5ff29f289e00da : SUCCESS in 51m 47s\n- ansible-collections-openstack-functional-devstack-wallaby-ansible-2.12 https://zuul.opendev.org/t/openstack/build/f53490b038fe4022a000a1b2179abab4 : SUCCESS in 59m 26s\n- ansible-collections-openstack-functional-devstack-train-ansible-2.11 https://zuul.opendev.org/t/openstack/build/86290b7849574f7f8d8dc805b9a16c23 : SUCCESS in 55m 26s\n- bifrost-collections-src https://zuul.opendev.org/t/openstack/build/7064e1a429bf42ec8f427b41447dd23f : SUCCESS in 31m 24s (non-voting)\n- bifrost-keystone-collections-src https://zuul.opendev.org/t/openstack/build/d0aa5684157547f496473faea325b6d1 : SUCCESS in 37m 34s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"9ead084a3463a437a1df2cddc7d70c9544d3535e","author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"date":"2022-03-18 07:59:34.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"aa04b60db3f86071ad7f8630523108fb1b6b6bc5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-18 08:00:16.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"5f7d3abd14fcf4852aef68df3ff42589b62fe296","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-18 08:58:43.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- tox-pep8 https://zuul.opendev.org/t/openstack/build/d50dfe6b21dc4bba9b194a64075f1652 : SUCCESS in 5m 27s\n- openstack-tox-linters-ansible-2.12 https://zuul.opendev.org/t/openstack/build/311aaeed67644b7cb70502d72c031608 : SUCCESS in 9m 12s\n- openstack-tox-linters-ansible-2.9 https://zuul.opendev.org/t/openstack/build/2f48f7c09f404110bd37b1cc6b6b6440 : SUCCESS in 8m 13s\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/7d8bd72d17cf4f65aace8bd1af2ddeae : SUCCESS in 50m 28s\n- ansible-collections-openstack-functional-devstack-releases https://zuul.opendev.org/t/openstack/build/a0599f110c5b4edab5b5806136ae76a8 : SUCCESS in 45m 13s\n- ansible-collections-openstack-functional-devstack-ansible-2.9 https://zuul.opendev.org/t/openstack/build/633b9e8e05314601a395df7f5299f535 : SUCCESS in 51m 51s\n- ansible-collections-openstack-functional-devstack-ansible-2.12 https://zuul.opendev.org/t/openstack/build/d8e2b545e7dd490da4e10e226f3344c0 : SUCCESS in 46m 01s\n- ansible-collections-openstack-functional-devstack-wallaby-ansible-2.12 https://zuul.opendev.org/t/openstack/build/7601682706a24eb1a4587e70652520f4 : SUCCESS in 54m 56s\n- ansible-collections-openstack-functional-devstack-xena-ansible-2.12 https://zuul.opendev.org/t/openstack/build/fcf6889ec64a41719fba23eab53721af : SUCCESS in 48m 19s\n- ansible-collections-openstack-functional-devstack-train-ansible-2.11 https://zuul.opendev.org/t/openstack/build/f6730995ae984027916bf0b5ee6e91bb : SUCCESS in 56m 07s","accounts_in_message":[],"_revision_number":4},{"id":"6b721cded61635dca2942f0b3318ee1c0cc5e05a","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-18 08:58:43.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"5f1ffe2b99d8d3a71184c3b0e69b97dc0e539fbc","revisions":{"39f921b1462ffa606b27af4166ab9a42281f0202":{"kind":"REWORK","_number":1,"created":"2022-01-20 19:52:11.000000000","uploader":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"ref":"refs/changes/67/825667/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ansible-collections-openstack","ref":"refs/changes/67/825667/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/1"}}},"commit":{"parents":[{"commit":"5e2ab3d8c38bb3c22151f45c729baa831d984e33","subject":"Fix identity user lookup with a domain","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/5e2ab3d8c38bb3c22151f45c729baa831d984e33"}]}],"author":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2022-01-20 19:39:28.000000000","tz":0},"committer":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2022-01-20 19:39:28.000000000","tz":0},"subject":"Handle aggregate host list set to None","message":"Handle aggregate host list set to None\n\nA freshly created host aggregate can have the host list set to None,\nconsequently you\u0027d hit:\n\n```\nfailed: [localhost] (item\u003d{\u0027name\u0027: \u0027gpu\u0027, \u0027hosts\u0027: [], \u0027metadata\u0027: {\u0027type\u0027: \u0027gpu\u0027}}) \u003d\u003e {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": {\"hosts\": [], \"metadata\": {\"type\": \"gpu\"}, \"name\": \"gpu\"}, \"module_stderr\": \"Traceback (most recent call last):\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.6728637-1456290-187052400642084/Ansiba\nllZ_host_aggregate.py\\\", line 100, in \u003cmodule\u003e\\n    _ansiballz_main()\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.6728637-1456290-187052400642084/AnsiballZ_host_aggregate.py\\\", line 92, in _ansiballz_main\\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.672\n8637-1456290-187052400642084/AnsiballZ_host_aggregate.py\\\", line 41, in invoke_module\\n    run_name\u003d\u0027__main__\u0027, alter_sys\u003dTrue)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 205, in run_module\\n    return _run_module_code(code, init_globals, run_name, mod_spec)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 96, in _run_module_code\\n    mod_name, mod_spec, p\nkg_name, script_name)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 85, in _run_code\\n    exec(code, run_globals)\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 214, in \u003cmodule\u003e\\n  File \\\"/tmp/ansible_os_nova_host_aggregate\n_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 210, in main\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/module_utils/openstack.py\\\", line 407, in __call__\\n  File \\\n\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 176, in run\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\n\\\", line 138, in _update_hosts\\nTypeError: \u0027NoneType\u0027 object is not iterable\\n\", \"module_stdout\": \"\", \"msg\": \"MODULE FAILURE\\nSee stdout/stderr for the exact error\", \"rc\": 1}\n```\n\nI\u0027ve not investigated which API and library combinations elict this behaviour,\nbut it does seem to occur. We can safely handle this possibility in backwards\ncompatible way.\n\nIt is possible to workaround this issue by invoking the module a second time.\n\nChange-Id: Ie14391f18c0f65833d00a4b4f6b1b314a0903d2b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/39f921b1462ffa606b27af4166ab9a42281f0202"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/39f921b1462ffa606b27af4166ab9a42281f0202"}]},"branch":"refs/heads/master"},"e23744aa250732b68f81e19918984fcce2680a0f":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2022-01-20 19:53:02.000000000","uploader":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"ref":"refs/changes/67/825667/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ansible-collections-openstack","ref":"refs/changes/67/825667/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/2"}}},"commit":{"parents":[{"commit":"5e2ab3d8c38bb3c22151f45c729baa831d984e33","subject":"Fix identity user lookup with a domain","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/5e2ab3d8c38bb3c22151f45c729baa831d984e33"}]}],"author":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2022-01-20 19:39:28.000000000","tz":0},"committer":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2022-01-20 19:52:25.000000000","tz":0},"subject":"Handle aggregate host list set to None","message":"Handle aggregate host list set to None\n\nA freshly created host aggregate can have the host list set to None,\nconsequently you\u0027d hit:\n\n```\nfailed: [localhost] (item\u003d{\u0027name\u0027: \u0027gpu\u0027, \u0027hosts\u0027: [], \u0027metadata\u0027: {\u0027type\u0027: \u0027gpu\u0027}}) \u003d\u003e {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": {\"hosts\": [], \"metadata\": {\"type\": \"gpu\"}, \"name\": \"gpu\"}, \"module_stderr\": \"Traceback (most recent call last):\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.6728637-1456290-187052400642084/Ansiba\nllZ_host_aggregate.py\\\", line 100, in \u003cmodule\u003e\\n    _ansiballz_main()\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.6728637-1456290-187052400642084/AnsiballZ_host_aggregate.py\\\", line 92, in _ansiballz_main\\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.672\n8637-1456290-187052400642084/AnsiballZ_host_aggregate.py\\\", line 41, in invoke_module\\n    run_name\u003d\u0027__main__\u0027, alter_sys\u003dTrue)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 205, in run_module\\n    return _run_module_code(code, init_globals, run_name, mod_spec)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 96, in _run_module_code\\n    mod_name, mod_spec, p\nkg_name, script_name)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 85, in _run_code\\n    exec(code, run_globals)\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 214, in \u003cmodule\u003e\\n  File \\\"/tmp/ansible_os_nova_host_aggregate\n_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 210, in main\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/module_utils/openstack.py\\\", line 407, in __call__\\n  File \\\n\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 176, in run\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\n\\\", line 138, in _update_hosts\\nTypeError: \u0027NoneType\u0027 object is not iterable\\n\", \"module_stdout\": \"\", \"msg\": \"MODULE FAILURE\\nSee stdout/stderr for the exact error\", \"rc\": 1}\n```\n\nI\u0027ve not investigated which API and library combinations elict this\nbehaviour, but it does seem to occur. We can safely handle this\npossibility in backwards compatible way.\n\nIt is possible to workaround this issue by invoking the module a second\ntime.\n\nChange-Id: Ie14391f18c0f65833d00a4b4f6b1b314a0903d2b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/e23744aa250732b68f81e19918984fcce2680a0f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/e23744aa250732b68f81e19918984fcce2680a0f"}]},"branch":"refs/heads/master"},"dbebe00dcb7cdf2d09300b41a142a3a34a97ffb6":{"kind":"REWORK","_number":3,"created":"2022-01-20 20:00:22.000000000","uploader":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"ref":"refs/changes/67/825667/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ansible-collections-openstack","ref":"refs/changes/67/825667/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/3"}}},"commit":{"parents":[{"commit":"5e2ab3d8c38bb3c22151f45c729baa831d984e33","subject":"Fix identity user lookup with a domain","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/5e2ab3d8c38bb3c22151f45c729baa831d984e33"}]}],"author":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2022-01-20 19:39:28.000000000","tz":0},"committer":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2022-01-20 20:00:11.000000000","tz":0},"subject":"Handle aggregate host list set to None","message":"Handle aggregate host list set to None\n\nA freshly created host aggregate can have the host list set to None,\nconsequently you\u0027d hit:\n\n```\nfailed: [localhost] (item\u003d{\u0027name\u0027: \u0027gpu\u0027, \u0027hosts\u0027: [], \u0027metadata\u0027: {\u0027type\u0027: \u0027gpu\u0027}}) \u003d\u003e {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": {\"hosts\": [], \"metadata\": {\"type\": \"gpu\"}, \"name\": \"gpu\"}, \"module_stderr\": \"Traceback (most recent call last):\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.6728637-1456290-187052400642084/Ansiba\nllZ_host_aggregate.py\\\", line 100, in \u003cmodule\u003e\\n    _ansiballz_main()\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.6728637-1456290-187052400642084/AnsiballZ_host_aggregate.py\\\", line 92, in _ansiballz_main\\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.672\n8637-1456290-187052400642084/AnsiballZ_host_aggregate.py\\\", line 41, in invoke_module\\n    run_name\u003d\u0027__main__\u0027, alter_sys\u003dTrue)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 205, in run_module\\n    return _run_module_code(code, init_globals, run_name, mod_spec)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 96, in _run_module_code\\n    mod_name, mod_spec, p\nkg_name, script_name)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 85, in _run_code\\n    exec(code, run_globals)\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 214, in \u003cmodule\u003e\\n  File \\\"/tmp/ansible_os_nova_host_aggregate\n_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 210, in main\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/module_utils/openstack.py\\\", line 407, in __call__\\n  File \\\n\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 176, in run\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\n\\\", line 138, in _update_hosts\\nTypeError: \u0027NoneType\u0027 object is not iterable\\n\", \"module_stdout\": \"\", \"msg\": \"MODULE FAILURE\\nSee stdout/stderr for the exact error\", \"rc\": 1}\n```\n\nI\u0027ve not investigated which API and library combinations elict this\nbehaviour, but it does seem to occur. We can safely handle this\npossibility in backwards compatible way.\n\nIt is possible to workaround this issue by invoking the module a second\ntime.\n\nChange-Id: Ie14391f18c0f65833d00a4b4f6b1b314a0903d2b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/dbebe00dcb7cdf2d09300b41a142a3a34a97ffb6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/dbebe00dcb7cdf2d09300b41a142a3a34a97ffb6"}]},"branch":"refs/heads/master"},"5f1ffe2b99d8d3a71184c3b0e69b97dc0e539fbc":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2022-03-17 19:36:38.000000000","uploader":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"ref":"refs/changes/67/825667/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ansible-collections-openstack","ref":"refs/changes/67/825667/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/67/825667/4"}}},"commit":{"parents":[{"commit":"a162a02536c966f1481b1100274c03c7776db740","subject":"Added warning about the upcoming release and its breaking changes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/a162a02536c966f1481b1100274c03c7776db740"}]}],"author":{"name":"Will Szumski","email":"will@stackhpc.com","date":"2022-01-20 19:39:28.000000000","tz":0},"committer":{"name":"Jakob Meng","email":"code@jakobmeng.de","date":"2022-03-17 19:36:38.000000000","tz":0},"subject":"Handle aggregate host list set to None","message":"Handle aggregate host list set to None\n\nA freshly created host aggregate can have the host list set to None,\nconsequently you\u0027d hit:\n\n```\nfailed: [localhost] (item\u003d{\u0027name\u0027: \u0027gpu\u0027, \u0027hosts\u0027: [], \u0027metadata\u0027: {\u0027type\u0027: \u0027gpu\u0027}}) \u003d\u003e {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": {\"hosts\": [], \"metadata\": {\"type\": \"gpu\"}, \"name\": \"gpu\"}, \"module_stderr\": \"Traceback (most recent call last):\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.6728637-1456290-187052400642084/Ansiba\nllZ_host_aggregate.py\\\", line 100, in \u003cmodule\u003e\\n    _ansiballz_main()\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.6728637-1456290-187052400642084/AnsiballZ_host_aggregate.py\\\", line 92, in _ansiballz_main\\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\\n  File \\\"/var/lib/home/stackhpc/.ansible/tmp/ansible-tmp-1642696576.672\n8637-1456290-187052400642084/AnsiballZ_host_aggregate.py\\\", line 41, in invoke_module\\n    run_name\u003d\u0027__main__\u0027, alter_sys\u003dTrue)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 205, in run_module\\n    return _run_module_code(code, init_globals, run_name, mod_spec)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 96, in _run_module_code\\n    mod_name, mod_spec, p\nkg_name, script_name)\\n  File \\\"/usr/lib64/python3.6/runpy.py\\\", line 85, in _run_code\\n    exec(code, run_globals)\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 214, in \u003cmodule\u003e\\n  File \\\"/tmp/ansible_os_nova_host_aggregate\n_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 210, in main\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/module_utils/openstack.py\\\", line 407, in __call__\\n  File \\\n\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\\\", line 176, in run\\n  File \\\"/tmp/ansible_os_nova_host_aggregate_payload_qwjtdtjj/ansible_os_nova_host_aggregate_payload.zip/ansible_collections/openstack/cloud/plugins/modules/host_aggregate.py\n\\\", line 138, in _update_hosts\\nTypeError: \u0027NoneType\u0027 object is not iterable\\n\", \"module_stdout\": \"\", \"msg\": \"MODULE FAILURE\\nSee stdout/stderr for the exact error\", \"rc\": 1}\n```\n\nI\u0027ve not investigated which API and library combinations elict this\nbehaviour, but it does seem to occur. We can safely handle this\npossibility in backwards compatible way.\n\nIt is possible to workaround this issue by invoking the module a second\ntime.\n\nChange-Id: Ie14391f18c0f65833d00a4b4f6b1b314a0903d2b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/5f1ffe2b99d8d3a71184c3b0e69b97dc0e539fbc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/5f1ffe2b99d8d3a71184c3b0e69b97dc0e539fbc"}]},"branch":"refs/heads/master","description":"Rebase"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
