)]}'
{"id":"openstack%2Fneutron~744104","triplet_id":"openstack%2Fneutron~stable%2Fussuri~I63e446a30cf10e7bcd34a6f0d6ba1711301efcbe","project":"openstack/neutron","branch":"stable/ussuri","topic":"bug/1881157","hashtags":[],"change_id":"I63e446a30cf10e7bcd34a6f0d6ba1711301efcbe","subject":"[OVS][FW] Remote SG IDs left behind when a SG is removed","status":"MERGED","created":"2020-07-31 09:02:51.000000000","updated":"2020-08-07 03:00:51.000000000","submitted":"2020-08-07 02:58:52.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":"744104-1596769132425-8e31e638","meta_rev_id":"987f7a9e2a669a397f42abad18e255c97125e18a","_number":744104,"virtual_id_number":744104,"owner":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":0,"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-08-07 02:58:52.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"date":"2020-07-31 09:04:10.000000000","_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"}],"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":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"all":[{"value":2,"date":"2020-07-31 13:43:44.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":2,"date":"2020-08-06 22:16:41.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"}],"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":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"all":[{"value":0,"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":1,"date":"2020-08-06 22:16:41.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":0,"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-07-31 09:04:10.000000000","updated_by":{"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"},"reviewer":{"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"},"state":"REVIEWER"},{"updated":"2020-07-31 13:43:44.000000000","updated_by":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"reviewer":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"state":"REVIEWER"},{"updated":"2020-08-06 22:16:41.000000000","updated_by":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"reviewer":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"state":"REVIEWER"},{"updated":"2020-08-07 02:58:52.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"}],"messages":[{"id":"15416e158e1bb4fab5733fb9e4d6931ec60d2e1d","author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"date":"2020-07-31 09:02:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"854cedf960af9c061450d7f8f4d53046cd83a9a3","author":{"_account_id":26622,"name":"Cloudbase Neutron Hyper-V CI","email":"neutron_hyperv_ci@cloudbasesolutions.com","username":"neutron_hyperv_ci"},"date":"2020-07-31 09:04:10.000000000","message":"Patch Set 1:\n\nFor rechecking only on the Cloudbase Neutron Hyper-V CI, add a review comment with run-Cloudbase Neutron Hyper-V CI\n\n- neutron http://cloudbase-ci.com/neutron/744104/1 : FAILURE in 45s","accounts_in_message":[],"_revision_number":1},{"id":"09e2875773489f2caad81720181810e06750e42b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-31 13:08:15.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- neutron-tempest-plugin-api-ussuri https://zuul.opendev.org/t/openstack/build/d31310ad79864aa3b4536370596563a4 : SUCCESS in 48m 05s\n- neutron-tempest-plugin-designate-scenario-ussuri https://zuul.opendev.org/t/openstack/build/4769a347df92475bb454b67aa7f12be9 : SUCCESS in 32m 32s\n- neutron-tempest-plugin-scenario-linuxbridge-ussuri https://zuul.opendev.org/t/openstack/build/f3ff7854282444e2bf5c2da051929e8b : SUCCESS in 56m 04s\n- neutron-tempest-plugin-scenario-openvswitch-ussuri https://zuul.opendev.org/t/openstack/build/91166169fddf4d8cba04ad836f7eb034 : SUCCESS in 1h 08m 00s\n- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-ussuri https://zuul.opendev.org/t/openstack/build/4434a72fd7f34a289c00f61bae00cf0a : SUCCESS in 1h 08m 02s\n- neutron-tempest-plugin-scenario-ovn-ussuri https://zuul.opendev.org/t/openstack/build/5399fdeedb8d42399e19700d279c5b52 : SUCCESS in 1h 01m 30s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8bb7784dcddc46388788f3deac3ab28b : SUCCESS in 40m 39s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2341d47b7ef647718932ef612f411ae7 : SUCCESS in 26m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/948a0fb77f694341ac7b4a7cfc7f3ecf : SUCCESS in 14m 35s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/67d39e0c2c4e4ae89291087ef5bad718 : SUCCESS in 24m 20s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/691d349f35bb4a40bc181b7747e27bb7 : SUCCESS in 24m 36s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/a1e3529c41e247f08c9e9719171f7900 : SUCCESS in 25m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/70bc0a832e65495db3f38abdda26e27d : SUCCESS in 9m 14s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/8d9906e690b74a289a20317bfe17333f : SUCCESS in 55m 19s\n- neutron-fullstack https://zuul.opendev.org/t/openstack/build/8e3c65c605e2484ba242762b223901ff : SUCCESS in 1h 14m 19s\n- neutron-fullstack-with-uwsgi https://zuul.opendev.org/t/openstack/build/e6ddbab51f0a4d62b179776912a5be82 : SUCCESS in 1h 10m 30s\n- neutron-rally-task https://zuul.opendev.org/t/openstack/build/0da76e96ee6a459cb49d42e4bfc7ee58 : SUCCESS in 1h 53m 55s\n- neutron-grenade-multinode https://zuul.opendev.org/t/openstack/build/d63c2ffd281f46eeb804382f0161fab6 : SUCCESS in 1h 15m 49s\n- neutron-grenade-dvr-multinode https://zuul.opendev.org/t/openstack/build/a2f2efb5b5784e24ae6a5de7134ea081 : SUCCESS in 1h 19m 27s\n- neutron-tempest-linuxbridge https://zuul.opendev.org/t/openstack/build/948834ac1d3d486bb9bac50d5dffaac5 : SUCCESS in 52m 36s\n- neutron-tempest-with-uwsgi https://zuul.opendev.org/t/openstack/build/8bb037818bf94b6ba508adf80725122c : SUCCESS in 1h 09m 20s\n- tempest-integrated-networking https://zuul.opendev.org/t/openstack/build/9353a095476c42d39e4307b697a6d0de : SUCCESS in 1h 03m 19s\n- tempest-multinode-full-py3 https://zuul.opendev.org/t/openstack/build/f21608eb131a42c591b79ea56f495045 : SUCCESS in 1h 38m 15s (non-voting)\n- neutron-tempest-dvr-ha-multinode-full https://zuul.opendev.org/t/openstack/build/46d25cf0747f48d7a8e8ea585d8d6992 : FAILURE in 1h 19m 30s (non-voting)\n- neutron-tempest-iptables_hybrid https://zuul.opendev.org/t/openstack/build/f6bdf966f1164889873435131ecc2ebb : SUCCESS in 1h 07m 26s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/4ba8e55f69a34971b20c645528f8ce03 : SUCCESS in 1h 21m 31s (non-voting)\n- tempest-slow-py3 https://zuul.opendev.org/t/openstack/build/998c71d609c3474bbd15a64e7c456a3e : SUCCESS in 1h 54m 35s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/19d500c0d15740708846dc005b9d7e4f : SUCCESS in 58m 01s\n- neutron-ovn-tempest-ovs-release https://zuul.opendev.org/t/openstack/build/48d1eb8a6bfa41fcafaa9d76973edcb0 : SUCCESS in 1h 09m 12s\n- neutron-ovn-tempest-ovs-release-ipv6-only https://zuul.opendev.org/t/openstack/build/4f11e7abb8ad4ba49fcfa10d57d8078e : SUCCESS in 40m 24s (non-voting)\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/a6de3f73e72f44b8aade4c778f8ae5a5 : SUCCESS in 1h 33m 18s (non-voting)\n- neutron-functional-with-uwsgi https://zuul.opendev.org/t/openstack/build/bf4a14752e804c05ae8182447a196a46 : SUCCESS in 52m 22s (non-voting)\n- neutron-centos-8-tripleo-standalone https://zuul.opendev.org/t/openstack/build/80114ce490eb4578b4395e902655c9b2 : SUCCESS in 1h 44m 27s (non-voting)\n- neutron-ovn-rally-task https://zuul.opendev.org/t/openstack/build/a99cdfb8785d4339be93aa1dc641363b : SUCCESS in 2h 03m 53s (non-voting)\n- neutron-ovn-tripleo-ci-centos-8-containers-multinode https://zuul.opendev.org/t/openstack/build/b7fecec2c95549f8b042661fbe786585 : SUCCESS in 2h 21m 29s (non-voting)\n- neutron-ovn-tempest-slow https://zuul.opendev.org/t/openstack/build/0f11c856045a45c89056cbd9bbdc09da : FAILURE in 1h 56m 08s (non-voting)\n- neutron-ovn-tempest-full-multinode-ovs-master https://zuul.opendev.org/t/openstack/build/1e0c48515d574b28b12c9357ebe0b4e1 : TIMED_OUT in 3h 04m 36s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"fcb796ab34ad023f7de2424614c1c0477b0870d9","author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"date":"2020-07-31 13:43:44.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"c011c4ddc1869574a5f545007ada0cdcb3807ed8","author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"date":"2020-08-06 22:16:41.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"038411b0a19fa12d7e7e919bd3eb60ed7766ad7d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-06 22:17:09.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"df70637f9e05e63ac7baccf153195f1bcb47729b","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-07 02:58:52.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"67821491e591d99eacff5478e3a32775e9b54870","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-07 02:58:52.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- neutron-tempest-plugin-api-ussuri https://zuul.opendev.org/t/openstack/build/c85ae5585b704bdaa54a3cf5e3ccacdf : SUCCESS in 55m 28s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5e927646ab844fcda5f1f99d5a6ff022 : SUCCESS in 36m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f19fa81e00d14fedad647ed63299816b : SUCCESS in 10m 21s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/2a60d281ace6488d908b68529a833b49 : SUCCESS in 16m 42s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/75aa3bba45804069b9950918fba6aca0 : SUCCESS in 29m 56s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/79d39958c974477ea7c89a76bccb7a27 : SUCCESS in 9m 03s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/f78b1de54b7c43908c85cf9e63f469a4 : SUCCESS in 1h 20m 08s\n- neutron-fullstack https://zuul.opendev.org/t/openstack/build/1cc977ef7dc74c3f877e0630e64d9412 : SUCCESS in 1h 12m 07s\n- tempest-integrated-networking https://zuul.opendev.org/t/openstack/build/f18be78fa08c44b69185c85b94396d61 : SUCCESS in 1h 11m 23s\n- neutron-tempest-linuxbridge https://zuul.opendev.org/t/openstack/build/ccddbe376dfe4d319ec3b0097b037222 : SUCCESS in 1h 09m 50s\n- neutron-tempest-iptables_hybrid https://zuul.opendev.org/t/openstack/build/e396d662fd264083b38cfba764030c4e : SUCCESS in 1h 32m 35s\n- neutron-grenade-multinode https://zuul.opendev.org/t/openstack/build/597586db2cac4195a19eef677021de29 : SUCCESS in 1h 19m 30s\n- neutron-grenade-dvr-multinode https://zuul.opendev.org/t/openstack/build/665dcf2cb3714d11a099d80131f58537 : SUCCESS in 1h 19m 25s\n- tempest-slow-py3 https://zuul.opendev.org/t/openstack/build/6cf4577556324e3483efc88c8a833689 : SUCCESS in 1h 23m 50s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1b92c26589c842fe83100543d5a1f48b : SUCCESS in 1h 02m 40s\n- neutron-ovn-tempest-ovs-release https://zuul.opendev.org/t/openstack/build/4065179ff82044e4859618d205076d2e : SUCCESS in 1h 48m 27s","accounts_in_message":[],"_revision_number":1},{"id":"15413bbd7ddbfa3936f1fd69c2b93282a230014c","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-07 03:00:51.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e97d0c3823cc4354907ce37956296159 : SUCCESS in 1m 24s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"ed22f7a2ff19a874bc8521f84cb4fd1c7483a23f","revisions":{"ed22f7a2ff19a874bc8521f84cb4fd1c7483a23f":{"kind":"REWORK","_number":1,"created":"2020-07-31 09:02:51.000000000","uploader":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"ref":"refs/changes/04/744104/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/neutron","ref":"refs/changes/04/744104/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/neutron refs/changes/04/744104/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/neutron refs/changes/04/744104/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/neutron refs/changes/04/744104/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/neutron refs/changes/04/744104/1"}}},"commit":{"parents":[{"commit":"20b9e7759f5bf78ea8129355f9d02657714f579d","subject":"ovn migration: Support stack name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/20b9e7759f5bf78ea8129355f9d02657714f579d"}]}],"author":{"name":"Rodolfo Alonso Hernandez","email":"ralonsoh@redhat.com","date":"2020-06-02 17:09:07.000000000","tz":0},"committer":{"name":"Rodolfo Alonso Hernandez","email":"ralonsoh@redhat.com","date":"2020-07-31 09:02:31.000000000","tz":0},"subject":"[OVS][FW] Remote SG IDs left behind when a SG is removed","message":"[OVS][FW] Remote SG IDs left behind when a SG is removed\n\nWhen any port in the OVS agent is using a security groups (SG) and\nthis SG is removed, is marked to be deleted. This deletion process\nis done in [1].\n\nThe SG deletion process consists on removing any reference of this SG\nfrom the firewall and the SG port map. The firewall removes this SG in\n[2].\n\nThe information of a SG is stored in:\n* ConjIPFlowManager.conj_id_map \u003d ConjIdMap(). This class stores the\n  conjunction IDS (conj_ids) in a dictionary using the following keys:\n\n    ConjIdMap.id_map[(sg_id, remote_sg_id, direction, ethertype,\n      conj_ids)] \u003d conj_id_XXX\n\n* ConjIPFlowManager.conj_ids is a nested dictionary, built in the\n  following way:\n\n    self.conj_ids[vlan_tag][(direction, ethertype)][remote_sg_id] \u003d \\\n      set([conj_id_1, conj_id_2, ...])\n\nThis patch stores all conjuntion IDs generated and assigned to the\ntuple (sg_id, remote_sg_id, direction, ethertype). When a SG is\nremoved, the deletion method will look for this SG in the new storage\nvariable created, ConjIdMap.id_map_group, and will mark all the\nconjuntion IDs related to be removed. That will cleanup those rules\nleft in the OVS matching:\n  action\u003dconjunction(conj_id, 1/2)\n\n[1]https://github.com/openstack/neutron/blob/118930f03d31f157f8c7a9e6c57122ecea8982b9/neutron/agent/linux/openvswitch_firewall/firewall.py#L731\n[2]https://github.com/openstack/neutron/blob/118930f03d31f157f8c7a9e6c57122ecea8982b9/neutron/agent/linux/openvswitch_firewall/firewall.py#L399\n\nChange-Id: I63e446a30cf10e7bcd34a6f0d6ba1711301efcbe\nRelated-Bug: #1881157\n(cherry picked from commit 0eebd002ccda66dc6d9f9e5a254815109225e299)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/ed22f7a2ff19a874bc8521f84cb4fd1c7483a23f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/ed22f7a2ff19a874bc8521f84cb4fd1c7483a23f"}]},"branch":"refs/heads/stable/ussuri"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
