)]}'
{"ironic_python_agent/hardware.py":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"48d9b0606e3c314fbb354c38980b4a22e8b2da9f","unresolved":true,"context_lines":[{"line_number":1458,"context_line":"        :returns: True if the device is read-only."},{"line_number":1459,"context_line":"        \"\"\""},{"line_number":1460,"context_line":"        try:"},{"line_number":1461,"context_line":"            dev_name \u003d str(block_device_name)[5:]"},{"line_number":1462,"context_line":""},{"line_number":1463,"context_line":"            with open(\u0027/sys/block/%s/ro\u0027 % dev_name, \u0027r\u0027) as f:"},{"line_number":1464,"context_line":"                flag \u003d f.read().strip()"}],"source_content_type":"text/x-python","patch_set":1,"id":"c8a150d5_399176bc","line":1461,"range":{"start_line":1461,"start_character":48,"end_line":1461,"end_character":49},"updated":"2021-03-08 00:36:40.000000000","message":"The change looks good, I think we can keep using block_device object as a parameter instead of block_device_name, I would add a boolean parameter(is_partition\u003dFalse) in this function, you would use the logic from L1470 in case `is_partition\u003dTrue` in the try block. If the condition in L1469 is true we would just call self._is_read_only_device(block_device,is_partition\u003dTrue), let\u0027s see what others think about it \u003d)","commit_id":"1f97839da36fbc3975b7c4fac3bc4f7363d099fb"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"fced05316238b0b1c8c0581bf10286a11ad8ea28","unresolved":false,"context_lines":[{"line_number":1458,"context_line":"        :returns: True if the device is read-only."},{"line_number":1459,"context_line":"        \"\"\""},{"line_number":1460,"context_line":"        try:"},{"line_number":1461,"context_line":"            dev_name \u003d str(block_device_name)[5:]"},{"line_number":1462,"context_line":""},{"line_number":1463,"context_line":"            with open(\u0027/sys/block/%s/ro\u0027 % dev_name, \u0027r\u0027) as f:"},{"line_number":1464,"context_line":"                flag \u003d f.read().strip()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3e80d1a3_32485007","line":1461,"range":{"start_line":1461,"start_character":48,"end_line":1461,"end_character":49},"in_reply_to":"8b193bb8_e5994da4","updated":"2021-03-08 17:16:42.000000000","message":"Both good ideas. Changed to pass in partition\u003dTrue for known partitions and used os.path.basename.","commit_id":"1f97839da36fbc3975b7c4fac3bc4f7363d099fb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"25ca91d3161ddb991215c24ecd4b0eed5a9ac9b6","unresolved":true,"context_lines":[{"line_number":1458,"context_line":"        :returns: True if the device is read-only."},{"line_number":1459,"context_line":"        \"\"\""},{"line_number":1460,"context_line":"        try:"},{"line_number":1461,"context_line":"            dev_name \u003d str(block_device_name)[5:]"},{"line_number":1462,"context_line":""},{"line_number":1463,"context_line":"            with open(\u0027/sys/block/%s/ro\u0027 % dev_name, \u0027r\u0027) as f:"},{"line_number":1464,"context_line":"                flag \u003d f.read().strip()"}],"source_content_type":"text/x-python","patch_set":1,"id":"8b193bb8_e5994da4","line":1461,"range":{"start_line":1461,"start_character":48,"end_line":1461,"end_character":49},"in_reply_to":"c8a150d5_399176bc","updated":"2021-03-08 11:19:12.000000000","message":"Also we could use os.path.basename instead of [5:]","commit_id":"1f97839da36fbc3975b7c4fac3bc4f7363d099fb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"25ca91d3161ddb991215c24ecd4b0eed5a9ac9b6","unresolved":true,"context_lines":[{"line_number":1466,"context_line":"                    return True"},{"line_number":1467,"context_line":"        except IOError as e:"},{"line_number":1468,"context_line":"            # If this is a partition, check underlying device"},{"line_number":1469,"context_line":"            if block_device_name[-1].isdigit():"},{"line_number":1470,"context_line":"                base_name \u003d block_device_name.rstrip(string.digits)"},{"line_number":1471,"context_line":"                return self._is_read_only_device(base_name)"},{"line_number":1472,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"44e1931a_1accd819","line":1469,"updated":"2021-03-08 11:19:12.000000000","message":"This is true for nvme devices, maybe also exclude \u0027nvme\u0027 in name?","commit_id":"1f97839da36fbc3975b7c4fac3bc4f7363d099fb"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"fced05316238b0b1c8c0581bf10286a11ad8ea28","unresolved":false,"context_lines":[{"line_number":1466,"context_line":"                    return True"},{"line_number":1467,"context_line":"        except IOError as e:"},{"line_number":1468,"context_line":"            # If this is a partition, check underlying device"},{"line_number":1469,"context_line":"            if block_device_name[-1].isdigit():"},{"line_number":1470,"context_line":"                base_name \u003d block_device_name.rstrip(string.digits)"},{"line_number":1471,"context_line":"                return self._is_read_only_device(base_name)"},{"line_number":1472,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5d048849_4c174230","line":1469,"in_reply_to":"44e1931a_1accd819","updated":"2021-03-08 17:16:42.000000000","message":"Done","commit_id":"1f97839da36fbc3975b7c4fac3bc4f7363d099fb"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"caa20b99069738e0a41e68802e8a5374c2d8217e","unresolved":true,"context_lines":[{"line_number":1472,"context_line":"            # Check underlying device as the file may exist there"},{"line_number":1473,"context_line":"            if (not partition and dev_name[-1].isdigit()"},{"line_number":1474,"context_line":"                and \u0027nvme\u0027 not in dev_name):"},{"line_number":1475,"context_line":"                return self._is_read_only_device(block_device, True)"},{"line_number":1476,"context_line":""},{"line_number":1477,"context_line":"            LOG.warning(\"Could not determine if %(name)s is a\""},{"line_number":1478,"context_line":"                        \"read-only device. Error: %(err)s\","}],"source_content_type":"text/x-python","patch_set":2,"id":"c266c3de_dbb89ba5","line":1475,"range":{"start_line":1475,"start_character":63,"end_line":1475,"end_character":67},"updated":"2021-03-09 09:04:15.000000000","message":"it works as it is, but we should put \u0027partition\u003dTrue\u0027","commit_id":"13fb856c2cef4605f628daa19b69502fa71840c2"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"fbbab689a1521bb6fbcea9d917fccc81ade546cc","unresolved":false,"context_lines":[{"line_number":1472,"context_line":"            # Check underlying device as the file may exist there"},{"line_number":1473,"context_line":"            if (not partition and dev_name[-1].isdigit()"},{"line_number":1474,"context_line":"                and \u0027nvme\u0027 not in dev_name):"},{"line_number":1475,"context_line":"                return self._is_read_only_device(block_device, True)"},{"line_number":1476,"context_line":""},{"line_number":1477,"context_line":"            LOG.warning(\"Could not determine if %(name)s is a\""},{"line_number":1478,"context_line":"                        \"read-only device. Error: %(err)s\","}],"source_content_type":"text/x-python","patch_set":2,"id":"24f12ab9_cf16887e","line":1475,"range":{"start_line":1475,"start_character":63,"end_line":1475,"end_character":67},"in_reply_to":"c266c3de_dbb89ba5","updated":"2021-03-09 12:07:05.000000000","message":"Done","commit_id":"13fb856c2cef4605f628daa19b69502fa71840c2"}]}
