)]}'
{"id":"openstack%2Fansible-collections-openstack~944778","triplet_id":"openstack%2Fansible-collections-openstack~master~Ie29c7b2b763a58ea107cc50507e99f650ee9e53f","project":"openstack/ansible-collections-openstack","branch":"master","attention_set":{},"removed_from_attention_set":{"31542":{"account":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"last_update":"2025-04-24 10:03:02.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ie29c7b2b763a58ea107cc50507e99f650ee9e53f","subject":"Fix router module external IPs when only subnet specified","status":"MERGED","created":"2025-03-17 13:49:02.000000000","updated":"2025-04-24 10:03:02.000000000","submitted":"2025-04-24 10:03:02.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"944778","meta_rev_id":"20a05d03f67203b2c370f84c6f383f21c95f7b02","_number":944778,"virtual_id_number":944778,"owner":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-04-24 10:03:02.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"recommended":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"all":[{"value":1,"date":"2025-04-23 16:10:13.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-04-24 09:29:54.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2025-04-24 09:29:54.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-03-17 14:36:18.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":"2025-04-23 16:10:13.000000000","updated_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"reviewer":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"state":"REVIEWER"},{"updated":"2025-04-24 09:29:54.000000000","updated_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"reviewer":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"state":"REVIEWER"}],"messages":[{"id":"1ffb15d44c20f8ee1d87b9e602f12d53ef3f66ac","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"date":"2025-03-17 13:49:02.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"52023eb7330aee9587ff625c30ea34439515a743","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-03-17 14:36:18.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/999f74f5a020431899b29bf8c8d20874\n\n- tox-pep8 https://zuul.opendev.org/t/openstack/build/59a475b62fc747e28702d1442a270adc : SUCCESS in 3m 00s\n- openstack-tox-linters-ansible-devel https://zuul.opendev.org/t/openstack/build/28e80fb1f2524613a41849368e8fa925 : SUCCESS in 5m 53s (non-voting)\n- openstack-tox-linters-ansible-2.18 https://zuul.opendev.org/t/openstack/build/6d5848b9fc2f494e85944f51076185e2 : SUCCESS in 5m 14s\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/a7524cca59204ba3a2b408e5cadac66e : FAILURE in 21m 15s\n- ansible-collections-openstack-functional-devstack-releases https://zuul.opendev.org/t/openstack/build/3a4565d448dc46ed92df07552ee40028 : FAILURE in 36m 40s\n- ansible-collections-openstack-functional-devstack-ansible-2.18 https://zuul.opendev.org/t/openstack/build/ae9ac8b134034254be5ca145d2015038 : FAILURE in 21m 37s\n- ansible-collections-openstack-functional-devstack-ansible-devel https://zuul.opendev.org/t/openstack/build/8b58671bd16c4a958a023ba10b38f1bf : FAILURE in 34m 47s (non-voting)\n- bifrost-collections-src https://zuul.opendev.org/t/openstack/build/2566faa864bc4e64b53f0625da915f07 : SUCCESS in 37m 30s (non-voting)\n- bifrost-keystone-collections-src https://zuul.opendev.org/t/openstack/build/37984a0ec3dd4e35860f44fe723342fb : SUCCESS in 30m 21s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"19dfe6274a45baa0544b331aa79e86254b264284","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"date":"2025-04-22 16:28:02.000000000","message":"Patch Set 2: Patch Set 1 was rebased\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"da7b3cee58f09769a55d874ea9685e571b9a05a7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-04-22 17:54:15.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/68d3295a225a413691cd9c896e03b631\n\n- tox-pep8 https://zuul.opendev.org/t/openstack/build/abaadca12f174c7b923b635cfdf832be : SUCCESS in 3m 39s\n- openstack-tox-linters-ansible-devel https://zuul.opendev.org/t/openstack/build/2c1205b4fbec4fe3ab294f7b42d0eb7c : SUCCESS in 5m 53s (non-voting)\n- openstack-tox-linters-ansible-2.18 https://zuul.opendev.org/t/openstack/build/5cbc3ca80ef04a599cd4150397324320 : SUCCESS in 3m 05s\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/ea56fea947014de0badf16c6a4714125 : SUCCESS in 1h 01m 59s\n- ansible-collections-openstack-functional-devstack-releases https://zuul.opendev.org/t/openstack/build/a3e6e16c10c34db0841d39d24bf5926a : SUCCESS in 52m 17s\n- ansible-collections-openstack-functional-devstack-ansible-2.18 https://zuul.opendev.org/t/openstack/build/786d79b54eee4776860cf84eec333f54 : SUCCESS in 1h 04m 57s\n- ansible-collections-openstack-functional-devstack-ansible-devel https://zuul.opendev.org/t/openstack/build/37df4d508999404c887d086fc92de779 : SUCCESS in 1h 25m 36s (non-voting)\n- bifrost-collections-src https://zuul.opendev.org/t/openstack/build/68842f7396774df1bbc8ac7e7305f7b9 : SUCCESS in 53m 04s (non-voting)\n- bifrost-keystone-collections-src https://zuul.opendev.org/t/openstack/build/567c6b47aa2f49b383ef743f10dc5d38 : SUCCESS in 37m 33s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"6579a2c62d55f3a74ea4a046337e85caa1c1b081","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2025-04-23 16:10:13.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"cd6f4159eab86f2ed246d870a6fd99d63479113a","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2025-04-24 09:29:54.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"1c437e9a39c37b8ab6a27f7be528cd00e71b7ee7","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-04-24 09:30:17.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"1b9079cead9ef26a5b9dcabc8fea1dbdb4b3bccf","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-04-24 10:03:02.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/773254ce2424490fa915f9ac03100796\n\n- tox-pep8 https://zuul.opendev.org/t/openstack/build/cc589701ab6c433c81fc53b3baec0806 : SUCCESS in 1m 31s\n- openstack-tox-linters-ansible-2.18 https://zuul.opendev.org/t/openstack/build/ed9edade96cc4e96b16a6f43e698e656 : SUCCESS in 2m 47s\n- ansible-collections-openstack-functional-devstack-releases https://zuul.opendev.org/t/openstack/build/f6e2d80ef84b42ee9ac3fce42865ba6d : SUCCESS in 32m 19s","accounts_in_message":[],"_revision_number":2},{"id":"20a05d03f67203b2c370f84c6f383f21c95f7b02","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-04-24 10:03:02.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"98bb212ae4ae5202d615801c006bd82210e6d100","revisions":{"8cba238b1fc49aee95e45f2253a8e5ee3c473ef1":{"kind":"REWORK","_number":1,"created":"2025-03-17 13:49:02.000000000","uploader":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"ref":"refs/changes/78/944778/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ansible-collections-openstack","ref":"refs/changes/78/944778/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/78/944778/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/78/944778/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/78/944778/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/78/944778/1"}}},"commit":{"parents":[{"commit":"5494d153b1345b48bd42206ade38d29c005d6540","subject":"Add the object_containers_info module","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/5494d153b1345b48bd42206ade38d29c005d6540"}]}],"author":{"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","date":"2025-03-17 13:46:55.000000000","tz":0},"committer":{"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","date":"2025-03-17 13:46:55.000000000","tz":0},"subject":"Fix router module external IPs when only subnet specified","message":"Fix router module external IPs when only subnet specified\n\nThe router module used to support adding external fixed IPs\nby specifying the subnet only, and the documentation still\nallows for this. Unfortunately the logic currently results\nin an error message stating that the ip_address cannot be\nnull.\n\nThis patch reinstates this functionality and adds tests to\navoid a future regression.\n\nChange-Id: Ie29c7b2b763a58ea107cc50507e99f650ee9e53f\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/8cba238b1fc49aee95e45f2253a8e5ee3c473ef1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/8cba238b1fc49aee95e45f2253a8e5ee3c473ef1"}]},"branch":"refs/heads/master"},"98bb212ae4ae5202d615801c006bd82210e6d100":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2025-04-22 16:28:02.000000000","uploader":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"ref":"refs/changes/78/944778/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ansible-collections-openstack","ref":"refs/changes/78/944778/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/78/944778/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/78/944778/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/78/944778/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ansible-collections-openstack refs/changes/78/944778/2"}}},"commit":{"parents":[{"commit":"08d8cd8c25f6128063ed6500f7d038cabb1b819b","subject":"fix test failures on recordset","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/08d8cd8c25f6128063ed6500f7d038cabb1b819b"}]}],"author":{"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","date":"2025-03-17 13:46:55.000000000","tz":0},"committer":{"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","date":"2025-04-22 16:28:02.000000000","tz":0},"subject":"Fix router module external IPs when only subnet specified","message":"Fix router module external IPs when only subnet specified\n\nThe router module used to support adding external fixed IPs\nby specifying the subnet only, and the documentation still\nallows for this. Unfortunately the logic currently results\nin an error message stating that the ip_address cannot be\nnull.\n\nThis patch reinstates this functionality and adds tests to\navoid a future regression.\n\nChange-Id: Ie29c7b2b763a58ea107cc50507e99f650ee9e53f\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/98bb212ae4ae5202d615801c006bd82210e6d100"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ansible-collections-openstack/commit/98bb212ae4ae5202d615801c006bd82210e6d100"}]},"branch":"refs/heads/master","description":"Rebase"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
