)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"76dc12567f8eef6b66397d23320ac3adbf6f2f22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d140cfef_146aedf0","updated":"2022-08-09 12:00:27.000000000","message":"...and https://review.opendev.org/c/openstack/tripleo-heat-templates/+/851507","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"13a7ed13db0ef6b7baecac2d8f780121256d0a4e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9c73327b_28a881ec","updated":"2022-08-09 14:53:49.000000000","message":"Actually, whatever works for me. Please proceed with the approach you prefer, Oliver","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"105c37f1d6fe3098d374d9c7fbe830dd420130b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"12263851_56d86d6a","updated":"2022-08-09 11:58:37.000000000","message":"I would prefer to go with https://review.opendev.org/c/openstack/puppet-tripleo/+/851612","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"7537c4433322daf5409099f67b0ff3e0127db9a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"03f3ab4f_f244e403","updated":"2022-08-03 13:08:41.000000000","message":"I\u0027m not sure we need all these python scripts? Isn\u0027t we have puppet (and ansible) already","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"0b4d173e6f72b514771280580c0b474d55961c69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e2539831_b07f01cf","updated":"2022-08-09 15:35:34.000000000","message":"Thank you for testing it,\nRDO CI HA job [0] also looks ok:\n\nINFO:nova_api_ensure_default_cells:Creating default cell with database connection \u0027mysql+pymysql://{username}:{password}@172.17.0.81/nova?read_default_file\u003d/etc/my.cnf.d/tripleo.cnf\u0026read_default_group\u003dtripleo\u0027 and transport url \u0027rabbit://{username1}:{password1}@overcloud-controller-0.internalapi.localdomain:5672,{username2}:{password2}@overcloud-controller-1.internalapi.localdomain:5672,{username3}:{password3}@overcloud-controller-2.internalapi.localdomain:5672/?ssl\u003d0\u0027\n\n\n[0] https://logserver.rdoproject.org/17/851917/7/openstack-check/tripleo-ci-centos-9-ovb-3ctlr_1comp-featureset001/8030eed/logs/overcloud-controller-0/var/log/extra/podman/containers/nova_api_ensure_default_cells/stdout.log.txt.gz","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"a059156ac006f0dff1d2d392315e8b11fd631126","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7b5729be_4d4345a5","updated":"2022-08-09 12:37:36.000000000","message":"if this script is backportable w/o changes down to Train, and if we could keep using that script as is in standalone roles as well, that would become a better option over tht/puppet implemenation though","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"c390ca63b4c3ad7b32bd9030338851580b774f3a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"790bf679_8d5df202","in_reply_to":"03f3ab4f_f244e403","updated":"2022-08-03 13:42:47.000000000","message":"The approach I proposed using puppet/sh always felt extremely hacky. Having to workaround os_transport_url escaping the {} convinced me that python is the better approach. We get proper url parsing, unit testing etc...","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"305eacfbe9af5d510c1be7c5678afd80273c42de","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c07a7708_73b88567","in_reply_to":"555c744d_98583242","updated":"2022-08-08 16:50:24.000000000","message":"I expect everything in container_config_scripts is in a similar situation. As this needs to be back-ported to at least wallaby, and perhaps train, I\u0027d rather stick with the approach we used there and follow up with a patch to migrate it/them to ansible modules","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"c848e4c34a03e5c916f4c2fd37a85876d0366b02","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7ef69dd6_af582f03","in_reply_to":"790bf679_8d5df202","updated":"2022-08-03 14:08:37.000000000","message":"\u003e We get proper url parsing, unit testing etc...\n^ With python...","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"684664e3a09c5757b79071ed46e75c5cd30de11e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"26748685_77328896","in_reply_to":"7b5729be_4d4345a5","updated":"2022-08-09 12:38:20.000000000","message":"but then we need to host it in tripleo-ansible or common to refer it somehow universally","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"606b5f0bb5c35481bd3112f00668139eef4fb336","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"555c744d_98583242","in_reply_to":"7ef69dd6_af582f03","updated":"2022-08-07 23:07:17.000000000","message":"I\u0027m ok with it being Python. But my main concern is that we\u0027ll need to duplicate this work for standalone roles since we can\u0027t leverage it from THT. Maybe a neater and more globally accessible method would be to implement a Ansible module, which seems to be more the standard for us in recent years:\nhttps://github.com/openstack/tripleo-ansible/tree/master/tripleo_ansible/ansible_plugins/modules","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"0c3474be6c8e0b86cd550aeaeba73e7ca35ab3b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"65503b99_668ac8c9","in_reply_to":"831a8821_d4956840","updated":"2022-10-28 13:16:32.000000000","message":"Done","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"00e41e6da2bf4f1d4a4be6c19324749b88d931e3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d6888a5f_420e3942","in_reply_to":"c07a7708_73b88567","updated":"2022-10-19 15:07:50.000000000","message":"Brendon, would you accept that for future work?","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"07dc7b1cd08b91e695a1b6b06859e93333020bbc","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"831a8821_d4956840","in_reply_to":"d6888a5f_420e3942","updated":"2022-10-26 23:25:49.000000000","message":"Sorry, I missed this question. I need a better email filtering system...\n\nYeah, sure. Happy with that, just calling it out as something we will probably need to do at some point.","commit_id":"70c168e79f70c9f0d5b3c6eccb790f5e32e45c77"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"b14a5e0ec6def3437f66cb7de0d68c59055d4ccd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"62905c35_1078240f","updated":"2022-08-11 11:58:47.000000000","message":"recheck fips","commit_id":"d3f5fbd43353fc14399b5c13dbc861e28205b3ce"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"e1952444cd952fd57d15a0bd42dc062564ad7ff8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"8ded79d0_8eb340d5","updated":"2022-08-10 11:30:37.000000000","message":"this provides an alternative to\nhttps://review.opendev.org/c/openstack/puppet-tripleo/+/851612 and https://review.opendev.org/c/openstack/tripleo-heat-templates/+/851507","commit_id":"d3f5fbd43353fc14399b5c13dbc861e28205b3ce"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"1177439f57e2d3d95853083f4c9d8211d24bad45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"9ec36845_41e798f6","updated":"2022-10-20 13:39:00.000000000","message":"PTAL, folks","commit_id":"9fe769c512a44de9772fd79b6a5bc12998c758eb"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"cd0ebb203509699c491310ae74f82d1ba1c6c649","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"e2eae42f_70467521","updated":"2022-09-15 09:18:55.000000000","message":"check-rdo","commit_id":"9fe769c512a44de9772fd79b6a5bc12998c758eb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"3d1222fdeb5d5b106be925d1be6f311867030032","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"d70ff793_ca0f8587","updated":"2022-10-19 15:05:49.000000000","message":"please merge this, it enables multi-cell for Wallaby and osp17.1","commit_id":"9fe769c512a44de9772fd79b6a5bc12998c758eb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"666faa20206b34227094816ef4fa0f973a7e9f52","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"7cef6bc1_1b4e91bc","updated":"2022-10-26 15:29:27.000000000","message":"recheck","commit_id":"9fe769c512a44de9772fd79b6a5bc12998c758eb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"a1b3f8b0b88a35327070432e75ff1165c4510b5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"29992606_3936e847","updated":"2022-10-28 13:16:40.000000000","message":"recheck gate","commit_id":"9fe769c512a44de9772fd79b6a5bc12998c758eb"}],"container_config_scripts/nova_api_ensure_default_cells.py":[{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"9867f8f33f462c8f06702d538b66d879eec208c8","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":"import os"},{"line_number":19,"context_line":"import six"},{"line_number":20,"context_line":"import subprocess"},{"line_number":21,"context_line":"import sys"},{"line_number":22,"context_line":"from urllib import parse as urlparse"}],"source_content_type":"text/x-python","patch_set":6,"id":"93e06d41_4b833459","line":19,"updated":"2022-08-03 01:28:45.000000000","message":"I know this is still WIP. But just highlighting that we don\u0027t want to start using six again. We\u0027re not supporting anything running on Py2.x anymore, so six isn\u0027t necessary.","commit_id":"1f7d8435e117263855b131e925b3ea92f9d74bba"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"91802d474f490182e6a63c5bc947eb0674108845","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":"import os"},{"line_number":19,"context_line":"import six"},{"line_number":20,"context_line":"import subprocess"},{"line_number":21,"context_line":"import sys"},{"line_number":22,"context_line":"from urllib import parse as urlparse"}],"source_content_type":"text/x-python","patch_set":6,"id":"f549bcd8_9d1ca67f","line":19,"in_reply_to":"93e06d41_4b833459","updated":"2022-08-03 09:24:04.000000000","message":"FWIW I copied this from one of the other container_config_scripts so we are still using six. If train is using py3.x then can drop it, otherwise can follow-up with a patch to remove six from all of these scripts","commit_id":"1f7d8435e117263855b131e925b3ea92f9d74bba"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"cd0ebb203509699c491310ae74f82d1ba1c6c649","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":"import os"},{"line_number":19,"context_line":"import six"},{"line_number":20,"context_line":"import subprocess"},{"line_number":21,"context_line":"import sys"},{"line_number":22,"context_line":"from urllib import parse as urlparse"}],"source_content_type":"text/x-python","patch_set":6,"id":"1038a644_8440aa1c","line":19,"in_reply_to":"c0f04b05_ad41f24b","updated":"2022-09-15 09:18:55.000000000","message":"Done","commit_id":"1f7d8435e117263855b131e925b3ea92f9d74bba"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"c806deb05d6886babbd2197cc732b2d785246e6d","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":"import os"},{"line_number":19,"context_line":"import six"},{"line_number":20,"context_line":"import subprocess"},{"line_number":21,"context_line":"import sys"},{"line_number":22,"context_line":"from urllib import parse as urlparse"}],"source_content_type":"text/x-python","patch_set":6,"id":"c0f04b05_ad41f24b","line":19,"in_reply_to":"f549bcd8_9d1ca67f","updated":"2022-09-12 15:55:02.000000000","message":"Oliver, could you please do that? many thanks!","commit_id":"1f7d8435e117263855b131e925b3ea92f9d74bba"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"9867f8f33f462c8f06702d538b66d879eec208c8","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if CELL0_ID in cells_by_uuid:"},{"line_number":112,"context_line":"        LOG.info(\u0027Setting cell0 database connection to \\\u0027{}\\\u0027\u0027.format(cell0_db))"},{"line_number":113,"context_line":"        cmd \u003d ["},{"line_number":114,"context_line":"            \u0027/usr/bin/nova-manage\u0027, \u0027cell_v2\u0027, \u0027update_cell\u0027,"},{"line_number":115,"context_line":"            \u0027--cell_uuid\u0027, CELL0_ID,"},{"line_number":116,"context_line":"            \u0027--database_connection\u0027, cell0_db,"}],"source_content_type":"text/x-python","patch_set":6,"id":"2d1ab5b0_ea856ca7","line":113,"updated":"2022-08-03 01:28:45.000000000","message":"Would we be better off importing and calling update_cell directly here instead of running shell commands?\nhttps://opendev.org/openstack/nova/src/branch/master/nova/cmd/manage.py#L1258","commit_id":"1f7d8435e117263855b131e925b3ea92f9d74bba"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"91802d474f490182e6a63c5bc947eb0674108845","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if CELL0_ID in cells_by_uuid:"},{"line_number":112,"context_line":"        LOG.info(\u0027Setting cell0 database connection to \\\u0027{}\\\u0027\u0027.format(cell0_db))"},{"line_number":113,"context_line":"        cmd \u003d ["},{"line_number":114,"context_line":"            \u0027/usr/bin/nova-manage\u0027, \u0027cell_v2\u0027, \u0027update_cell\u0027,"},{"line_number":115,"context_line":"            \u0027--cell_uuid\u0027, CELL0_ID,"},{"line_number":116,"context_line":"            \u0027--database_connection\u0027, cell0_db,"}],"source_content_type":"text/x-python","patch_set":6,"id":"8e61bc3a_5b733ba1","line":113,"in_reply_to":"2d1ab5b0_ea856ca7","updated":"2022-08-03 09:24:04.000000000","message":"@dansmith what would you recommend here? I figure nova-manage is the official interface for configuring this to best to stick with that. Once we start importing nova python modules we are depending on the internal implantation details.","commit_id":"1f7d8435e117263855b131e925b3ea92f9d74bba"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fb0e3b3e14bf26574697733503a3fddd0bb0c605","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if CELL0_ID in cells_by_uuid:"},{"line_number":112,"context_line":"        LOG.info(\u0027Setting cell0 database connection to \\\u0027{}\\\u0027\u0027.format(cell0_db))"},{"line_number":113,"context_line":"        cmd \u003d ["},{"line_number":114,"context_line":"            \u0027/usr/bin/nova-manage\u0027, \u0027cell_v2\u0027, \u0027update_cell\u0027,"},{"line_number":115,"context_line":"            \u0027--cell_uuid\u0027, CELL0_ID,"},{"line_number":116,"context_line":"            \u0027--database_connection\u0027, cell0_db,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ef7bc839_f9f87f99","line":113,"in_reply_to":"8e61bc3a_5b733ba1","updated":"2022-08-03 15:20:42.000000000","message":"Yeah, that\u0027s not a public interface for sure, and people will mutate it at will as a result. The CLI is intended to be the interface people use and even though we might mess with the internals, we\u0027ll be trying to avoid breaking the CLI invocation. So yes, I\u0027d stick with using it as intended.","commit_id":"1f7d8435e117263855b131e925b3ea92f9d74bba"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"606b5f0bb5c35481bd3112f00668139eef4fb336","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if CELL0_ID in cells_by_uuid:"},{"line_number":112,"context_line":"        LOG.info(\u0027Setting cell0 database connection to \\\u0027{}\\\u0027\u0027.format(cell0_db))"},{"line_number":113,"context_line":"        cmd \u003d ["},{"line_number":114,"context_line":"            \u0027/usr/bin/nova-manage\u0027, \u0027cell_v2\u0027, \u0027update_cell\u0027,"},{"line_number":115,"context_line":"            \u0027--cell_uuid\u0027, CELL0_ID,"},{"line_number":116,"context_line":"            \u0027--database_connection\u0027, cell0_db,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c6e5e45c_2f04aaef","line":113,"in_reply_to":"ef7bc839_f9f87f99","updated":"2022-08-07 23:07:17.000000000","message":"Yeah, that\u0027s a fair point. Thought there might have been an opportunity to avoid shell calls. But this argument makes sense.","commit_id":"1f7d8435e117263855b131e925b3ea92f9d74bba"}]}
