)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"77d4ca8a99d8b235f26e17b97a91a9736da8a264","unresolved":true,"context_lines":[{"line_number":29,"context_line":"      - load-import returns \"file not found\" error"},{"line_number":30,"context_line":"      - Conductor logs \"file not found\" error on sysinv.log"},{"line_number":31,"context_line":"PASS: import the load with --local option and upgrade AIO-DX"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Regression"},{"line_number":34,"context_line":"PASS: import the load without --local option and verify:"},{"line_number":35,"context_line":"      - Load information is populated on /www/pages/feed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"c0b8f6f6_dfb1873f","line":32,"updated":"2022-07-28 15:42:09.000000000","message":"on SystemController, should verify that load-import --os-region-name SystemController still behaves as expected.  (i.e. loads into /opt/dc-vault/loads)","commit_id":"74d06b5e4556065c20916fa1f816decc39b4a1d4"},{"author":{"_account_id":33390,"name":"Heitor Matsui","display_name":"Heitor Matsui","email":"HeitorVieira.Matsui@windriver.com","username":"heitormatsui"},"change_message_id":"5b9059a2374ee58bb59718420bfd8df0d2a39ade","unresolved":false,"context_lines":[{"line_number":29,"context_line":"      - load-import returns \"file not found\" error"},{"line_number":30,"context_line":"      - Conductor logs \"file not found\" error on sysinv.log"},{"line_number":31,"context_line":"PASS: import the load with --local option and upgrade AIO-DX"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Regression"},{"line_number":34,"context_line":"PASS: import the load without --local option and verify:"},{"line_number":35,"context_line":"      - Load information is populated on /www/pages/feed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bc840fb0_f505da24","line":32,"in_reply_to":"c0b8f6f6_dfb1873f","updated":"2022-07-29 22:14:06.000000000","message":"Done\n\nHad to open https://review.opendev.org/c/starlingx/distcloud/+/851616 to support --local in this case","commit_id":"74d06b5e4556065c20916fa1f816decc39b4a1d4"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"dda74de346eaa801516307b1cc063271275a3fdd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7dd5620a_e888e817","updated":"2022-07-27 16:16:27.000000000","message":"Thanks, Heitor. Few nits inline.","commit_id":"bbb31ddf6a791a29f8eb942435263b2c1ccf0246"},{"author":{"_account_id":33390,"name":"Heitor Matsui","display_name":"Heitor Matsui","email":"HeitorVieira.Matsui@windriver.com","username":"heitormatsui"},"change_message_id":"8304b6614e4905d36cb5fe3b74a16cbd5688800c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"02edcb8b_1a210858","updated":"2022-07-27 17:49:34.000000000","message":"Thanks for reviewing, Hugo.","commit_id":"6c4c69d15bdb7cfc764e105f05396ff953e86a8f"},{"author":{"_account_id":34414,"name":"Virginia Martins Perozim","email":"vmartins@windriver.com","username":"vmartins"},"change_message_id":"902b8ec9cb6b8264ff4205b5c3b7be2f4b0357f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"6f7ff966_5360a01b","updated":"2022-07-28 14:03:08.000000000","message":"from release 22.06 onwards there is no /www/pages/feed directory. Replace it by /var/www/pages/feed in the commit message.","commit_id":"74d06b5e4556065c20916fa1f816decc39b4a1d4"},{"author":{"_account_id":33390,"name":"Heitor Matsui","display_name":"Heitor Matsui","email":"HeitorVieira.Matsui@windriver.com","username":"heitormatsui"},"change_message_id":"5f2acbd6a1ffe99385781583169198f77f45fbd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"ca114580_d461687a","updated":"2022-07-28 13:46:09.000000000","message":"recheck","commit_id":"74d06b5e4556065c20916fa1f816decc39b4a1d4"},{"author":{"_account_id":33390,"name":"Heitor Matsui","display_name":"Heitor Matsui","email":"HeitorVieira.Matsui@windriver.com","username":"heitormatsui"},"change_message_id":"b92b7206d24d8ba4636c8f731d418bdfaba98636","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a6f69547_abfd16b0","updated":"2022-07-29 12:47:42.000000000","message":"Thanks for the reviews, marking as WF-1 until suggested DC test is done","commit_id":"ab2e5d94f06e9322ce376f3dae7c55d3a12d1612"},{"author":{"_account_id":28466,"name":"Bin Qian","email":"bin.qian@windriver.com","username":"bqian"},"change_message_id":"0f260d7df5ebb201690d44b5314107993b7ec966","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"cc1f3bde_7927ac78","updated":"2022-07-29 14:06:30.000000000","message":"lgtm","commit_id":"ab2e5d94f06e9322ce376f3dae7c55d3a12d1612"}],"sysinv/cgts-client/cgts-client/cgtsclient/v1/load.py":[{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"dda74de346eaa801516307b1cc063271275a3fdd","unresolved":true,"context_lines":[{"line_number":63,"context_line":"                raise exc.InvalidAttribute(key)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if local is True:"},{"line_number":66,"context_line":"            resp \u003d self._create(path, body\u003dload_info)"},{"line_number":67,"context_line":"            return resp"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            json_data \u003d self._upload_multipart("}],"source_content_type":"text/x-python","patch_set":7,"id":"047314d6_c5ad1938","line":66,"updated":"2022-07-27 16:16:27.000000000","message":"nit: s/return resp/return self._create(path, body\u003dload_info)","commit_id":"bbb31ddf6a791a29f8eb942435263b2c1ccf0246"},{"author":{"_account_id":33390,"name":"Heitor Matsui","display_name":"Heitor Matsui","email":"HeitorVieira.Matsui@windriver.com","username":"heitormatsui"},"change_message_id":"8304b6614e4905d36cb5fe3b74a16cbd5688800c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                raise exc.InvalidAttribute(key)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if local is True:"},{"line_number":66,"context_line":"            resp \u003d self._create(path, body\u003dload_info)"},{"line_number":67,"context_line":"            return resp"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            json_data \u003d self._upload_multipart("}],"source_content_type":"text/x-python","patch_set":7,"id":"bfd9c0ed_370111ac","line":66,"in_reply_to":"047314d6_c5ad1938","updated":"2022-07-27 17:49:34.000000000","message":"Done","commit_id":"bbb31ddf6a791a29f8eb942435263b2c1ccf0246"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"dda74de346eaa801516307b1cc063271275a3fdd","unresolved":true,"context_lines":[{"line_number":65,"context_line":"        if local is True:"},{"line_number":66,"context_line":"            resp \u003d self._create(path, body\u003dload_info)"},{"line_number":67,"context_line":"            return resp"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            json_data \u003d self._upload_multipart("},{"line_number":70,"context_line":"                path, body\u003dload_info, data\u003d{\u0027active\u0027: active}, check_exceptions\u003dTrue)"},{"line_number":71,"context_line":"            return self.resource_class(self, json_data)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ec994270_5c0afd8f","line":68,"updated":"2022-07-27 16:16:27.000000000","message":"since the if has a return, this else is not needed","commit_id":"bbb31ddf6a791a29f8eb942435263b2c1ccf0246"},{"author":{"_account_id":33390,"name":"Heitor Matsui","display_name":"Heitor Matsui","email":"HeitorVieira.Matsui@windriver.com","username":"heitormatsui"},"change_message_id":"8304b6614e4905d36cb5fe3b74a16cbd5688800c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        if local is True:"},{"line_number":66,"context_line":"            resp \u003d self._create(path, body\u003dload_info)"},{"line_number":67,"context_line":"            return resp"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            json_data \u003d self._upload_multipart("},{"line_number":70,"context_line":"                path, body\u003dload_info, data\u003d{\u0027active\u0027: active}, check_exceptions\u003dTrue)"},{"line_number":71,"context_line":"            return self.resource_class(self, json_data)"}],"source_content_type":"text/x-python","patch_set":7,"id":"324b0d6c_ecf8a4a5","line":68,"in_reply_to":"ec994270_5c0afd8f","updated":"2022-07-27 17:49:34.000000000","message":"Done","commit_id":"bbb31ddf6a791a29f8eb942435263b2c1ccf0246"}],"sysinv/cgts-client/cgts-client/cgtsclient/v1/load_shell.py":[{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"dda74de346eaa801516307b1cc063271275a3fdd","unresolved":true,"context_lines":[{"line_number":77,"context_line":"           action\u003d\u0027store_true\u0027,"},{"line_number":78,"context_line":"           default\u003dFalse,"},{"line_number":79,"context_line":"           help\u003d(\"Bypass client transfer load to sysinv-api. \""},{"line_number":80,"context_line":"                 \"The .iso and .sig filepaths will the sent to the API and then \""},{"line_number":81,"context_line":"                 \"conductor will try to import the load locally from them, so \""},{"line_number":82,"context_line":"                 \"\u0027isopath\u0027 and \u0027sigpath\u0027 must reference the absolute paths on \""},{"line_number":83,"context_line":"                 \"active controller if this option is used\"))"}],"source_content_type":"text/x-python","patch_set":7,"id":"434e0e2e_83c37c32","line":80,"updated":"2022-07-27 16:16:27.000000000","message":"nits:\ns/filepath/file path - since file path is generally used when referring to a particular attribute of a file\ns/the sent/be sent/\ns/conductor/the conductor/","commit_id":"bbb31ddf6a791a29f8eb942435263b2c1ccf0246"},{"author":{"_account_id":33390,"name":"Heitor Matsui","display_name":"Heitor Matsui","email":"HeitorVieira.Matsui@windriver.com","username":"heitormatsui"},"change_message_id":"8304b6614e4905d36cb5fe3b74a16cbd5688800c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"           action\u003d\u0027store_true\u0027,"},{"line_number":78,"context_line":"           default\u003dFalse,"},{"line_number":79,"context_line":"           help\u003d(\"Bypass client transfer load to sysinv-api. \""},{"line_number":80,"context_line":"                 \"The .iso and .sig filepaths will the sent to the API and then \""},{"line_number":81,"context_line":"                 \"conductor will try to import the load locally from them, so \""},{"line_number":82,"context_line":"                 \"\u0027isopath\u0027 and \u0027sigpath\u0027 must reference the absolute paths on \""},{"line_number":83,"context_line":"                 \"active controller if this option is used\"))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9e9969fe_3785b862","line":80,"in_reply_to":"434e0e2e_83c37c32","updated":"2022-07-27 17:49:34.000000000","message":"Done","commit_id":"bbb31ddf6a791a29f8eb942435263b2c1ccf0246"},{"author":{"_account_id":28466,"name":"Bin Qian","email":"bin.qian@windriver.com","username":"bqian"},"change_message_id":"c197b44628cc2370e86624349920aed290c4d83f","unresolved":true,"context_lines":[{"line_number":78,"context_line":"           default\u003dFalse,"},{"line_number":79,"context_line":"           help\u003d(\"Bypass client transfer load to sysinv-api. \""},{"line_number":80,"context_line":"                 \"The .iso and .sig file paths will be sent to the API and then \""},{"line_number":81,"context_line":"                 \"the conductor will try to import the load locally from them, so \""},{"line_number":82,"context_line":"                 \"\u0027isopath\u0027 and \u0027sigpath\u0027 must reference the absolute paths on \""},{"line_number":83,"context_line":"                 \"active controller if this option is used\"))"},{"line_number":84,"context_line":"def do_load_import(cc, args):"}],"source_content_type":"text/x-python","patch_set":9,"id":"61cc04b8_236b684c","line":81,"range":{"start_line":81,"start_character":18,"end_line":81,"end_character":77},"updated":"2022-07-28 22:40:15.000000000","message":"I think the message is too technical for the customer. We don\u0027t need to disclose all the detail on how this is going to work, instead we want to instruct the user how to upload the iso and sig file to the active controller.\nMaybe something like:\nImport the load locally from the active controller. To use this option, the iso and the sig file pair need to be first uploaded to the active controller. Specify the absolute path of iso file and sig file as \u0027siopath\u0027 and \u0027sigpath\u0027 to import the load locally. Note that the files may not be accessible if the controller is swact.","commit_id":"74d06b5e4556065c20916fa1f816decc39b4a1d4"},{"author":{"_account_id":33390,"name":"Heitor Matsui","display_name":"Heitor Matsui","email":"HeitorVieira.Matsui@windriver.com","username":"heitormatsui"},"change_message_id":"31dae043e74a26d2460954b7adb8c5c11641dda3","unresolved":false,"context_lines":[{"line_number":78,"context_line":"           default\u003dFalse,"},{"line_number":79,"context_line":"           help\u003d(\"Bypass client transfer load to sysinv-api. \""},{"line_number":80,"context_line":"                 \"The .iso and .sig file paths will be sent to the API and then \""},{"line_number":81,"context_line":"                 \"the conductor will try to import the load locally from them, so \""},{"line_number":82,"context_line":"                 \"\u0027isopath\u0027 and \u0027sigpath\u0027 must reference the absolute paths on \""},{"line_number":83,"context_line":"                 \"active controller if this option is used\"))"},{"line_number":84,"context_line":"def do_load_import(cc, args):"}],"source_content_type":"text/x-python","patch_set":9,"id":"4efe3ed2_2e820b37","line":81,"range":{"start_line":81,"start_character":18,"end_line":81,"end_character":77},"in_reply_to":"61cc04b8_236b684c","updated":"2022-07-29 12:48:06.000000000","message":"Done","commit_id":"74d06b5e4556065c20916fa1f816decc39b4a1d4"},{"author":{"_account_id":32349,"name":"Thiago Paiva Brito","email":"thiago.brito@windriver.com","username":"outbrito"},"change_message_id":"7578095281540b90e67922bec7a5e75cb3fbbc49","unresolved":true,"context_lines":[{"line_number":84,"context_line":"    \"\"\"Import a load.\"\"\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    local \u003d args.local"},{"line_number":87,"context_line":"    if local is False:"},{"line_number":88,"context_line":"        # If absolute path is not specified, we assume it is the relative path."},{"line_number":89,"context_line":"        # args.isopath will then be set to the absolute path"},{"line_number":90,"context_line":"        if not os.path.isabs(args.isopath):"}],"source_content_type":"text/x-python","patch_set":11,"id":"946b8d99_434a549b","line":87,"updated":"2022-08-01 18:11:57.000000000","message":"why this validation is not done on the --local scenario? I think there is value in checking if the path is valid and the file exists, even when it\u0027s local...","commit_id":"4b247e3c57dcf63c070126dba4ece1a1bbd9c61f"},{"author":{"_account_id":33390,"name":"Heitor Matsui","display_name":"Heitor Matsui","email":"HeitorVieira.Matsui@windriver.com","username":"heitormatsui"},"change_message_id":"2c4d88f26f7fb99a16905b398d2ad0bd4f57a035","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    \"\"\"Import a load.\"\"\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    local \u003d args.local"},{"line_number":87,"context_line":"    if local is False:"},{"line_number":88,"context_line":"        # If absolute path is not specified, we assume it is the relative path."},{"line_number":89,"context_line":"        # args.isopath will then be set to the absolute path"},{"line_number":90,"context_line":"        if not os.path.isabs(args.isopath):"}],"source_content_type":"text/x-python","patch_set":11,"id":"917fb68e_f6550587","line":87,"in_reply_to":"946b8d99_434a549b","updated":"2022-08-01 19:23:14.000000000","message":"You\u0027re right, thanks for the review","commit_id":"4b247e3c57dcf63c070126dba4ece1a1bbd9c61f"}]}
