)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34564,"name":"Yamato Tanaka","email":"yatanaka@redhat.com","username":"yatanaka-1007"},"change_message_id":"084bfa8ebb438a41d4c747e0db4b1eb2d40d8576","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"556135e5_24febfe9","updated":"2023-07-28 05:37:46.000000000","message":"RECHECK\n\nhttps://zuul.opendev.org/t/openstack/build/1845f9f7d11a476ab9404baf04906e4d\nIt seems that logs were emitted to ffu_undercloud_upgrade.log, but ffu_undercloud_upgrade.log was not collected due to timeout and I cannot see it.\nTrying recheck...","commit_id":"aec4e3989b55a3350e4d3a592c5291a81bcb4991"},{"author":{"_account_id":34598,"name":"Manojkatari","email":"mkatari@redhat.com","username":"mkatari"},"change_message_id":"fa8249187f6e9f2219a91f7a6ab3345bb60da5d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0498c522_0f45b210","updated":"2023-08-11 09:48:01.000000000","message":"recheck","commit_id":"abc148e31142c20edadc38139a7a4daf34aa7d57"},{"author":{"_account_id":34564,"name":"Yamato Tanaka","email":"yatanaka@redhat.com","username":"yatanaka-1007"},"change_message_id":"f74ad1782c22776d8c40b80081c4128ab51625e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"48cdc864_b5038411","updated":"2023-08-14 23:30:05.000000000","message":"recheck\n\nCI environment\u0027s network issue?\n\nhttps://95800cf05d609dc1b6dc-457a62f3edf936e12b25b29cc986a36d.ssl.cf2.rackcdn.com/889845/3/gate/tripleo-ci-centos-9-scenario000-multinode-oooq-container-updates/de39b5b/logs/undercloud/home/zuul/undercloud_update.log\n2023-08-14 11:39:15 | 2023-08-14 11:39:15.964878 | fa163e00-4a82-b2f3-248b-00000000183f |      FATAL | Container image prepare | undercloud | error\u003d{\"changed\": false, \"error\": \"HTTPSConnectionPool(host\u003d\u0027104.130.172.4\u0027, port\u003d5001): Max retries exceeded with url: /v2/ (Caused by NewConnectionError(\u0027\u003curllib3.connection.HTTPSConnection object at 0x7f3c8fb9ba90\u003e: Failed to establish a new connection: [Errno 113] No route to host\u0027))\", \"msg\": \"Error running container image prepare: HTTPSConnectionPool(host\u003d\u0027104.130.172.4\u0027, port\u003d5001): Max retries exceeded with url: /v2/ (Caused by NewConnectionError(\u0027\u003curllib3.connection.HTTPSConnection object at 0x7f3c8fb9ba90\u003e: Failed to establish a new connection: [Errno 113] No route to host\u0027))\", \"params\": {}, \"success\": false}","commit_id":"d766571fa19c22cd42184d502dc3832b044ad720"}],"tripleo_ansible/ansible_plugins/modules/ceph_spec_bootstrap.py":[{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"6196dc3e0b6900071d92aed5e7dedce8eb2ab94d","unresolved":true,"context_lines":[{"line_number":286,"context_line":"                for item in metal[\u0027parameter_defaults\u0027]:"},{"line_number":287,"context_line":"                    if item \u003d\u003d role + \u0027HostnameFormat\u0027:"},{"line_number":288,"context_line":"                        host_fmt \u003d metal[\u0027parameter_defaults\u0027][item]"},{"line_number":289,"context_line":"                        pat \u003d host_fmt.replace(\u0027%stackname%\u0027, \u0027.*\u0027).replace(\u0027%index%\u0027, r\u0027\\d+\u0027) + \u0027$\u0027"},{"line_number":290,"context_line":"                        reg \u003d re.compile(pat)"},{"line_number":291,"context_line":"                        matching_hosts \u003d []"},{"line_number":292,"context_line":"                        for host in name_map:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf1f3248_1a3b23da","line":289,"updated":"2023-08-09 17:40:42.000000000","message":"With the new unit test, if I undo this change and use the old pattern it produces the following which is definitely wrong (we cannot have the same host in two diff roles).\n\n reference \u003d {\u0027DistributedComputeHCI\u0027: [\u0027oc0-distributedcomputehci-0\u0027,\n                           \u0027oc0-distributedcomputehci-1\u0027,\n                           \u0027oc0-distributedcomputehci-2\u0027,\n                           \u0027oc0-distributedcomputehciscaleout-0\u0027],\n  \u0027DistributedComputeHCIScaleOut\u0027: [\u0027oc0-distributedcomputehciscaleout-0\u0027],","commit_id":"aec4e3989b55a3350e4d3a592c5291a81bcb4991"},{"author":{"_account_id":34564,"name":"Yamato Tanaka","email":"yatanaka@redhat.com","username":"yatanaka-1007"},"change_message_id":"ed76c1ec505195919ac4a3a68819fbf9a49dd0e9","unresolved":false,"context_lines":[{"line_number":286,"context_line":"                for item in metal[\u0027parameter_defaults\u0027]:"},{"line_number":287,"context_line":"                    if item \u003d\u003d role + \u0027HostnameFormat\u0027:"},{"line_number":288,"context_line":"                        host_fmt \u003d metal[\u0027parameter_defaults\u0027][item]"},{"line_number":289,"context_line":"                        pat \u003d host_fmt.replace(\u0027%stackname%\u0027, \u0027.*\u0027).replace(\u0027%index%\u0027, r\u0027\\d+\u0027) + \u0027$\u0027"},{"line_number":290,"context_line":"                        reg \u003d re.compile(pat)"},{"line_number":291,"context_line":"                        matching_hosts \u003d []"},{"line_number":292,"context_line":"                        for host in name_map:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7dbe8fec_6f95a898","line":289,"in_reply_to":"a38c6e95_fdc6856b","updated":"2023-08-13 23:49:21.000000000","message":"Thank you for checking. I\u0027m marking this thread as \"Resolved\".","commit_id":"aec4e3989b55a3350e4d3a592c5291a81bcb4991"},{"author":{"_account_id":34598,"name":"Manojkatari","email":"mkatari@redhat.com","username":"mkatari"},"change_message_id":"04bb91a2856b27d34e1eb26219c21add6ffb14de","unresolved":true,"context_lines":[{"line_number":286,"context_line":"                for item in metal[\u0027parameter_defaults\u0027]:"},{"line_number":287,"context_line":"                    if item \u003d\u003d role + \u0027HostnameFormat\u0027:"},{"line_number":288,"context_line":"                        host_fmt \u003d metal[\u0027parameter_defaults\u0027][item]"},{"line_number":289,"context_line":"                        pat \u003d host_fmt.replace(\u0027%stackname%\u0027, \u0027.*\u0027).replace(\u0027%index%\u0027, r\u0027\\d+\u0027) + \u0027$\u0027"},{"line_number":290,"context_line":"                        reg \u003d re.compile(pat)"},{"line_number":291,"context_line":"                        matching_hosts \u003d []"},{"line_number":292,"context_line":"                        for host in name_map:"}],"source_content_type":"text/x-python","patch_set":1,"id":"a38c6e95_fdc6856b","line":289,"in_reply_to":"bf1f3248_1a3b23da","updated":"2023-08-10 17:06:40.000000000","message":"Agree with john, without this fix, generated regex (.*-distributedcomputehci ) can match with incorrect host (oc0-distributedcomputehciscaleout-0) from a different role, which then results in wrong roles-\u003ehosts map.\n\nWith the new pattern, regex (.*-distributedcomputehci-\\d+$) will generate correct roles-\u003ehosts map.\n\nThanks Yamato for coming up with this fix","commit_id":"aec4e3989b55a3350e4d3a592c5291a81bcb4991"}],"tripleo_ansible/tests/modules/test_ceph_spec_bootstrap.py":[{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1a2813fd00f1dd10375bc93e6abbed69a7c9489","unresolved":true,"context_lines":[{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        self.assertEqual(specs, expected)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def test_metal_roles_based_spec_edge_site(self):"},{"line_number":218,"context_line":"        \"\"\"verify we can build a ceph spec and supporting data"},{"line_number":219,"context_line":"           structures from a mealsmith and tripleo roles file for edge sites"},{"line_number":220,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5935e9db_6c10a042","line":217,"updated":"2023-08-09 17:31:56.000000000","message":"We see the new unit test passed.\n\n  tripleo_ansible.tests.modules.test_ceph_spec_bootstrap.TestCephSpecBootstrap test_metal_roles_based_spec_edge_site\n\nhttps://e71dbdd3ae8d601f2c96-8afd88a2556265530ed64527d716118c.ssl.cf1.rackcdn.com/889845/1/check/openstack-tox-py39/9921f40/testr_results.html\n\nI confirmed locally in my environment too:\n\n  tox -e py36 -- tripleo_ansible.tests.modules.test_ceph_spec_bootstrap.TestCephSpecBootstrap.test_metal_roles_based_spec_edge_site","commit_id":"aec4e3989b55a3350e4d3a592c5291a81bcb4991"},{"author":{"_account_id":34598,"name":"Manojkatari","email":"mkatari@redhat.com","username":"mkatari"},"change_message_id":"04bb91a2856b27d34e1eb26219c21add6ffb14de","unresolved":false,"context_lines":[{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        self.assertEqual(specs, expected)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def test_metal_roles_based_spec_edge_site(self):"},{"line_number":218,"context_line":"        \"\"\"verify we can build a ceph spec and supporting data"},{"line_number":219,"context_line":"           structures from a mealsmith and tripleo roles file for edge sites"},{"line_number":220,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"34eb2936_e84b9783","line":217,"in_reply_to":"5935e9db_6c10a042","updated":"2023-08-10 17:06:40.000000000","message":"UT is passed [1] \n\ntest and the mocked parameters of roles, metal LGTM\n\n[1] https://zuul.opendev.org/t/openstack/build/9921f40b6a964fed86132fa02e2b40e8/log/job-output.txt#1209","commit_id":"aec4e3989b55a3350e4d3a592c5291a81bcb4991"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1a2813fd00f1dd10375bc93e6abbed69a7c9489","unresolved":true,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def test_metal_roles_based_spec_edge_site(self):"},{"line_number":218,"context_line":"        \"\"\"verify we can build a ceph spec and supporting data"},{"line_number":219,"context_line":"           structures from a mealsmith and tripleo roles file for edge sites"},{"line_number":220,"context_line":"        \"\"\""},{"line_number":221,"context_line":"        ceph_service_types \u003d [\u0027mon\u0027, \u0027mgr\u0027, \u0027osd\u0027]"},{"line_number":222,"context_line":"        metal \u003d \"roles/tripleo_cephadm/molecule/default/mock/mock_deployed_metal_edge_site.yaml\""}],"source_content_type":"text/x-python","patch_set":1,"id":"b9d08d7c_b74f2033","line":219,"range":{"start_line":219,"start_character":29,"end_line":219,"end_character":38},"updated":"2023-08-09 17:31:56.000000000","message":"nit: metalsmith","commit_id":"aec4e3989b55a3350e4d3a592c5291a81bcb4991"},{"author":{"_account_id":34564,"name":"Yamato Tanaka","email":"yatanaka@redhat.com","username":"yatanaka-1007"},"change_message_id":"ed76c1ec505195919ac4a3a68819fbf9a49dd0e9","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def test_metal_roles_based_spec_edge_site(self):"},{"line_number":218,"context_line":"        \"\"\"verify we can build a ceph spec and supporting data"},{"line_number":219,"context_line":"           structures from a mealsmith and tripleo roles file for edge sites"},{"line_number":220,"context_line":"        \"\"\""},{"line_number":221,"context_line":"        ceph_service_types \u003d [\u0027mon\u0027, \u0027mgr\u0027, \u0027osd\u0027]"},{"line_number":222,"context_line":"        metal \u003d \"roles/tripleo_cephadm/molecule/default/mock/mock_deployed_metal_edge_site.yaml\""}],"source_content_type":"text/x-python","patch_set":1,"id":"c5b3b799_416c854b","line":219,"range":{"start_line":219,"start_character":29,"end_line":219,"end_character":38},"in_reply_to":"b9d08d7c_b74f2033","updated":"2023-08-13 23:49:21.000000000","message":"Done.\nI fixed the same typo on other two unit tests as well.","commit_id":"aec4e3989b55a3350e4d3a592c5291a81bcb4991"}]}
