)]}'
{"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5e22d05505ec6e422d68eb9aaa9a5bde27c89193","unresolved":false,"context_lines":[{"line_number":1938,"context_line":""},{"line_number":1939,"context_line":"        if is_clone_license is False:"},{"line_number":1940,"context_line":"            exceptionMessage \u003d (_("},{"line_number":1941,"context_line":"                \"Clone feature is not licensed on %(storageSystem)s\")"},{"line_number":1942,"context_line":"                % {\u0027storageSystem\u0027: storageSystem})"},{"line_number":1943,"context_line":"            LOG.error(exceptionMessage)"},{"line_number":1944,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexceptionMessage)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_8881e1c5","line":1941,"updated":"2015-03-17 01:35:54.000000000","message":"Would be nice to have a \u0027.\u0027 here.","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b35e9772b98b1aea6ca62041d23b238c8abe4ba5","unresolved":false,"context_lines":[{"line_number":1938,"context_line":""},{"line_number":1939,"context_line":"        if is_clone_license is False:"},{"line_number":1940,"context_line":"            exceptionMessage \u003d (_("},{"line_number":1941,"context_line":"                \"Clone feature is not licensed on %(storageSystem)s\")"},{"line_number":1942,"context_line":"                % {\u0027storageSystem\u0027: storageSystem})"},{"line_number":1943,"context_line":"            LOG.error(exceptionMessage)"},{"line_number":1944,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexceptionMessage)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_02c86d55","line":1941,"in_reply_to":"9a80dd14_8881e1c5","updated":"2015-03-17 03:49:41.000000000","message":"Done","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"862b3ff65c386ce94572b98ff1882173c69fd605","unresolved":false,"context_lines":[{"line_number":1955,"context_line":""},{"line_number":1956,"context_line":"        if is_clone_license is False:"},{"line_number":1957,"context_line":"            exceptionMessage \u003d (_("},{"line_number":1958,"context_line":"                \"Clone feature is not licensed on %(storageSystem)s.\")"},{"line_number":1959,"context_line":"                % {\u0027storageSystem\u0027: storageSystem})"},{"line_number":1960,"context_line":"            LOG.error(exceptionMessage)"},{"line_number":1961,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexceptionMessage)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_86c25151","line":1958,"updated":"2015-03-18 18:21:58.000000000","message":"I\u0027d probably say something like \"The license require for enabling cloning of volumes isn\u0027t available.   Please add the clone license to resolve this.\"","commit_id":"49bda16e5a57497cb6dfe0f85748a7e8dde3be9c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3a2084c70290c1f0236fd445447d05edfe92e79b","unresolved":false,"context_lines":[{"line_number":1955,"context_line":""},{"line_number":1956,"context_line":"        if is_clone_license is False:"},{"line_number":1957,"context_line":"            exceptionMessage \u003d (_("},{"line_number":1958,"context_line":"                \"Clone feature is not licensed on %(storageSystem)s.\")"},{"line_number":1959,"context_line":"                % {\u0027storageSystem\u0027: storageSystem})"},{"line_number":1960,"context_line":"            LOG.error(exceptionMessage)"},{"line_number":1961,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexceptionMessage)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_e6594d8f","line":1958,"in_reply_to":"9a80dd14_86c25151","updated":"2015-03-18 18:29:06.000000000","message":"Sure, let me change it in a later patch.  I\u0027d like this to make K-3.","commit_id":"49bda16e5a57497cb6dfe0f85748a7e8dde3be9c"}],"cinder/volume/drivers/emc/emc_vmax_utils.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"edfdcdf73e3900c2cee0a8e085e972b4dd5adb82","unresolved":false,"context_lines":[{"line_number":1825,"context_line":"        return instance"},{"line_number":1826,"context_line":""},{"line_number":1827,"context_line":"    def find_replication_service_capabilities(self, conn, storageSystemName):"},{"line_number":1828,"context_line":"        \"\"\"Given the storage system name, find the replication service"},{"line_number":1829,"context_line":"        capabilities instance name."},{"line_number":1830,"context_line":""},{"line_number":1831,"context_line":"        :param conn: the connection to the ecom server"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_693bdceb","line":1828,"updated":"2015-03-04 11:26:14.000000000","message":"I think the summary line should fit on a single line.","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"fa278f4baf95f7a5cba7e1a1709ac5f1c8b573a3","unresolved":false,"context_lines":[{"line_number":1825,"context_line":"        return instance"},{"line_number":1826,"context_line":""},{"line_number":1827,"context_line":"    def find_replication_service_capabilities(self, conn, storageSystemName):"},{"line_number":1828,"context_line":"        \"\"\"Given the storage system name, find the replication service"},{"line_number":1829,"context_line":"        capabilities instance name."},{"line_number":1830,"context_line":""},{"line_number":1831,"context_line":"        :param conn: the connection to the ecom server"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_8a9375a2","line":1828,"in_reply_to":"9a80dd14_628d977b","updated":"2015-03-05 05:35:34.000000000","message":"I\u0027ll try to make the sentence shorter to fit in the 80 char limit.","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"678e79cca58b2d0f1bdbb95aa23418b361b46aa4","unresolved":false,"context_lines":[{"line_number":1825,"context_line":"        return instance"},{"line_number":1826,"context_line":""},{"line_number":1827,"context_line":"    def find_replication_service_capabilities(self, conn, storageSystemName):"},{"line_number":1828,"context_line":"        \"\"\"Given the storage system name, find the replication service"},{"line_number":1829,"context_line":"        capabilities instance name."},{"line_number":1830,"context_line":""},{"line_number":1831,"context_line":"        :param conn: the connection to the ecom server"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_628d977b","line":1828,"in_reply_to":"9a80dd14_693bdceb","updated":"2015-03-04 22:46:43.000000000","message":"@Vipin That would exceed the 80 character limit and be a pep8 violation","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b35e9772b98b1aea6ca62041d23b238c8abe4ba5","unresolved":false,"context_lines":[{"line_number":1825,"context_line":"        return instance"},{"line_number":1826,"context_line":""},{"line_number":1827,"context_line":"    def find_replication_service_capabilities(self, conn, storageSystemName):"},{"line_number":1828,"context_line":"        \"\"\"Given the storage system name, find the replication service"},{"line_number":1829,"context_line":"        capabilities instance name."},{"line_number":1830,"context_line":""},{"line_number":1831,"context_line":"        :param conn: the connection to the ecom server"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_62bf69ab","line":1828,"in_reply_to":"9a80dd14_8a9375a2","updated":"2015-03-17 03:49:41.000000000","message":"Done","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5e22d05505ec6e422d68eb9aaa9a5bde27c89193","unresolved":false,"context_lines":[{"line_number":1838,"context_line":"        for repservCap in repservices:"},{"line_number":1839,"context_line":"            if storageSystemName in repservCap[\u0027InstanceID\u0027]:"},{"line_number":1840,"context_line":"                foundRepServCapability \u003d repservCap"},{"line_number":1841,"context_line":"                LOG.debug(\"Found Replication Service Capabilities:\""},{"line_number":1842,"context_line":"                          \"%(repservCap)s\","},{"line_number":1843,"context_line":"                          {\u0027repservCap\u0027: repservCap})"},{"line_number":1844,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_c8511965","line":1841,"updated":"2015-03-17 01:35:54.000000000","message":"Should have a space at EOL.","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b35e9772b98b1aea6ca62041d23b238c8abe4ba5","unresolved":false,"context_lines":[{"line_number":1838,"context_line":"        for repservCap in repservices:"},{"line_number":1839,"context_line":"            if storageSystemName in repservCap[\u0027InstanceID\u0027]:"},{"line_number":1840,"context_line":"                foundRepServCapability \u003d repservCap"},{"line_number":1841,"context_line":"                LOG.debug(\"Found Replication Service Capabilities:\""},{"line_number":1842,"context_line":"                          \"%(repservCap)s\","},{"line_number":1843,"context_line":"                          {\u0027repservCap\u0027: repservCap})"},{"line_number":1844,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_c2e575dd","line":1841,"in_reply_to":"9a80dd14_c8511965","updated":"2015-03-17 03:49:41.000000000","message":"Done","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5e22d05505ec6e422d68eb9aaa9a5bde27c89193","unresolved":false,"context_lines":[{"line_number":1866,"context_line":"            if properties[0] \u003d\u003d \u0027SupportedReplicationTypes\u0027:"},{"line_number":1867,"context_line":"                cimProperties \u003d properties[1]"},{"line_number":1868,"context_line":"                repTypes \u003d cimProperties.value"},{"line_number":1869,"context_line":"                LOG.debug(\"Found supported replication types:\""},{"line_number":1870,"context_line":"                          \"%(repTypes)s\","},{"line_number":1871,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1872,"context_line":"                if 10 in repTypes:  # clone is a supported replication type."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_68f10d6a","line":1869,"updated":"2015-03-17 01:35:54.000000000","message":"Should have a space at EOL.","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b35e9772b98b1aea6ca62041d23b238c8abe4ba5","unresolved":false,"context_lines":[{"line_number":1866,"context_line":"            if properties[0] \u003d\u003d \u0027SupportedReplicationTypes\u0027:"},{"line_number":1867,"context_line":"                cimProperties \u003d properties[1]"},{"line_number":1868,"context_line":"                repTypes \u003d cimProperties.value"},{"line_number":1869,"context_line":"                LOG.debug(\"Found supported replication types:\""},{"line_number":1870,"context_line":"                          \"%(repTypes)s\","},{"line_number":1871,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1872,"context_line":"                if 10 in repTypes:  # clone is a supported replication type."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_8229bdf4","line":1869,"in_reply_to":"9a80dd14_68f10d6a","updated":"2015-03-17 03:49:41.000000000","message":"Done","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"edfdcdf73e3900c2cee0a8e085e972b4dd5adb82","unresolved":false,"context_lines":[{"line_number":1869,"context_line":"                LOG.debug(\"Found supported replication types:\""},{"line_number":1870,"context_line":"                          \"%(repTypes)s\","},{"line_number":1871,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1872,"context_line":"                if 10 in repTypes:  # clone is a supported replication type."},{"line_number":1873,"context_line":"                    LOG.debug(\"Clone is licensed and enabled\")"},{"line_number":1874,"context_line":"                    return True"},{"line_number":1875,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_6912fc63","line":1872,"updated":"2015-03-04 11:26:14.000000000","message":"Can we use a constant here?","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b35e9772b98b1aea6ca62041d23b238c8abe4ba5","unresolved":false,"context_lines":[{"line_number":1869,"context_line":"                LOG.debug(\"Found supported replication types:\""},{"line_number":1870,"context_line":"                          \"%(repTypes)s\","},{"line_number":1871,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1872,"context_line":"                if 10 in repTypes:  # clone is a supported replication type."},{"line_number":1873,"context_line":"                    LOG.debug(\"Clone is licensed and enabled\")"},{"line_number":1874,"context_line":"                    return True"},{"line_number":1875,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_4247c5bc","line":1872,"in_reply_to":"9a80dd14_0ad6a54f","updated":"2015-03-17 03:49:41.000000000","message":"Done","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"fa278f4baf95f7a5cba7e1a1709ac5f1c8b573a3","unresolved":false,"context_lines":[{"line_number":1869,"context_line":"                LOG.debug(\"Found supported replication types:\""},{"line_number":1870,"context_line":"                          \"%(repTypes)s\","},{"line_number":1871,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1872,"context_line":"                if 10 in repTypes:  # clone is a supported replication type."},{"line_number":1873,"context_line":"                    LOG.debug(\"Clone is licensed and enabled\")"},{"line_number":1874,"context_line":"                    return True"},{"line_number":1875,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_0ad6a54f","line":1872,"in_reply_to":"9a80dd14_6912fc63","updated":"2015-03-05 05:35:34.000000000","message":"Sure.","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5e22d05505ec6e422d68eb9aaa9a5bde27c89193","unresolved":false,"context_lines":[{"line_number":1870,"context_line":"                          \"%(repTypes)s\","},{"line_number":1871,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1872,"context_line":"                if 10 in repTypes:  # clone is a supported replication type."},{"line_number":1873,"context_line":"                    LOG.debug(\"Clone is licensed and enabled\")"},{"line_number":1874,"context_line":"                    return True"},{"line_number":1875,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_e8fc1d42","line":1873,"updated":"2015-03-17 01:35:54.000000000","message":"Suggest \u0027.\u0027 here.","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b35e9772b98b1aea6ca62041d23b238c8abe4ba5","unresolved":false,"context_lines":[{"line_number":1870,"context_line":"                          \"%(repTypes)s\","},{"line_number":1871,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1872,"context_line":"                if 10 in repTypes:  # clone is a supported replication type."},{"line_number":1873,"context_line":"                    LOG.debug(\"Clone is licensed and enabled\")"},{"line_number":1874,"context_line":"                    return True"},{"line_number":1875,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_023dcd2c","line":1873,"in_reply_to":"9a80dd14_e8fc1d42","updated":"2015-03-17 03:49:41.000000000","message":"Done","commit_id":"95afdcc2515d6a42f1f3276350499628ee37d4bc"}]}
