)]}'
{"id":"openstack%2Fneutron~835947","triplet_id":"openstack%2Fneutron~stable%2Fussuri~I1e31565475f38c6ad817268699b165759ac05410","project":"openstack/neutron","branch":"stable/ussuri","topic":"bug/1959567-stable/ussuri","attention_set":{},"removed_from_attention_set":{"11975":{"account":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"last_update":"2022-04-05 15:20:09.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I1e31565475f38c6ad817268699b165759ac05410","subject":"Fix ingress bandwidth limit in the openvswitch agent","status":"MERGED","created":"2022-03-31 08:48:12.000000000","updated":"2022-04-05 15:22:26.000000000","submitted":"2022-04-05 15:20:09.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":"835947-bug/1959567-stable/ussuri","meta_rev_id":"238ac5556a3e0a9194ef12ea657a3e17104aa593","_number":835947,"virtual_id_number":835947,"owner":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":0,"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2022-04-05 15:20:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"all":[{"value":2,"date":"2022-04-04 10:51:55.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":2,"date":"2022-04-05 11:31:18.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"all":[{"value":0,"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":1,"date":"2022-04-05 11:31:18.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":0,"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-03-31 14:19:32.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-04-04 10:51:55.000000000","updated_by":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"reviewer":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"state":"REVIEWER"},{"updated":"2022-04-05 11:31:18.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"}],"messages":[{"id":"1b6a9d839bcb3a937371c2a473f1df918fb19018","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2022-03-31 08:48:12.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d55eb02adfa2ad62a7ac7d415f6ebc3f2e7be583","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-31 14:19:32.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/51cb6adcbe9e4b4e877e46951b990f6f : SUCCESS in 49m 36s\n- neutron-tempest-plugin-scenario-linuxbridge-ussuri https://zuul.opendev.org/t/openstack/build/c836a31115b646aea5540027b7970f86 : SUCCESS in 2h 26m 57s\n- neutron-tempest-plugin-scenario-openvswitch-ussuri https://zuul.opendev.org/t/openstack/build/69e8bb51e98547c58d2053ed1f379d62 : SUCCESS in 1h 49m 32s\n- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-ussuri https://zuul.opendev.org/t/openstack/build/ba7d84fb28c44e7d8716a98a77f78a09 : SUCCESS in 1h 50m 42s\n- neutron-tempest-plugin-scenario-ovn-ussuri https://zuul.opendev.org/t/openstack/build/41e78ca3a7904416a24c9242918a5392 : SUCCESS in 1h 51m 02s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/53027996be644df0a00a64ed3602488a : SUCCESS in 34m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e7f5988b2cce4820824da5cf197591de : SUCCESS in 13m 25s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/2c8a25d39069468bbc6770cb7342a30c : SUCCESS in 26m 30s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/a5db137583f44eba8efba23d05caf9cc : SUCCESS in 30m 22s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/794962b0b551450cb5e9542dde3b8955 : SUCCESS in 27m 55s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cfa5ea30599647e7b4e94ad32bc7033e : SUCCESS in 10m 52s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/ba0af67e82bd46adb2086ade7ce2889e : SUCCESS in 59m 34s\n- neutron-fullstack https://zuul.opendev.org/t/openstack/build/1efae9c2f7a2415f9231a205249561a0 : SUCCESS in 2h 09m 27s\n- neutron-fullstack-with-uwsgi https://zuul.opendev.org/t/openstack/build/9aa8da2053fc43859c83eb2f7d01beaa : SUCCESS in 1h 06m 13s\n- neutron-rally-task https://zuul.opendev.org/t/openstack/build/5103ce0a7c174377b7ad8166d4f151e7 : SUCCESS in 1h 35m 37s\n- neutron-grenade-multinode https://zuul.opendev.org/t/openstack/build/a4f6c31a4bef4a149526e95c73124d6e : SUCCESS in 1h 05m 43s\n- neutron-grenade-dvr-multinode https://zuul.opendev.org/t/openstack/build/5b378efbaf684567a07a4725f2435e21 : SUCCESS in 1h 11m 28s\n- neutron-tempest-linuxbridge https://zuul.opendev.org/t/openstack/build/6c9763521f1e4c349ca150b11dac0baa : SUCCESS in 1h 11m 17s\n- neutron-tempest-with-uwsgi https://zuul.opendev.org/t/openstack/build/74cab815ef0242b0ab41d63cc06d1e36 : SUCCESS in 1h 09m 26s\n- tempest-integrated-networking https://zuul.opendev.org/t/openstack/build/cdc7d36dd85e4d2985db48d621dbb704 : SUCCESS in 1h 09m 05s\n- tempest-multinode-full-py3 https://zuul.opendev.org/t/openstack/build/a88e69744b924a45a68953143c8636bc : SUCCESS in 1h 47m 11s (non-voting)\n- neutron-tempest-dvr-ha-multinode-full https://zuul.opendev.org/t/openstack/build/2c56ff594e844782953850d773ea6c10 : SUCCESS in 1h 20m 22s (non-voting)\n- neutron-tempest-iptables_hybrid https://zuul.opendev.org/t/openstack/build/c0c139fd8a7247c6b4f495c56ac71f9d : SUCCESS in 1h 09m 16s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/137c1f5f5fc44c6d8716f89ea5c47ef7 : FAILURE in 1h 04m 50s (non-voting)\n- neutron-tempest-slow-py3 https://zuul.opendev.org/t/openstack/build/b3a426773198464b8b6b202f18de9442 : SUCCESS in 1h 39m 47s\n- neutron-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/eded9ff4f67447c5837a0764dc67a8ce : SUCCESS in 1h 04m 20s\n- neutron-ovn-tempest-ovs-release https://zuul.opendev.org/t/openstack/build/b060d0c2b4b7493ba0b4cd59cc9a91e1 : SUCCESS in 1h 26m 05s\n- neutron-ovn-tempest-ovs-release-ipv6-only https://zuul.opendev.org/t/openstack/build/a0f17eaa81404c3ba5f4768b5b31d6a6 : SUCCESS in 39m 51s (non-voting)\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/bddc713ce893497cba92ea86ebc49fb3 : SUCCESS in 1h 16m 37s (non-voting)\n- neutron-functional-with-uwsgi https://zuul.opendev.org/t/openstack/build/8c50d5e18208475e9b00ba87d91514ea : SUCCESS in 54m 12s (non-voting)\n- tripleo-ci-centos-8-content-provider https://zuul.opendev.org/t/openstack/build/7e04d7f51cb7438f899960615dc7987c : SUCCESS in 3h 51m 37s (non-voting)\n- neutron-centos-8-tripleo-standalone https://zuul.opendev.org/t/openstack/build/8f8b030d12934b46ba0860ca46190388 : SUCCESS in 1h 22m 28s (non-voting)\n- neutron-ovn-rally-task https://zuul.opendev.org/t/openstack/build/65860bed6d1048d0b72c77ea5a079d5d : SUCCESS in 1h 54m 53s (non-voting)\n- neutron-ovn-tripleo-ci-centos-8-containers-multinode https://zuul.opendev.org/t/openstack/build/8e4704f38bfb4ec68751688f779e775c : SUCCESS in 2h 11m 16s (non-voting)\n- neutron-ovn-tempest-slow https://zuul.opendev.org/t/openstack/build/fbc5bced914a4126a32669cc94918e82 : FAILURE in 1h 34m 05s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"27a86056cef48b928c248200df525a6cdc638239","author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"date":"2022-04-04 10:51:55.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"dd87f48e97cd943cd8fa02dbfad39c2426cab4fd","author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"date":"2022-04-05 11:31:18.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"e17542314afae19dc0a8f08d950b75fd08b194bd","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-05 11:33:01.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"39d156d445ede5bda367e55c5caae11b2321eb84","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-05 15:20:09.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/1d29ffd1c1c148c6a0f41b2e8cf05650 : SUCCESS in 55m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4628d95e3a5c482ca4deb8fd21ebf0b2 : SUCCESS in 13m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/bc99f880d26644c9882d6ff730789cf0 : SUCCESS in 24m 24s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/e14b215c22284b1f9c5e7ffe9ed41103 : SUCCESS in 29m 19s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9d6b202b9dba4073a239a2922664eeaa : SUCCESS in 9m 10s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/9bc8c141fec84ae9b4bc07e611b4e67b : SUCCESS in 1h 01m 20s\n- neutron-fullstack https://zuul.opendev.org/t/openstack/build/19a3a1ef302e40629e7b00d451839286 : SUCCESS in 1h 35m 23s\n- tempest-integrated-networking https://zuul.opendev.org/t/openstack/build/6d744b2096824a48bf2607ff5b382eeb : SUCCESS in 1h 21m 32s\n- neutron-tempest-linuxbridge https://zuul.opendev.org/t/openstack/build/0f92aab924684d2bb645bb335f71f8f8 : SUCCESS in 1h 16m 55s\n- neutron-tempest-iptables_hybrid https://zuul.opendev.org/t/openstack/build/8e63eaad73c34b1bb21f001937417d20 : SUCCESS in 1h 17m 22s\n- neutron-grenade-multinode https://zuul.opendev.org/t/openstack/build/cfe26016823946e3a1d806b9050267a2 : SUCCESS in 1h 15m 02s\n- neutron-grenade-dvr-multinode https://zuul.opendev.org/t/openstack/build/5f93bb8975ce45ceab2cfb7578cf4414 : SUCCESS in 1h 12m 31s\n- neutron-tempest-slow-py3 https://zuul.opendev.org/t/openstack/build/2fb5f426219a4922bd1ecc1bfc915db5 : SUCCESS in 1h 36m 18s\n- neutron-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0d1495bcf906425a83e9ccfd2d9c0656 : SUCCESS in 1h 01m 37s\n- neutron-ovn-tempest-ovs-release https://zuul.opendev.org/t/openstack/build/6a00f8087bb046a489a9878b20d27f4c : SUCCESS in 1h 27m 50s","accounts_in_message":[],"_revision_number":1},{"id":"4779e5d7f7cb1d26562d9ace1618e94251550064","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-05 15:20:09.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"238ac5556a3e0a9194ef12ea657a3e17104aa593","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-04-05 15:22:26.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8e2e213cb54943aa846b8b1bc15f76fc : SUCCESS in 1m 27s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"e59a7d5c3d4b29b73973ba8ceb8faf6751ef4d37","revisions":{"e59a7d5c3d4b29b73973ba8ceb8faf6751ef4d37":{"kind":"REWORK","_number":1,"created":"2022-03-31 08:48:12.000000000","uploader":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"ref":"refs/changes/47/835947/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/neutron","ref":"refs/changes/47/835947/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/neutron refs/changes/47/835947/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/neutron refs/changes/47/835947/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/neutron refs/changes/47/835947/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/neutron refs/changes/47/835947/1"}}},"commit":{"parents":[{"commit":"44a22bb15c7e62e443ae440c0e85c8ef0c620b96","subject":"Clean duplicated QoS bandwidth related methods in ovs_lib module","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/44a22bb15c7e62e443ae440c0e85c8ef0c620b96"}]}],"author":{"name":"Slawek Kaplonski","email":"skaplons@redhat.com","date":"2022-03-08 15:44:59.000000000","tz":60},"committer":{"name":"Slawek Kaplonski","email":"skaplons@redhat.com","date":"2022-03-31 08:47:45.000000000","tz":120},"subject":"Fix ingress bandwidth limit in the openvswitch agent","message":"Fix ingress bandwidth limit in the openvswitch agent\n\nFor ingress bandwidth limiting openvswitch agent is using QoS and queues\nfrom the Open vSwitch. There is always queue 0 used for that purpose.\nInitially, when this feature was implemented, we assumed that queue 0 is\nkind of the \"default\" queue to which all traffic will be send if there\nare no other queues. But that\u0027s not true thus ingress bandwidth limiting\nwasn\u0027t working properly with this agent.\n\nThis patch fixes that issue but adding in the table\u003d0 of the br-int\nadditional OF rule to send all traffic to the queue 0.\nIn this queue for some ports there can be QoS configured\nand then it will be applied for the port. If port don\u0027t have any QoS\nconfigured, nothing will happen and all will work like before this\npatch.\n\nBiggest problem with that solution was the case when also ports with\nminimum bandwidth are on the same node becuase such ports are using\ndifferent queues (queue number is the same as ofport number of the tap\ninterface).\nIn case when traffic is going from the port with minimum bandwidth QoS\nto the port which has ingress bw limit configured, traffic is going only\nthrough br-int and will use queue 0 to apply ingress bw limit properly.\nIn case when traffic from port with minimum bandwidth set needs to go\nout from the host, it will always use physical bridge (minimum bandwidth\nis only supported for the provider networks) and proper queue will be\nset for such traffic in the physical bridge.\nTo be able to set proper queue in the physical bridge, this patch adds\nadditional OF rule to the br-int to set queue_num value in the pkt_mark\nfield [1] as this seems to be only field which can \"survive\" passing\nbridges.\n\n[1] https://man7.org/linux/man-pages/man7/ovs-fields.7.html\n\nCloses-Bug: #1959567\nChange-Id: I1e31565475f38c6ad817268699b165759ac05410\n(cherry picked from commit f7ab90baad83823cfb94bc8b9450cd915ea49c03)\n(cherry picked from commit 5573230d30a7beb242ab54eb85b8e36f33f79403)\n(cherry picked from commit 4a0ca56fe57dbab08face37a22b9c3273141667d)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/e59a7d5c3d4b29b73973ba8ceb8faf6751ef4d37"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron/commit/e59a7d5c3d4b29b73973ba8ceb8faf6751ef4d37"}]},"branch":"refs/heads/stable/ussuri"}},"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":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"}},{"label":"Review-Priority","status":"MAY"}]}],"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":{}}}]}
