)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18026,"name":"huanan","email":"huanan@huawei.com","username":"huanan"},"change_message_id":"e0f7a533e21f94fc6bf86c5a2482a4b6af182d19","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stefan Amann \u003cstefan.amann@de.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-15 17:10:45 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support FICON-attached ECKD volumes on System z"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"FICON (Fibre Connection) is a Fibre-Channel FC-4 layer protocol. It is"},{"line_number":10,"context_line":"used on mainframes to attach ECKD volumes via Fibre-Channel. While FICON"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fad55976_5456ead2","line":7,"range":{"start_line":7,"start_character":39,"end_line":7,"end_character":47},"updated":"2016-07-16 01:13:59.000000000","message":"What\u0027s \u0027z\u0027 means?","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":11433,"name":"Stefan Amann","email":"stefan.amann@de.ibm.com","username":"StefanAmann"},"change_message_id":"45738b37f9e5a6edc712f9137430b4a69a27649f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stefan Amann \u003cstefan.amann@de.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-15 17:10:45 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support FICON-attached ECKD volumes on System z"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"FICON (Fibre Connection) is a Fibre-Channel FC-4 layer protocol. It is"},{"line_number":10,"context_line":"used on mainframes to attach ECKD volumes via Fibre-Channel. While FICON"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dada55a8_75b51330","line":7,"range":{"start_line":7,"start_character":39,"end_line":7,"end_character":47},"in_reply_to":"fad55976_1d2743cb","updated":"2016-07-22 13:01:25.000000000","message":"System z, or z Systems is correct. z/OS is just one of the operating systems supporting ECKD. z/VM, and Linux are other examples. System z is correct here..","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"6353008c07c29faaa3c716082255c6e45cc5741e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stefan Amann \u003cstefan.amann@de.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-15 17:10:45 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support FICON-attached ECKD volumes on System z"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"FICON (Fibre Connection) is a Fibre-Channel FC-4 layer protocol. It is"},{"line_number":10,"context_line":"used on mainframes to attach ECKD volumes via Fibre-Channel. While FICON"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fad55976_1d2743cb","line":7,"range":{"start_line":7,"start_character":39,"end_line":7,"end_character":47},"in_reply_to":"fad55976_5456ead2","updated":"2016-07-16 12:53:19.000000000","message":"System z refers to a line of mainframes. See https://en.wikipedia.org/wiki/IBM_System_z. \n\nStefan, maybe change \u0027system z\u0027 to z/OS?","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":18026,"name":"huanan","email":"huanan@huawei.com","username":"huanan"},"change_message_id":"e0f7a533e21f94fc6bf86c5a2482a4b6af182d19","unresolved":false,"context_lines":[{"line_number":14,"context_line":"order to attach an ECKD volume to a hypervisor."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Implements: blueprint linux-ficon-support"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I1ba52d83907fd094be7c8480c5a5bf918876caa5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fad55976_948fc222","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":0},"updated":"2016-07-16 01:13:59.000000000","message":"Please delete unnecessary lines.","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":11433,"name":"Stefan Amann","email":"stefan.amann@de.ibm.com","username":"StefanAmann"},"change_message_id":"45738b37f9e5a6edc712f9137430b4a69a27649f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"order to attach an ECKD volume to a hypervisor."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Implements: blueprint linux-ficon-support"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I1ba52d83907fd094be7c8480c5a5bf918876caa5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dada55a8_b585cb5a","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":0},"in_reply_to":"fad55976_948fc222","updated":"2016-07-22 13:01:25.000000000","message":"Done","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"}],"cinder/volume/driver.py":[{"author":{"_account_id":18026,"name":"huanan","email":"huanan@huawei.com","username":"huanan"},"change_message_id":"e0f7a533e21f94fc6bf86c5a2482a4b6af182d19","unresolved":false,"context_lines":[{"line_number":2830,"context_line":"        \"\"\"Initializes the connection and returns connection info."},{"line_number":2831,"context_line":""},{"line_number":2832,"context_line":"        The  driver returns a driver_volume_type of \u0027fibre_channel_eckd\u0027."},{"line_number":2833,"context_line":"        The cula represents the control unit logical address of "},{"line_number":2834,"context_line":"        the target volume."},{"line_number":2835,"context_line":"        The unit_address represents the unit address of the target volume."},{"line_number":2836,"context_line":"        Example return values:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fad55976_d4f3fa08","line":2833,"range":{"start_line":2833,"start_character":53,"end_line":2833,"end_character":64},"updated":"2016-07-16 01:13:59.000000000","message":"extra whitespace.","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":11433,"name":"Stefan Amann","email":"stefan.amann@de.ibm.com","username":"StefanAmann"},"change_message_id":"45738b37f9e5a6edc712f9137430b4a69a27649f","unresolved":false,"context_lines":[{"line_number":2830,"context_line":"        \"\"\"Initializes the connection and returns connection info."},{"line_number":2831,"context_line":""},{"line_number":2832,"context_line":"        The  driver returns a driver_volume_type of \u0027fibre_channel_eckd\u0027."},{"line_number":2833,"context_line":"        The cula represents the control unit logical address of "},{"line_number":2834,"context_line":"        the target volume."},{"line_number":2835,"context_line":"        The unit_address represents the unit address of the target volume."},{"line_number":2836,"context_line":"        Example return values:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_d22fb5a5","line":2833,"range":{"start_line":2833,"start_character":53,"end_line":2833,"end_character":64},"in_reply_to":"fad55976_d4f3fa08","updated":"2016-07-22 13:01:25.000000000","message":"Done","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"6353008c07c29faaa3c716082255c6e45cc5741e","unresolved":false,"context_lines":[{"line_number":2852,"context_line":"        raise NotImplementedError(msg)"},{"line_number":2853,"context_line":""},{"line_number":2854,"context_line":"    def validate_connector(self, connector):"},{"line_number":2855,"context_line":"        \"\"\"Fail if connector doesn\u0027t contain all the data needed by driver."},{"line_number":2856,"context_line":""},{"line_number":2857,"context_line":"        \"\"\""},{"line_number":2858,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"fad55976_6864bbe3","line":2855,"range":{"start_line":2855,"start_character":8,"end_line":2855,"end_character":75},"updated":"2016-07-16 12:53:19.000000000","message":"Isn\u0027t there any validation required?","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":11433,"name":"Stefan Amann","email":"stefan.amann@de.ibm.com","username":"StefanAmann"},"change_message_id":"45738b37f9e5a6edc712f9137430b4a69a27649f","unresolved":false,"context_lines":[{"line_number":2852,"context_line":"        raise NotImplementedError(msg)"},{"line_number":2853,"context_line":""},{"line_number":2854,"context_line":"    def validate_connector(self, connector):"},{"line_number":2855,"context_line":"        \"\"\"Fail if connector doesn\u0027t contain all the data needed by driver."},{"line_number":2856,"context_line":""},{"line_number":2857,"context_line":"        \"\"\""},{"line_number":2858,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_12114d5e","line":2855,"range":{"start_line":2855,"start_character":8,"end_line":2855,"end_character":75},"in_reply_to":"fad55976_6864bbe3","updated":"2016-07-22 13:01:25.000000000","message":"No, because the only thing you need to define for ECKD is the volume. There is no checking for ECKD adapters whatsoever","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"6353008c07c29faaa3c716082255c6e45cc5741e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fad55976_883bef9b","line":2859,"updated":"2016-07-16 12:53:19.000000000","message":"remove empty line at EOF","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":11433,"name":"Stefan Amann","email":"stefan.amann@de.ibm.com","username":"StefanAmann"},"change_message_id":"45738b37f9e5a6edc712f9137430b4a69a27649f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"dada55a8_d524bfb3","line":2859,"in_reply_to":"fad55976_883bef9b","updated":"2016-07-22 13:01:25.000000000","message":"I think it has to be there.. I checked using the pep8","commit_id":"71b7ac95ee3d3be6a9267a98ed9405ffd24aa25c"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"52ea0e3f852359677ee17739fe949fbf3944ecf6","unresolved":false,"context_lines":[{"line_number":2846,"context_line":"                    \u0027discard\u0027: False,"},{"line_number":2847,"context_line":"                }"},{"line_number":2848,"context_line":"            }"},{"line_number":2849,"context_line":""},{"line_number":2850,"context_line":"        \"\"\""},{"line_number":2851,"context_line":"        msg \u003d _(\"Driver must implement initialize_connection\")"},{"line_number":2852,"context_line":"        raise NotImplementedError(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_a0457eb4","line":2849,"updated":"2016-07-22 12:59:24.000000000","message":"Not sure if this is mandatory, but better remove this empty line","commit_id":"4484e24a0938cc08699c05a80359052002735c99"},{"author":{"_account_id":11433,"name":"Stefan Amann","email":"stefan.amann@de.ibm.com","username":"StefanAmann"},"change_message_id":"e3182a4064939dfd6e63d45cf4d9a6d04437aeed","unresolved":false,"context_lines":[{"line_number":2846,"context_line":"                    \u0027discard\u0027: False,"},{"line_number":2847,"context_line":"                }"},{"line_number":2848,"context_line":"            }"},{"line_number":2849,"context_line":""},{"line_number":2850,"context_line":"        \"\"\""},{"line_number":2851,"context_line":"        msg \u003d _(\"Driver must implement initialize_connection\")"},{"line_number":2852,"context_line":"        raise NotImplementedError(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_80915555","line":2849,"in_reply_to":"dada55a8_a0457eb4","updated":"2016-07-22 14:20:13.000000000","message":"Done","commit_id":"4484e24a0938cc08699c05a80359052002735c99"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"52ea0e3f852359677ee17739fe949fbf3944ecf6","unresolved":false,"context_lines":[{"line_number":2848,"context_line":"            }"},{"line_number":2849,"context_line":""},{"line_number":2850,"context_line":"        \"\"\""},{"line_number":2851,"context_line":"        msg \u003d _(\"Driver must implement initialize_connection\")"},{"line_number":2852,"context_line":"        raise NotImplementedError(msg)"},{"line_number":2853,"context_line":""},{"line_number":2854,"context_line":"    def validate_connector(self, connector):"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_00dc4a17","line":2851,"range":{"start_line":2851,"start_character":8,"end_line":2851,"end_character":62},"updated":"2016-07-22 12:59:24.000000000","message":"Nice. This will help identify the issue.","commit_id":"4484e24a0938cc08699c05a80359052002735c99"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"52ea0e3f852359677ee17739fe949fbf3944ecf6","unresolved":false,"context_lines":[{"line_number":2855,"context_line":"        \"\"\"Fail if connector doesn\u0027t contain all the data needed by driver."},{"line_number":2856,"context_line":""},{"line_number":2857,"context_line":"        No checks need to be performed for ECKD."},{"line_number":2858,"context_line":""},{"line_number":2859,"context_line":"        \"\"\""},{"line_number":2860,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_c01fd2b5","line":2858,"updated":"2016-07-22 12:59:24.000000000","message":"remove empty line","commit_id":"4484e24a0938cc08699c05a80359052002735c99"},{"author":{"_account_id":11433,"name":"Stefan Amann","email":"stefan.amann@de.ibm.com","username":"StefanAmann"},"change_message_id":"e3182a4064939dfd6e63d45cf4d9a6d04437aeed","unresolved":false,"context_lines":[{"line_number":2855,"context_line":"        \"\"\"Fail if connector doesn\u0027t contain all the data needed by driver."},{"line_number":2856,"context_line":""},{"line_number":2857,"context_line":"        No checks need to be performed for ECKD."},{"line_number":2858,"context_line":""},{"line_number":2859,"context_line":"        \"\"\""},{"line_number":2860,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_a07bb928","line":2858,"in_reply_to":"dada55a8_c01fd2b5","updated":"2016-07-22 14:20:13.000000000","message":"Done","commit_id":"4484e24a0938cc08699c05a80359052002735c99"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"52ea0e3f852359677ee17739fe949fbf3944ecf6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"dada55a8_00872a13","line":2861,"updated":"2016-07-22 12:59:24.000000000","message":"remove empty line at EOF","commit_id":"4484e24a0938cc08699c05a80359052002735c99"},{"author":{"_account_id":11433,"name":"Stefan Amann","email":"stefan.amann@de.ibm.com","username":"StefanAmann"},"change_message_id":"e3182a4064939dfd6e63d45cf4d9a6d04437aeed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"dada55a8_60e6e1e9","line":2861,"in_reply_to":"dada55a8_00872a13","updated":"2016-07-22 14:20:13.000000000","message":"Removing it will lead to pep8 errors. So I\u0027ll leave it there","commit_id":"4484e24a0938cc08699c05a80359052002735c99"}]}
