)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a8ca44a59eb8624eda50a1b68c9855cd76ccab16","unresolved":true,"context_lines":[{"line_number":10,"context_line":"- openstack version: Xena"},{"line_number":11,"context_line":"- kolla on ubuntu focal 20.04"},{"line_number":12,"context_line":"the installed version of nvme is 1.9, this version doesnt have the"},{"line_number":13,"context_line":"command get-hostnqn."},{"line_number":14,"context_line":"In case of missing hostnqn file, it will fail to create hostnqn the exit"},{"line_number":15,"context_line":"error code is 231 and is not catched by the try-except block."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"2e1ea8b4_0342f217","line":13,"range":{"start_line":13,"start_character":8,"end_line":13,"end_character":19},"updated":"2022-02-01 22:20:25.000000000","message":"As Luigi pointed out, this should be \u0027show-hostnqn\u0027 (here and at line 17)  Also, please wrap your commit message at 70 chars.","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"- openstack version: Xena"},{"line_number":11,"context_line":"- kolla on ubuntu focal 20.04"},{"line_number":12,"context_line":"the installed version of nvme is 1.9, this version doesnt have the"},{"line_number":13,"context_line":"command get-hostnqn."},{"line_number":14,"context_line":"In case of missing hostnqn file, it will fail to create hostnqn the exit"},{"line_number":15,"context_line":"error code is 231 and is not catched by the try-except block."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"6153c5aa_5f7bca2d","line":13,"range":{"start_line":13,"start_character":8,"end_line":13,"end_character":19},"in_reply_to":"2e1ea8b4_0342f217","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"696cdc355e5b15c6f99debc44f61c22312808878","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"nvmeof.py - in case of missing \"show-hostnqn\" command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"enviornement:"},{"line_number":10,"context_line":"- openstack version: Xena"},{"line_number":11,"context_line":"- kolla on ubuntu focal 20.04"},{"line_number":12,"context_line":"the installed version of nvme is 1.9, this version doesnt have the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ae698dd6_64123866","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":12},"updated":"2022-02-15 09:41:29.000000000","message":"nit: Environment:","commit_id":"600f5a89ed840d5f42b6bb651c261c1957fd6a33"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"nvmeof.py - in case of missing \"show-hostnqn\" command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"enviornement:"},{"line_number":10,"context_line":"- openstack version: Xena"},{"line_number":11,"context_line":"- kolla on ubuntu focal 20.04"},{"line_number":12,"context_line":"the installed version of nvme is 1.9, this version doesnt have the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"69a34f66_4beaa45e","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":12},"in_reply_to":"ae698dd6_64123866","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"600f5a89ed840d5f42b6bb651c261c1957fd6a33"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"696cdc355e5b15c6f99debc44f61c22312808878","unresolved":true,"context_lines":[{"line_number":9,"context_line":"enviornement:"},{"line_number":10,"context_line":"- openstack version: Xena"},{"line_number":11,"context_line":"- kolla on ubuntu focal 20.04"},{"line_number":12,"context_line":"the installed version of nvme is 1.9, this version doesnt have the"},{"line_number":13,"context_line":"command \"show-hostnqn\"."},{"line_number":14,"context_line":"In case of missing hostnqn file, it will fail to create hostnqn"},{"line_number":15,"context_line":"the exit error code is 231 and is not catched by the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"2abcf187_2f464d5e","line":12,"range":{"start_line":12,"start_character":51,"end_line":12,"end_character":57},"updated":"2022-02-15 09:41:29.000000000","message":"nit: doesn\u0027t","commit_id":"600f5a89ed840d5f42b6bb651c261c1957fd6a33"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"enviornement:"},{"line_number":10,"context_line":"- openstack version: Xena"},{"line_number":11,"context_line":"- kolla on ubuntu focal 20.04"},{"line_number":12,"context_line":"the installed version of nvme is 1.9, this version doesnt have the"},{"line_number":13,"context_line":"command \"show-hostnqn\"."},{"line_number":14,"context_line":"In case of missing hostnqn file, it will fail to create hostnqn"},{"line_number":15,"context_line":"the exit error code is 231 and is not catched by the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"86816b39_a089ff21","line":12,"range":{"start_line":12,"start_character":51,"end_line":12,"end_character":57},"in_reply_to":"2abcf187_2f464d5e","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"600f5a89ed840d5f42b6bb651c261c1957fd6a33"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"696cdc355e5b15c6f99debc44f61c22312808878","unresolved":true,"context_lines":[{"line_number":19,"context_line":"subcommand (show-hostnqn) is not supported."},{"line_number":20,"context_line":"if its not, we continue to try and create the hostnqn."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I318f167baa0ba7789f4ca2c7c12a8de5568195e0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dbb44ab4_0514ad8b","line":22,"updated":"2022-02-15 09:41:29.000000000","message":"-1: We need a bug report and a release note.","commit_id":"600f5a89ed840d5f42b6bb651c261c1957fd6a33"},{"author":{"_account_id":34459,"name":"Muli Ben-Yehuda","email":"muli@lightbitslabs.com","username":"muliby"},"change_message_id":"f0844175be918ea86d5d26e25e876497e82cf0e9","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     yuval \u003cyuval@lightbitslabs.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-02-15 12:27:10 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"nvmeof.py - in case of missing \"show-hostnqn\" command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Environment:"},{"line_number":10,"context_line":"- openstack version: Xena"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"99144a9e_4c1f92ba","line":7,"updated":"2022-02-15 12:44:45.000000000","message":"nit: usually the format would be\n\nsubject: one line description\n\nWhere subject here is nvmeof.py.","commit_id":"3527cc00c9f592c4e9282181076ddedf2a2f2b80"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     yuval \u003cyuval@lightbitslabs.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-02-15 12:27:10 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"nvmeof.py - in case of missing \"show-hostnqn\" command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Environment:"},{"line_number":10,"context_line":"- openstack version: Xena"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5d49cb75_0212b7be","line":7,"in_reply_to":"99144a9e_4c1f92ba","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"3527cc00c9f592c4e9282181076ddedf2a2f2b80"},{"author":{"_account_id":34459,"name":"Muli Ben-Yehuda","email":"muli@lightbitslabs.com","username":"muliby"},"change_message_id":"f0844175be918ea86d5d26e25e876497e82cf0e9","unresolved":true,"context_lines":[{"line_number":12,"context_line":"the installed version of nvme is 1.9, this version doesn\u0027t have the"},{"line_number":13,"context_line":"command \"show-hostnqn\"."},{"line_number":14,"context_line":"In case of missing hostnqn file, it will fail to create hostnqn"},{"line_number":15,"context_line":"the exit error code is 231 and is not catched by the"},{"line_number":16,"context_line":"try-except block."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Here we try to parse the stdout to check if the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"b917cb8d_2ea7c19a","line":15,"updated":"2022-02-15 12:44:45.000000000","message":"is not caught","commit_id":"3527cc00c9f592c4e9282181076ddedf2a2f2b80"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"the installed version of nvme is 1.9, this version doesn\u0027t have the"},{"line_number":13,"context_line":"command \"show-hostnqn\"."},{"line_number":14,"context_line":"In case of missing hostnqn file, it will fail to create hostnqn"},{"line_number":15,"context_line":"the exit error code is 231 and is not catched by the"},{"line_number":16,"context_line":"try-except block."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Here we try to parse the stdout to check if the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"f291ff7b_a8fdfe86","line":15,"in_reply_to":"b917cb8d_2ea7c19a","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"3527cc00c9f592c4e9282181076ddedf2a2f2b80"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"ceec4a88a34e4f86b549d7bfe740178b6a7dd27e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4f0af7f6_b0b02799","updated":"2022-01-21 15:59:23.000000000","message":"-1 for the commit message discrepancy, but I\u0027d really check also the other potential problem.","commit_id":"e356a3687fadc3f61d4fe646c576309e72742759"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"2d69ed6c6c4f1e88af9679fda95c5fed4df12b78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fb93cdb0_5b61f0fd","in_reply_to":"4f0af7f6_b0b02799","updated":"2022-01-23 10:25:54.000000000","message":"you are right, I will fix the commit msg.\nregarding the nvme output localized, let me check it out.","commit_id":"e356a3687fadc3f61d4fe646c576309e72742759"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"bdc4fe5e631c4c400546c583352a350272bd637f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f928e146_4a486992","updated":"2022-02-01 22:47:29.000000000","message":"One other point noted inline.","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"01750d9ec69e2cfe88c5c7a2007da07e87f58600","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a627d761_f74e96f6","updated":"2022-02-01 18:11:00.000000000","message":"Thank you for fixing this!!\n\nPlease add a release note, since this fixes an issue with nvme versions \u003c 1.10, and it would be good to note it when we release.\n\nThe downvote is for the release note and the LOG message that is only correct in some cases now.","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a8ca44a59eb8624eda50a1b68c9855cd76ccab16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"03acc683_3efca516","updated":"2022-02-01 22:20:25.000000000","message":"Thanks for fixing this.  Didn\u0027t realize that focal ships with such an old nvme-cli.  A few minor points noted inline.","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f5592952eb54f483d0eb47dc5c5d72e443fc6a7b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"579f72b0_a5a36101","updated":"2022-02-15 04:31:44.000000000","message":"See comment inline.","commit_id":"747b9dae88dfa1dff872fb048865c23b4d95921a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"696cdc355e5b15c6f99debc44f61c22312808878","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"031364a4_193e770c","updated":"2022-02-15 09:41:29.000000000","message":"Thanks for working on this.","commit_id":"9879eef5ec3695ad4b5207209ff048ef02190377"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"0d450b7f49d12470446e02de70d46e27531dd384","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"06dbca23_1bb6352d","updated":"2022-02-15 09:43:36.000000000","message":"it was confusing with the double negativity.\n\n1. if its old nvme version -\u003e log and continue\n2. otherwise - if its not error","commit_id":"9879eef5ec3695ad4b5207209ff048ef02190377"},{"author":{"_account_id":34544,"name":"Ronen weiss","email":"ronen@lightbitslabs.com","username":"ronenwe"},"change_message_id":"abfa7b567589355ccb769222f7e07ebf9c089843","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ea033f22_b4b7f0df","updated":"2022-02-15 10:11:12.000000000","message":"lgtm, minor cosmetic suggestions","commit_id":"824c32da74f5ea15547e31a80b384a15fd7ba6af"},{"author":{"_account_id":34459,"name":"Muli Ben-Yehuda","email":"muli@lightbitslabs.com","username":"muliby"},"change_message_id":"f0844175be918ea86d5d26e25e876497e82cf0e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ad5ca3cd_09c6698a","updated":"2022-02-15 12:44:45.000000000","message":"In general looks fine, some small nits that are worth fixing if you respin\n","commit_id":"3527cc00c9f592c4e9282181076ddedf2a2f2b80"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"6ce972ac66a6b0574a63d0e3f3efc46c18c174e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"91a71294_22102bde","updated":"2022-02-16 09:52:27.000000000","message":"If nvme in the newer version for every error exit with status (1) then if its a new version we will which include \"show-hostnqn\" we will always raise -\u003e the if block check if error code !\u003d2 will always be correct - and for every issue in show-hostnqn we will fail -\u003e is that the expected behaviour?","commit_id":"1eb282da0fe5c0ced4978e72d259fbc1f36f118a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8745617c61222a952692a59a12c9819fda267d9c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"915c832e_727c3ac4","updated":"2022-02-15 17:51:12.000000000","message":"Two comments inline.","commit_id":"1eb282da0fe5c0ced4978e72d259fbc1f36f118a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"88037e43afb623812ff0304aa3053e63f56f8ce7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"4373814d_0f82ff25","updated":"2022-02-16 16:23:09.000000000","message":"I think you should restructure this slightly, mainly to make it really easy when the code has to be modified to handle nvme-cli 2.0.","commit_id":"686403e4c4ec18145bb9ddaee51c9196b34d0c63"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"39e15e78_f52abc7f","updated":"2022-02-17 02:58:57.000000000","message":"Change looks good! Just need the Lightbits CI to go green.","commit_id":"c47eefa01cd99d885d0b8a0c2a892d4552acd47e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8bb3fe9beef8b4a8b7a9dd338dd7763f07631030","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"3cb7b8a8_5829d808","updated":"2022-02-17 02:51:39.000000000","message":"run-Lightbits CI","commit_id":"c47eefa01cd99d885d0b8a0c2a892d4552acd47e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"541a0addf285cf5b19ade8b0585e1f83fdcea486","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"e3baa380_f90eadb3","updated":"2022-02-17 15:14:38.000000000","message":"Filed bugs for followups that were mentioned during review:\n- race condition: https://bugs.launchpad.net/os-brick/+bug/1961253\n- nvme-cli v2.0 exit code changes: https://bugs.launchpad.net/os-brick/+bug/1961222\n- log messages: https://bugs.launchpad.net/os-brick/+bug/1961270","commit_id":"26620473fec5ccf337cc4e846d2b0922ae74488f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"bb59e8f307985f006e11d8bd293b8363bc7c3aac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"c96b0aa1_2fb1c438","updated":"2022-02-17 14:09:25.000000000","message":"Gorka\u0027s removed his -2.  My comment is something that can be addressed in a follow up patch.  After discussion with Brian, I am going to merge this as is.","commit_id":"26620473fec5ccf337cc4e846d2b0922ae74488f"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8063df7b5d75f6bcaba26176068b603064af50dc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"0f910768_eeba275a","updated":"2022-02-17 13:33:17.000000000","message":"My concerns have been addressed and the CI is green, so upgrading to +2.","commit_id":"26620473fec5ccf337cc4e846d2b0922ae74488f"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a306899dcddb2353123347379ff5ec683e008337","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"c29c2dc9_72263de1","updated":"2022-02-17 13:34:29.000000000","message":"Should point out that Kioxia and Lightbits are green; Mellanox SPDK CI appears to be MIA.","commit_id":"26620473fec5ccf337cc4e846d2b0922ae74488f"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e5262b8f7cfc97d958f9e5a319a6708d2cfbe24e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"713fb359_bca0837f","updated":"2022-02-17 16:00:54.000000000","message":"recheck os-brick-src-tempest-lvm-lio-barbican  - tempest.api.compute.servers.test_device_tagging.TaggedAttachmentsTest.test_tagged_attachment couldn\u0027t ssh into the instance (seem to be seeing this a lot lately)","commit_id":"26620473fec5ccf337cc4e846d2b0922ae74488f"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"21cb5f3cd10e714af716a59fe833ad30c56466bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"e4e5f47d_fb3d983e","updated":"2022-02-17 09:08:22.000000000","message":"run-Lightbits CI","commit_id":"26620473fec5ccf337cc4e846d2b0922ae74488f"}],"os_brick/privileged/nvmeof.py":[{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"9b8bc54e1f0b2402d71842b2f8069610e6f15d55","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        # command.  This ENOENT is when nvme says there isn\u0027t an nqn."},{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"d2cd5244_41fb4234","line":51,"updated":"2022-01-21 15:49:13.000000000","message":"Can we always assume the error message is in English?","commit_id":"e356a3687fadc3f61d4fe646c576309e72742759"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"e7d2c22a6f6007d997ac23a1c7a98b2f35fb9e2a","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        # command.  This ENOENT is when nvme says there isn\u0027t an nqn."},{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"e33a028e_34ec506a","line":51,"in_reply_to":"d2cd5244_41fb4234","updated":"2022-01-21 15:58:55.000000000","message":"If that error message may be localized, then it would be probably better to find another way to distinguish between the two conditions: nqn non found and the subcommand not available..\n\nNow I\u0027ve noticed that the commit message talks about get-hostnqn, but the subcommand is really show-hostnqn ?","commit_id":"e356a3687fadc3f61d4fe646c576309e72742759"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"73fc525d7f511cbcc4884b5eca744fa0a7df68d9","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        # command.  This ENOENT is when nvme says there isn\u0027t an nqn."},{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"f1c7fd00_812fbf30","line":51,"in_reply_to":"e33a028e_34ec506a","updated":"2022-01-23 18:02:12.000000000","message":"there is no implementation for localization in nvme-cli","commit_id":"e356a3687fadc3f61d4fe646c576309e72742759"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # command.  This ENOENT is when nvme says there isn\u0027t an nqn."},{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"92f8935f_d9a6ff7b","line":51,"in_reply_to":"f1c7fd00_812fbf30","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"e356a3687fadc3f61d4fe646c576309e72742759"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"bdc4fe5e631c4c400546c583352a350272bd637f","unresolved":true,"context_lines":[{"line_number":47,"context_line":"        # This is different from OSError\u0027s ENOENT, which is missing nvme"},{"line_number":48,"context_line":"        # command.  This ENOENT is when nvme says there isn\u0027t an nqn."},{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"2d447347_43fc03f3","line":50,"range":{"start_line":50,"start_character":15,"end_line":50,"end_character":42},"updated":"2022-02-01 22:47:29.000000000","message":"I don\u0027t know if we want to fix this now or on a different patch, but a commit to nvme-cli changing the exit code to always be either 0 or 1 [0] is in v2.0-rc2, so soon this condition will no longer ignore the ENOENT.\n\nLooks like we\u0027ll have to parse the stdout as you do for the missing sub-command (the stderr is useless, at least through v1.16).\n\n\n[0] https://github.com/linux-nvme/nvme-cli/pull/1345/commits/13f74d20e1d9e571368b1d06fe9889a2fdd29849","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        # This is different from OSError\u0027s ENOENT, which is missing nvme"},{"line_number":48,"context_line":"        # command.  This ENOENT is when nvme says there isn\u0027t an nqn."},{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"55afaf59_191b557c","line":50,"range":{"start_line":50,"start_character":15,"end_line":50,"end_character":42},"in_reply_to":"2d447347_43fc03f3","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a8ca44a59eb8624eda50a1b68c9855cd76ccab16","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        # command.  This ENOENT is when nvme says there isn\u0027t an nqn."},{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7e8997db_3c580e93","line":51,"range":{"start_line":51,"start_character":22,"end_line":51,"end_character":27},"updated":"2022-02-01 22:20:25.000000000","message":"I was a bit worried about checking the text of the message, because I\u0027ve seen commits to nvme-cli where capitalization was changed, and also the only tests that cover error messages all have the format \"ERROR : message\".  But even if the message gets refactored at some point, they won\u0027t be backporting that change, so this should work for versions \u003c 1.10.","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # command.  This ENOENT is when nvme says there isn\u0027t an nqn."},{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"08ff623f_2b4b85d8","line":51,"range":{"start_line":51,"start_character":22,"end_line":51,"end_character":27},"in_reply_to":"7e8997db_3c580e93","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"01750d9ec69e2cfe88c5c7a2007da07e87f58600","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5c52767f_8cba97b7","line":52,"updated":"2022-02-01 18:11:00.000000000","message":"I\u0027m OK with this code and checking the error message, though we may chose to reduce the length of the check to \"ERROR: Invalid sub-command\", but either way is good for me.\n\nI evaluated the option to check the version itself, since this is something that will only happen once, but I think it adds unnecessary code.\n\n  import packaging\n\n            version, err \u003d rootwrap.custom_execute(\u0027nvme\u0027, \u0027version\u0027)\n            version \u003d packaging.version.parse(version.split()[-1])\n            min_version \u003d packaging.version.parse(\u00271.10\u0027)\n  \n            if e.exit_code \u003d\u003d errno.ENOENT:\n                if version \u003e\u003d available_version:\n                    raise\n                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)\n            else:\n                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            if e.exit_code !\u003d errno.ENOENT and \\"},{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f97e328_89dd1a92","line":52,"in_reply_to":"5c52767f_8cba97b7","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"01750d9ec69e2cfe88c5c7a2007da07e87f58600","unresolved":true,"context_lines":[{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if not host_nqn:"},{"line_number":57,"context_line":"            LOG.debug(\u0027Generating nqn\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bb88b648_ddaf45ba","line":54,"updated":"2022-02-01 18:11:00.000000000","message":"-1: This message is incorrect for nvme versions \u003c 1.10","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                    (\"ERROR: Invalid sub-command \u0027show-hostnqn\u0027\""},{"line_number":52,"context_line":"                     not in e.stdout):"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"            LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if not host_nqn:"},{"line_number":57,"context_line":"            LOG.debug(\u0027Generating nqn\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"88034fdf_50e8f6df","line":54,"in_reply_to":"bb88b648_ddaf45ba","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"0f31bdae183794fe7e6c7624274e2ba9cf613c4b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f5592952eb54f483d0eb47dc5c5d72e443fc6a7b","unresolved":true,"context_lines":[{"line_number":55,"context_line":"            else:"},{"line_number":56,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"            if e.exit_code !\u003d errno.ENOENT and show_hostnqn_subcmd_exists:"},{"line_number":58,"context_line":"                raise"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        if not host_nqn:"},{"line_number":61,"context_line":"            LOG.debug(\u0027Generating nqn\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"c83c8b3f_e155e474","line":58,"updated":"2022-02-15 04:31:44.000000000","message":"I think the condition at line 53 is incorrect (if the command exists, then this is not an old version, right?)\n\nI find that block confusing.  I think the idea is that if we get an ENOENT or don\u0027t have the show-hostnqn command available, we want to continue; otherwise, we want to raise.  So maybe structure it like this:\n\n  err_msg \u003d e.stdout[:e.stdout.find(\u0027\\n\u0027)].casefold()\n  if e.exit_code \u003d\u003d errno.ENOENT:\n      LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)          \n  elif \"ERROR: Invalid sub-command\".casefold() in err_msg:\n      LOG.debug(\u0027nvme-cli version too old, cannot check current hostnqn.\u0027)\n  else\n      raise\n\nI hate to clutter it up with comments, but we should note somewhere that the message we are looking for is in stdout, not in stderr.","commit_id":"747b9dae88dfa1dff872fb048865c23b4d95921a"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"7fc0690403507ca9bc21da47cd205713152ca7bc","unresolved":true,"context_lines":[{"line_number":55,"context_line":"            else:"},{"line_number":56,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"            if e.exit_code !\u003d errno.ENOENT and show_hostnqn_subcmd_exists:"},{"line_number":58,"context_line":"                raise"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        if not host_nqn:"},{"line_number":61,"context_line":"            LOG.debug(\u0027Generating nqn\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dbab6a70_854d4da5","line":58,"in_reply_to":"c83c8b3f_e155e474","updated":"2022-02-15 09:12:46.000000000","message":"if the command exists and yet we still failed to create the hostnqn -\u003e we need to raise, at least that what the original commit meant.\n\nI think the code used the errno.ENOENT to check if the subcmd exist, hoping if its not, it will raise this exit code.","commit_id":"747b9dae88dfa1dff872fb048865c23b4d95921a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4cbcbfbebdb6e6ab4828ae2bd014d0ba3f1163d7","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            else:"},{"line_number":56,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"            if e.exit_code !\u003d errno.ENOENT and show_hostnqn_subcmd_exists:"},{"line_number":58,"context_line":"                raise"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        if not host_nqn:"},{"line_number":61,"context_line":"            LOG.debug(\u0027Generating nqn\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ca55992b_7c48021d","line":58,"in_reply_to":"dbab6a70_854d4da5","updated":"2022-02-15 17:57:53.000000000","message":"I think this has been addressed, so marking this resolved so it doesn\u0027t clutter the interface.","commit_id":"747b9dae88dfa1dff872fb048865c23b4d95921a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"696cdc355e5b15c6f99debc44f61c22312808878","unresolved":true,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"@os_brick.privileged.default.entrypoint"},{"line_number":30,"context_line":"def create_hostnqn():"},{"line_number":31,"context_line":"    \"\"\"Create the hostnqn file to speed up finding out the nqn."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    By having the /etc/nvme/hostnqn not only do we make sure that that value is"}],"source_content_type":"text/x-python","patch_set":4,"id":"eb5c6838_ab36c0cf","line":30,"updated":"2022-02-15 09:41:29.000000000","message":"nit: We can have a race condition here, since 2 threads/processes could be checking for the existence of the file, not find it, and both proceed to create the hostnqn.\n\nWe need a file lock here, but since it\u0027s not what this patch is fixing I won\u0027t downvote.","commit_id":"600f5a89ed840d5f42b6bb651c261c1957fd6a33"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"696cdc355e5b15c6f99debc44f61c22312808878","unresolved":true,"context_lines":[{"line_number":50,"context_line":"            show_hostnqn_subcmd_exists \u003d ("},{"line_number":51,"context_line":"                \"ERROR: Invalid sub-command\".casefold()"},{"line_number":52,"context_line":"                not in e.stdout.casefold())"},{"line_number":53,"context_line":"            if show_hostnqn_subcmd_exists:"},{"line_number":54,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":55,"context_line":"            else:"},{"line_number":56,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"            if e.exit_code !\u003d errno.ENOENT and show_hostnqn_subcmd_exists:"}],"source_content_type":"text/x-python","patch_set":4,"id":"b22121e6_b1f3c54c","line":54,"range":{"start_line":53,"start_character":0,"end_line":54,"end_character":74},"updated":"2022-02-15 09:41:29.000000000","message":"-1: This is wrong, the condition should be reversed.  If the command exists then the version is new enough, not too old like the message states.","commit_id":"600f5a89ed840d5f42b6bb651c261c1957fd6a33"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            show_hostnqn_subcmd_exists \u003d ("},{"line_number":51,"context_line":"                \"ERROR: Invalid sub-command\".casefold()"},{"line_number":52,"context_line":"                not in e.stdout.casefold())"},{"line_number":53,"context_line":"            if show_hostnqn_subcmd_exists:"},{"line_number":54,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":55,"context_line":"            else:"},{"line_number":56,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"            if e.exit_code !\u003d errno.ENOENT and show_hostnqn_subcmd_exists:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fec0c76b_4f99d283","line":54,"range":{"start_line":53,"start_character":0,"end_line":54,"end_character":74},"in_reply_to":"7bb6624b_32bed2e7","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"600f5a89ed840d5f42b6bb651c261c1957fd6a33"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"0d450b7f49d12470446e02de70d46e27531dd384","unresolved":true,"context_lines":[{"line_number":50,"context_line":"            show_hostnqn_subcmd_exists \u003d ("},{"line_number":51,"context_line":"                \"ERROR: Invalid sub-command\".casefold()"},{"line_number":52,"context_line":"                not in e.stdout.casefold())"},{"line_number":53,"context_line":"            if show_hostnqn_subcmd_exists:"},{"line_number":54,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":55,"context_line":"            else:"},{"line_number":56,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"            if e.exit_code !\u003d errno.ENOENT and show_hostnqn_subcmd_exists:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7bb6624b_32bed2e7","line":54,"range":{"start_line":53,"start_character":0,"end_line":54,"end_character":74},"in_reply_to":"b22121e6_b1f3c54c","updated":"2022-02-15 09:43:36.000000000","message":"you right, I fixed it, and removed the double negativity","commit_id":"600f5a89ed840d5f42b6bb651c261c1957fd6a33"},{"author":{"_account_id":34544,"name":"Ronen weiss","email":"ronen@lightbitslabs.com","username":"ronenwe"},"change_message_id":"abfa7b567589355ccb769222f7e07ebf9c089843","unresolved":true,"context_lines":[{"line_number":51,"context_line":"                \"ERROR: Invalid sub-command\".casefold() in e.stdout.casefold())"},{"line_number":52,"context_line":"            if show_hostnqn_subcmd_missing:"},{"line_number":53,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":54,"context_line":"            else:"},{"line_number":55,"context_line":"                if e.exit_code !\u003d errno.ENOENT:"},{"line_number":56,"context_line":"                    LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":7,"id":"13834246_e80e218e","line":54,"updated":"2022-02-15 10:11:12.000000000","message":"consider replacing this with eilf","commit_id":"824c32da74f5ea15547e31a80b384a15fd7ba6af"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                \"ERROR: Invalid sub-command\".casefold() in e.stdout.casefold())"},{"line_number":52,"context_line":"            if show_hostnqn_subcmd_missing:"},{"line_number":53,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":54,"context_line":"            else:"},{"line_number":55,"context_line":"                if e.exit_code !\u003d errno.ENOENT:"},{"line_number":56,"context_line":"                    LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":7,"id":"695f9d9c_ce4bd675","line":54,"in_reply_to":"13834246_e80e218e","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"824c32da74f5ea15547e31a80b384a15fd7ba6af"},{"author":{"_account_id":34544,"name":"Ronen weiss","email":"ronen@lightbitslabs.com","username":"ronenwe"},"change_message_id":"abfa7b567589355ccb769222f7e07ebf9c089843","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":54,"context_line":"            else:"},{"line_number":55,"context_line":"                if e.exit_code !\u003d errno.ENOENT:"},{"line_number":56,"context_line":"                    LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"                    raise"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not host_nqn:"}],"source_content_type":"text/x-python","patch_set":7,"id":"571b3902_47b1e721","line":56,"updated":"2022-02-15 10:11:12.000000000","message":"might be useful to also print the explicit error msg received (e.stdout)","commit_id":"824c32da74f5ea15547e31a80b384a15fd7ba6af"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"72db413080b32e6ffa337edf79a765c53d4c0f89","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":54,"context_line":"            else:"},{"line_number":55,"context_line":"                if e.exit_code !\u003d errno.ENOENT:"},{"line_number":56,"context_line":"                    LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"                    raise"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not host_nqn:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7109e7e0_69cdcfda","line":56,"in_reply_to":"0bc686c1_6f4adf2f","updated":"2022-02-15 18:00:51.000000000","message":"Yeah, the message is a bit cryptic, but see the comment at line 42 (\"Try to get existing nqn generated from dmi or systemd\")","commit_id":"824c32da74f5ea15547e31a80b384a15fd7ba6af"},{"author":{"_account_id":34459,"name":"Muli Ben-Yehuda","email":"muli@lightbitslabs.com","username":"muliby"},"change_message_id":"f0844175be918ea86d5d26e25e876497e82cf0e9","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":54,"context_line":"            else:"},{"line_number":55,"context_line":"                if e.exit_code !\u003d errno.ENOENT:"},{"line_number":56,"context_line":"                    LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"                    raise"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not host_nqn:"}],"source_content_type":"text/x-python","patch_set":7,"id":"0bc686c1_6f4adf2f","line":56,"in_reply_to":"571b3902_47b1e721","updated":"2022-02-15 12:44:45.000000000","message":"The error message seems unrelated? I don\u0027t see anything involving dmi or systemd here. Suggest \u0027Unknown error from \u0027nvme show-hostnqn\u0027: \u003cerror details here\u003e\u0027.","commit_id":"824c32da74f5ea15547e31a80b384a15fd7ba6af"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":54,"context_line":"            else:"},{"line_number":55,"context_line":"                if e.exit_code !\u003d errno.ENOENT:"},{"line_number":56,"context_line":"                    LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"                    raise"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not host_nqn:"}],"source_content_type":"text/x-python","patch_set":7,"id":"e9ab6cd4_291e0e2f","line":56,"in_reply_to":"7109e7e0_69cdcfda","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"824c32da74f5ea15547e31a80b384a15fd7ba6af"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8745617c61222a952692a59a12c9819fda267d9c","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":54,"context_line":"            elif e.exit_code !\u003d errno.ENOENT:"},{"line_number":55,"context_line":"                LOG.debug(\u0027Unknown error from nvme show-hostnqn: %s\u0027,"},{"line_number":56,"context_line":"                          e.stdout)"},{"line_number":57,"context_line":"                raise"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not host_nqn:"}],"source_content_type":"text/x-python","patch_set":9,"id":"ea1d5d9d_e40aa6ba","line":56,"range":{"start_line":56,"start_character":26,"end_line":56,"end_character":34},"updated":"2022-02-15 17:51:12.000000000","message":"-1: Have you looked at this output?  It\u0027s \u003e5K chars ... we don\u0027t want to dump all that in the logs.  It\u0027s basically:\n\n  error message\\n\n  version of nvme-cli\\n\n  full output of \u0027nvme help\u0027\n\nThat\u0027s why I suggested on PS3 that you extract the error message, something like this:\n\n  err_msg \u003d e.stdout[:e.stdout.find(\u0027\\n\u0027)]\n\nthen you can do the casefold on that (instead of on the entire stdout), and you can also use it for this useful log message.\n\nThe stderr, btw, is pretty useless, so I can see why you have to parse the stdout:\n\n  $ nvme show-nothing \u003e/dev/null\n  The \u0027\u003cdevice\u003e\u0027 may be either an NVMe character device (ex: /dev/nvme0) or an\nnvme block device (ex: /dev/nvme0n1).\u003cno \\n at end of line\u003e","commit_id":"1eb282da0fe5c0ced4978e72d259fbc1f36f118a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":54,"context_line":"            elif e.exit_code !\u003d errno.ENOENT:"},{"line_number":55,"context_line":"                LOG.debug(\u0027Unknown error from nvme show-hostnqn: %s\u0027,"},{"line_number":56,"context_line":"                          e.stdout)"},{"line_number":57,"context_line":"                raise"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not host_nqn:"}],"source_content_type":"text/x-python","patch_set":9,"id":"cfc2666f_26e49cf0","line":56,"range":{"start_line":56,"start_character":26,"end_line":56,"end_character":34},"in_reply_to":"58c069d5_a09c3de3","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"1eb282da0fe5c0ced4978e72d259fbc1f36f118a"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"261fdaa486963aff290fda93eec93ddd11c59ce6","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":54,"context_line":"            elif e.exit_code !\u003d errno.ENOENT:"},{"line_number":55,"context_line":"                LOG.debug(\u0027Unknown error from nvme show-hostnqn: %s\u0027,"},{"line_number":56,"context_line":"                          e.stdout)"},{"line_number":57,"context_line":"                raise"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not host_nqn:"}],"source_content_type":"text/x-python","patch_set":9,"id":"58c069d5_a09c3de3","line":56,"range":{"start_line":56,"start_character":26,"end_line":56,"end_character":34},"in_reply_to":"ea1d5d9d_e40aa6ba","updated":"2022-02-15 22:31:38.000000000","message":"got it, thanks, will update","commit_id":"1eb282da0fe5c0ced4978e72d259fbc1f36f118a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8745617c61222a952692a59a12c9819fda267d9c","unresolved":true,"context_lines":[{"line_number":55,"context_line":"                LOG.debug(\u0027Unknown error from nvme show-hostnqn: %s\u0027,"},{"line_number":56,"context_line":"                          e.stdout)"},{"line_number":57,"context_line":"                raise"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not host_nqn:"},{"line_number":60,"context_line":"            LOG.debug(\u0027Generating nqn\u0027)"},{"line_number":61,"context_line":"            host_nqn, err \u003d rootwrap.custom_execute(\u0027nvme\u0027, \u0027gen-hostnqn\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a84cc19_feffc630","line":58,"updated":"2022-02-15 17:51:12.000000000","message":"You\u0027ve dropped the log message from the old code:\n\n LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)\n\nIt was printed out when we caught a putils.ProcessExecutionError and the error_code \u003d\u003d errno.ENOENT.  I think we should probably keep it?  If so, it can\u0027t go here at line 58, you\u0027ll have to detect the situation and log the message in the \"if\" block above.","commit_id":"1eb282da0fe5c0ced4978e72d259fbc1f36f118a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"88037e43afb623812ff0304aa3053e63f56f8ce7","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                LOG.debug(\u0027Unknown error from nvme show-hostnqn: %s\u0027,"},{"line_number":56,"context_line":"                          e.stdout)"},{"line_number":57,"context_line":"                raise"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not host_nqn:"},{"line_number":60,"context_line":"            LOG.debug(\u0027Generating nqn\u0027)"},{"line_number":61,"context_line":"            host_nqn, err \u003d rootwrap.custom_execute(\u0027nvme\u0027, \u0027gen-hostnqn\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"58d2c259_fb4667f9","line":58,"in_reply_to":"1a84cc19_feffc630","updated":"2022-02-16 16:23:09.000000000","message":"Done","commit_id":"1eb282da0fe5c0ced4978e72d259fbc1f36f118a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"88037e43afb623812ff0304aa3053e63f56f8ce7","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            err_msg \u003d e.stdout[:e.stdout.find(\u0027\\n\u0027)]"},{"line_number":51,"context_line":"            show_hostnqn_subcmd_missing \u003d ("},{"line_number":52,"context_line":"                \"ERROR: Invalid sub-command\".casefold() in err_msg.casefold())"},{"line_number":53,"context_line":"            if show_hostnqn_subcmd_missing:"},{"line_number":54,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":55,"context_line":"            elif e.exit_code !\u003d errno.ENOENT:"}],"source_content_type":"text/x-python","patch_set":12,"id":"f8554e86_eff833ac","line":52,"updated":"2022-02-16 16:23:09.000000000","message":"I don\u0027t mean to be a jerk, but ... I suggest structuring this differently, especially because we know it will have to be refactored once nvme-cli 2.0 is released.\n\nWhat I mean is, I suggest putting the raise in the else block.  That way what we\u0027ll have is:\n\n  parse the error message\n  if it\u0027s recoverable error 1:\n      log debug about show command missing\n  elif it\u0027s recoverable error 2:\n      log debug about nqn couldn\u0027t be found\n  else\n      log debug about unknown error\n      raise\n  continue processing ...\n\nright now, \"recoverable error 2\" is the condition exit_code \u003d\u003d ENOENT.  When the code is refactored, it will be something like what you are doing to set show_hostnqn_subcmd_missing, and we can slide it in there easily.  And it will be easy to handle other recoverable errors (if we find any).\n\nBy the way, I think adding the error message to the debug log, as you do, is a really good idea.  The upstream nvme-cli seems a bit cavalier about changing them, and since they aren\u0027t providing an error code in the message, we\u0027re stuck parsing the text.  So if we suddenly start getting failures because the message has changed, we\u0027ll be able to see it right away.","commit_id":"686403e4c4ec18145bb9ddaee51c9196b34d0c63"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            err_msg \u003d e.stdout[:e.stdout.find(\u0027\\n\u0027)]"},{"line_number":51,"context_line":"            show_hostnqn_subcmd_missing \u003d ("},{"line_number":52,"context_line":"                \"ERROR: Invalid sub-command\".casefold() in err_msg.casefold())"},{"line_number":53,"context_line":"            if show_hostnqn_subcmd_missing:"},{"line_number":54,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":55,"context_line":"            elif e.exit_code !\u003d errno.ENOENT:"}],"source_content_type":"text/x-python","patch_set":12,"id":"8f5958a2_c8aa22e1","line":52,"in_reply_to":"f8554e86_eff833ac","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"686403e4c4ec18145bb9ddaee51c9196b34d0c63"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"88037e43afb623812ff0304aa3053e63f56f8ce7","unresolved":true,"context_lines":[{"line_number":57,"context_line":"                          err_msg)"},{"line_number":58,"context_line":"                raise"},{"line_number":59,"context_line":"            else:"},{"line_number":60,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027"},{"line_number":61,"context_line":"                          \u0027Trying to generate it...\u0027)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        if not host_nqn:"}],"source_content_type":"text/x-python","patch_set":12,"id":"5127c13a_e721a6b5","line":60,"range":{"start_line":60,"start_character":69,"end_line":60,"end_character":70},"updated":"2022-02-16 16:23:09.000000000","message":"You need a space after this period for when the two strings are combined (unless you take my suggestion below).","commit_id":"686403e4c4ec18145bb9ddaee51c9196b34d0c63"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                          err_msg)"},{"line_number":58,"context_line":"                raise"},{"line_number":59,"context_line":"            else:"},{"line_number":60,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027"},{"line_number":61,"context_line":"                          \u0027Trying to generate it...\u0027)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        if not host_nqn:"}],"source_content_type":"text/x-python","patch_set":12,"id":"44f6119d_ce6e2f89","line":60,"range":{"start_line":60,"start_character":69,"end_line":60,"end_character":70},"in_reply_to":"5127c13a_e721a6b5","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"686403e4c4ec18145bb9ddaee51c9196b34d0c63"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"88037e43afb623812ff0304aa3053e63f56f8ce7","unresolved":true,"context_lines":[{"line_number":58,"context_line":"                raise"},{"line_number":59,"context_line":"            else:"},{"line_number":60,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027"},{"line_number":61,"context_line":"                          \u0027Trying to generate it...\u0027)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        if not host_nqn:"},{"line_number":64,"context_line":"            LOG.debug(\u0027Generating nqn\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"8246ed33_940ba377","line":61,"range":{"start_line":61,"start_character":27,"end_line":61,"end_character":51},"updated":"2022-02-16 16:23:09.000000000","message":"I\u0027m not necessarily against this, but we\u0027ll get the \"Generating nqn\" message at line 64, so I don\u0027t think it\u0027s needed.  But if you do it here, you should do a similar thing at line 54.  So it\u0027s probably better to do it in neither place.","commit_id":"686403e4c4ec18145bb9ddaee51c9196b34d0c63"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                raise"},{"line_number":59,"context_line":"            else:"},{"line_number":60,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027"},{"line_number":61,"context_line":"                          \u0027Trying to generate it...\u0027)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        if not host_nqn:"},{"line_number":64,"context_line":"            LOG.debug(\u0027Generating nqn\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"fb33e8b4_bb557123","line":61,"range":{"start_line":61,"start_character":27,"end_line":61,"end_character":51},"in_reply_to":"8246ed33_940ba377","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"686403e4c4ec18145bb9ddaee51c9196b34d0c63"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"bb59e8f307985f006e11d8bd293b8363bc7c3aac","unresolved":true,"context_lines":[{"line_number":51,"context_line":"            show_hostnqn_subcmd_missing \u003d ("},{"line_number":52,"context_line":"                \"ERROR: Invalid sub-command\".casefold() in err_msg.casefold())"},{"line_number":53,"context_line":"            if show_hostnqn_subcmd_missing:"},{"line_number":54,"context_line":"                LOG.debug(\u0027Version too old cannot check current hostnqn.\u0027)"},{"line_number":55,"context_line":"            elif e.exit_code \u003d\u003d errno.ENOENT:"},{"line_number":56,"context_line":"                LOG.debug(\u0027No nqn could be formed from dmi or systemd.\u0027)"},{"line_number":57,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f73b133_63454b18","line":54,"updated":"2022-02-17 14:09:25.000000000","message":"I think this error message needs some context.  What version is too old?  Should indicate that it is nvme-cli .","commit_id":"26620473fec5ccf337cc4e846d2b0922ae74488f"}],"releasenotes/notes/fix-generate-hostnqn-in-case-old-nvmecli.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"88037e43afb623812ff0304aa3053e63f56f8ce7","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    The nvmeof connector relies on nvme-cli to query the host-nqn."},{"line_number":5,"context_line":"    Versions of nvme-cli \u003c 1.10 do not have the \u0027show-hostnqn\u0027 command,"},{"line_number":6,"context_line":"    which could cause the connector to fail to generate the hostnqn."},{"line_number":7,"context_line":"    Fix the connector to either get or generate the hostnqn with versions"},{"line_number":8,"context_line":"    of nvme-cli\u003c1.10 that do not have \u0027show-hostnqn\u0027."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"90b7a054_bce3fb31","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":7},"updated":"2022-02-16 16:23:09.000000000","message":"nit (only change if you need to put up a new patch set): should be \u0027Fixed\u0027","commit_id":"9bbd7ff4a0d09377a565737dc3010dc33bcd2791"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c9c6ac23608f6fdb7036fa92f63713cb35c5128e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    The nvmeof connector relies on nvme-cli to query the host-nqn."},{"line_number":5,"context_line":"    Versions of nvme-cli \u003c 1.10 do not have the \u0027show-hostnqn\u0027 command,"},{"line_number":6,"context_line":"    which could cause the connector to fail to generate the hostnqn."},{"line_number":7,"context_line":"    Fix the connector to either get or generate the hostnqn with versions"},{"line_number":8,"context_line":"    of nvme-cli\u003c1.10 that do not have \u0027show-hostnqn\u0027."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"0d869148_8e7cc0aa","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":7},"in_reply_to":"90b7a054_bce3fb31","updated":"2022-02-17 02:58:57.000000000","message":"Done","commit_id":"9bbd7ff4a0d09377a565737dc3010dc33bcd2791"}]}
