)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"a654801f35c05172588512c69ef4f62d44baeb68","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e57f3027_78a285b9","updated":"2026-04-26 13:23:08.000000000","message":"Thank you for this fix!\nI noticed one thing that bothered me, and another small nit on the way.","commit_id":"86b0252739e85f0d14c20cae1d6dea1c8e85d629"},{"author":{"_account_id":34118,"name":"Arnau Verdaguer","email":"averdagu@redhat.com","username":"averdaguer"},"change_message_id":"a7d9fc7d92b8a140fb80a993b5043464043429ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c88e9016_a878a2af","updated":"2026-04-25 11:40:09.000000000","message":"recheck - failed during edpm deploy, not related","commit_id":"86b0252739e85f0d14c20cae1d6dea1c8e85d629"},{"author":{"_account_id":34118,"name":"Arnau Verdaguer","email":"averdagu@redhat.com","username":"averdaguer"},"change_message_id":"33f6b16090fc0806c605137dc6c7ad70e366a4b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"bb4c823c_8c905709","updated":"2026-04-28 09:03:36.000000000","message":"recheck","commit_id":"0c9624ad87d6baa706556502b778b48429d77a02"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"3ad3933b34d2cdc915771e683b0cc44557d94841","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"0810ad76_3a18baef","updated":"2026-04-28 13:06:28.000000000","message":"recheck unrelated failures","commit_id":"0c9624ad87d6baa706556502b778b48429d77a02"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"2ab3a368a79fc20ea12f0cf3d4deb58ada5e0e62","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5f50471d_10490fe4","updated":"2026-04-28 10:56:08.000000000","message":"recheck unrelated failures","commit_id":"0c9624ad87d6baa706556502b778b48429d77a02"}],"whitebox_neutron_tempest_plugin/tests/scenario/base.py":[{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"ea5bf1597692aae904fe1dcbb3d7f0e505287782","unresolved":true,"context_lines":[{"line_number":1853,"context_line":"                    monitorcmdprefix + sb_monitor_connection_opts)"},{"line_number":1854,"context_line":"        # if podified"},{"line_number":1855,"context_line":"        nb_monitor_connection_opts \u003d cls.nbctl.replace("},{"line_number":1856,"context_line":"            \u0027ovn-nbctl\u0027, \u0027{} unix:/etc/ovn/ovnnb_db.sock\u0027.format("},{"line_number":1857,"context_line":"                monitorcmdprefix))"},{"line_number":1858,"context_line":"        sb_monitor_connection_opts \u003d cls.sbctl.replace("},{"line_number":1859,"context_line":"            \u0027ovn-sbctl\u0027, \u0027{} unix:/etc/ovn/ovnsb_db.sock\u0027.format("}],"source_content_type":"text/x-python","patch_set":1,"id":"46feb3c0_8c3575e9","line":1856,"updated":"2026-04-23 07:36:53.000000000","message":"we need do it in backward compatible way so it works with both new and old operators i.e first try with new location and fallback to old one","commit_id":"82cc4e006fc96940b9a20977f0c8de449176b7ab"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"6885027983318fd0a6c0d94306e097f48859a087","unresolved":false,"context_lines":[{"line_number":1853,"context_line":"                    monitorcmdprefix + sb_monitor_connection_opts)"},{"line_number":1854,"context_line":"        # if podified"},{"line_number":1855,"context_line":"        nb_monitor_connection_opts \u003d cls.nbctl.replace("},{"line_number":1856,"context_line":"            \u0027ovn-nbctl\u0027, \u0027{} unix:/etc/ovn/ovnnb_db.sock\u0027.format("},{"line_number":1857,"context_line":"                monitorcmdprefix))"},{"line_number":1858,"context_line":"        sb_monitor_connection_opts \u003d cls.sbctl.replace("},{"line_number":1859,"context_line":"            \u0027ovn-sbctl\u0027, \u0027{} unix:/etc/ovn/ovnsb_db.sock\u0027.format("}],"source_content_type":"text/x-python","patch_set":1,"id":"a7e55814_66f681c6","line":1856,"in_reply_to":"46feb3c0_8c3575e9","updated":"2026-04-24 08:30:20.000000000","message":"Done","commit_id":"82cc4e006fc96940b9a20977f0c8de449176b7ab"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"e66e74f0328352e61037b02e0cc111b7d7a65609","unresolved":true,"context_lines":[{"line_number":1846,"context_line":"                found\u003d\"echo \u0027FOUND\u0027\","},{"line_number":1847,"context_line":"                not_found\u003d\"echo \u0027NOT FOUND\u0027\","},{"line_number":1848,"context_line":"            )"},{"line_number":1849,"context_line":"            output \u003d self.run_on_master_controller(test_sock_cmd)"},{"line_number":1850,"context_line":"            if output \u003d\u003d \"FOUND\":"},{"line_number":1851,"context_line":"                return path"},{"line_number":1852,"context_line":"        LOG.debug(\"OVN DB Socket was not found either on /tmp or /etc/ovn.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"6a3e4ba4_1906cca4","line":1849,"updated":"2026-04-23 15:45:13.000000000","message":"I think you need to run the command on the pod, i.e. you have to add the prefix:\n`oc -n openstack exec ovsdbserver-nb-0 blablabla`","commit_id":"805ec68b4c90659173b6bb8b200eef4d3d3d2f36"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"6885027983318fd0a6c0d94306e097f48859a087","unresolved":false,"context_lines":[{"line_number":1846,"context_line":"                found\u003d\"echo \u0027FOUND\u0027\","},{"line_number":1847,"context_line":"                not_found\u003d\"echo \u0027NOT FOUND\u0027\","},{"line_number":1848,"context_line":"            )"},{"line_number":1849,"context_line":"            output \u003d self.run_on_master_controller(test_sock_cmd)"},{"line_number":1850,"context_line":"            if output \u003d\u003d \"FOUND\":"},{"line_number":1851,"context_line":"                return path"},{"line_number":1852,"context_line":"        LOG.debug(\"OVN DB Socket was not found either on /tmp or /etc/ovn.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"952ba698_cbe3acf6","line":1849,"in_reply_to":"6a3e4ba4_1906cca4","updated":"2026-04-24 08:30:20.000000000","message":"Done","commit_id":"805ec68b4c90659173b6bb8b200eef4d3d3d2f36"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"6885027983318fd0a6c0d94306e097f48859a087","unresolved":true,"context_lines":[{"line_number":1841,"context_line":"    @classmethod"},{"line_number":1842,"context_line":"    def _get_ovn_db_unix_socket_path(cls):"},{"line_number":1843,"context_line":"        for path in \"/tmp\", \"/etc/ovn\":"},{"line_number":1844,"context_line":"            test_sock_cmd \u003d \"{oc_cmd} \\\"{test_cmd} \u0026\u0026 {found} || {not_found}\\\"\".format("},{"line_number":1845,"context_line":"                # Assume that path will be same in SB/NB, only checking nb"},{"line_number":1846,"context_line":"                oc_cmd \u003d \"oc -n openstack exec ovsdbserver-nb-0\","},{"line_number":1847,"context_line":"                test_cmd \u003d \"test -S {}/ovn*_db.sock\".format(path),"}],"source_content_type":"text/x-python","patch_set":3,"id":"9e5286b4_233fa7c5","line":1844,"updated":"2026-04-24 08:30:20.000000000","message":"pep8 will fail due to line too long","commit_id":"9c0ea5550c9a3ef45171e50d52fb94dfea40adbf"},{"author":{"_account_id":34118,"name":"Arnau Verdaguer","email":"averdagu@redhat.com","username":"averdaguer"},"change_message_id":"07001dd0b4fa1df1529f4377f28e22298f975c35","unresolved":false,"context_lines":[{"line_number":1841,"context_line":"    @classmethod"},{"line_number":1842,"context_line":"    def _get_ovn_db_unix_socket_path(cls):"},{"line_number":1843,"context_line":"        for path in \"/tmp\", \"/etc/ovn\":"},{"line_number":1844,"context_line":"            test_sock_cmd \u003d \"{oc_cmd} \\\"{test_cmd} \u0026\u0026 {found} || {not_found}\\\"\".format("},{"line_number":1845,"context_line":"                # Assume that path will be same in SB/NB, only checking nb"},{"line_number":1846,"context_line":"                oc_cmd \u003d \"oc -n openstack exec ovsdbserver-nb-0\","},{"line_number":1847,"context_line":"                test_cmd \u003d \"test -S {}/ovn*_db.sock\".format(path),"}],"source_content_type":"text/x-python","patch_set":3,"id":"d1f8eb0f_3a8a42e5","line":1844,"in_reply_to":"9e5286b4_233fa7c5","updated":"2026-04-24 08:57:22.000000000","message":"Done","commit_id":"9c0ea5550c9a3ef45171e50d52fb94dfea40adbf"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"6885027983318fd0a6c0d94306e097f48859a087","unresolved":true,"context_lines":[{"line_number":1843,"context_line":"        for path in \"/tmp\", \"/etc/ovn\":"},{"line_number":1844,"context_line":"            test_sock_cmd \u003d \"{oc_cmd} \\\"{test_cmd} \u0026\u0026 {found} || {not_found}\\\"\".format("},{"line_number":1845,"context_line":"                # Assume that path will be same in SB/NB, only checking nb"},{"line_number":1846,"context_line":"                oc_cmd \u003d \"oc -n openstack exec ovsdbserver-nb-0\","},{"line_number":1847,"context_line":"                test_cmd \u003d \"test -S {}/ovn*_db.sock\".format(path),"},{"line_number":1848,"context_line":"                found \u003d \"echo \u0027FOUND\u0027\","},{"line_number":1849,"context_line":"                not_found \u003d \"echo \u0027NOT FOUND\u0027\","}],"source_content_type":"text/x-python","patch_set":3,"id":"1bd851e4_3a49f144","line":1846,"updated":"2026-04-24 08:30:20.000000000","message":"nit (and sorry for not specifying this in my previous comment)\n```suggestion\n                oc_cmd \u003d f\"{cls.OC} exec ovsdbserver-nb-0\",\n```","commit_id":"9c0ea5550c9a3ef45171e50d52fb94dfea40adbf"},{"author":{"_account_id":34118,"name":"Arnau Verdaguer","email":"averdagu@redhat.com","username":"averdaguer"},"change_message_id":"07001dd0b4fa1df1529f4377f28e22298f975c35","unresolved":false,"context_lines":[{"line_number":1843,"context_line":"        for path in \"/tmp\", \"/etc/ovn\":"},{"line_number":1844,"context_line":"            test_sock_cmd \u003d \"{oc_cmd} \\\"{test_cmd} \u0026\u0026 {found} || {not_found}\\\"\".format("},{"line_number":1845,"context_line":"                # Assume that path will be same in SB/NB, only checking nb"},{"line_number":1846,"context_line":"                oc_cmd \u003d \"oc -n openstack exec ovsdbserver-nb-0\","},{"line_number":1847,"context_line":"                test_cmd \u003d \"test -S {}/ovn*_db.sock\".format(path),"},{"line_number":1848,"context_line":"                found \u003d \"echo \u0027FOUND\u0027\","},{"line_number":1849,"context_line":"                not_found \u003d \"echo \u0027NOT FOUND\u0027\","}],"source_content_type":"text/x-python","patch_set":3,"id":"e0577fe3_eeea84e4","line":1846,"in_reply_to":"1bd851e4_3a49f144","updated":"2026-04-24 08:57:22.000000000","message":"Done","commit_id":"9c0ea5550c9a3ef45171e50d52fb94dfea40adbf"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"6885027983318fd0a6c0d94306e097f48859a087","unresolved":true,"context_lines":[{"line_number":1851,"context_line":"            output \u003d self.run_on_master_controller(test_sock_cmd)"},{"line_number":1852,"context_line":"            if output \u003d\u003d \"FOUND\":"},{"line_number":1853,"context_line":"                return path"},{"line_number":1854,"context_line":"        LOG.debug(\"OVN DB Socket was not found either on /tmp or /etc/ovn.\")"},{"line_number":1855,"context_line":""},{"line_number":1856,"context_line":"    @classmethod"},{"line_number":1857,"context_line":"    def _get_ovn_db_monitor_cmds(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"90725df7_e2dd1439","line":1854,"updated":"2026-04-24 08:30:20.000000000","message":"I think we should raise an exception here. If no path matched, the test would fail.","commit_id":"9c0ea5550c9a3ef45171e50d52fb94dfea40adbf"},{"author":{"_account_id":34118,"name":"Arnau Verdaguer","email":"averdagu@redhat.com","username":"averdaguer"},"change_message_id":"07001dd0b4fa1df1529f4377f28e22298f975c35","unresolved":false,"context_lines":[{"line_number":1851,"context_line":"            output \u003d self.run_on_master_controller(test_sock_cmd)"},{"line_number":1852,"context_line":"            if output \u003d\u003d \"FOUND\":"},{"line_number":1853,"context_line":"                return path"},{"line_number":1854,"context_line":"        LOG.debug(\"OVN DB Socket was not found either on /tmp or /etc/ovn.\")"},{"line_number":1855,"context_line":""},{"line_number":1856,"context_line":"    @classmethod"},{"line_number":1857,"context_line":"    def _get_ovn_db_monitor_cmds(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5dc1057a_75e7b207","line":1854,"in_reply_to":"90725df7_e2dd1439","updated":"2026-04-24 08:57:22.000000000","message":"Done","commit_id":"9c0ea5550c9a3ef45171e50d52fb94dfea40adbf"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"a654801f35c05172588512c69ef4f62d44baeb68","unresolved":true,"context_lines":[{"line_number":1849,"context_line":"                not_found\u003d\"echo \u0027NOT FOUND\u0027\","},{"line_number":1850,"context_line":"            )"},{"line_number":1851,"context_line":"            output \u003d cls.run_on_master_controller(cmd)"},{"line_number":1852,"context_line":"            if output \u003d\u003d \"FOUND\":"},{"line_number":1853,"context_line":"                return path"},{"line_number":1854,"context_line":"        raise RuntimeError("},{"line_number":1855,"context_line":"            \"OVN DB Socket was not found either on /tmp or /etc/ovn.\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"bf5aad19_4e4300c6","line":1852,"range":{"start_line":1852,"start_character":0,"end_line":1852,"end_character":33},"updated":"2026-04-26 13:23:08.000000000","message":"I was thinking that checking exactly for `FOUND` string from all output may break easily.\nSince `oc` command may have unwanted output over time (common related example [1]).\nSince always either 1 of the 2 echo commands at the end should execute, therefore have their output last, possible to assert against last line of output for exact string.\n\n[1]\n```\n[zuul@controller-0 ~]$ oc rsh neutron-59487f5f6c-29pfn echo nada\nDefaulted container \"neutron-api\" out of: neutron-api, neutron-httpd\nnada\n```","commit_id":"86b0252739e85f0d14c20cae1d6dea1c8e85d629"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"a654801f35c05172588512c69ef4f62d44baeb68","unresolved":true,"context_lines":[{"line_number":1852,"context_line":"            if output \u003d\u003d \"FOUND\":"},{"line_number":1853,"context_line":"                return path"},{"line_number":1854,"context_line":"        raise RuntimeError("},{"line_number":1855,"context_line":"            \"OVN DB Socket was not found either on /tmp or /etc/ovn.\")"},{"line_number":1856,"context_line":""},{"line_number":1857,"context_line":"    @classmethod"},{"line_number":1858,"context_line":"    def _get_ovn_db_monitor_cmds(cls):"}],"source_content_type":"text/x-python","patch_set":7,"id":"09fb7bf2_8461a548","line":1855,"range":{"start_line":1855,"start_character":0,"end_line":1855,"end_character":70},"updated":"2026-04-26 13:23:08.000000000","message":"nit: would be very helpful having full command `output` that led to failure in raised traceback.","commit_id":"86b0252739e85f0d14c20cae1d6dea1c8e85d629"}]}
