)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"80cd24618ecd186f05e274c6a3fd17a32df187aa","unresolved":false,"context_lines":[{"line_number":10,"context_line":"installed for the snapVx functionality in VMAX3 snapshots."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib7efb76c7c890a1197f4a5f721039fec507f5b97"},{"line_number":13,"context_line":"Closes-Bug: #1587017"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1aa78d24_b9105f5a","line":13,"updated":"2016-07-12 18:17:17.000000000","message":"looks like your fixing 2 bugs with this patchset accroding to the version strings.   Can you mark the other bug as closed here as well?","commit_id":"c45ceb6f07690a23a8da5a45a22aa7ba8136ef08"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"784c70e5b5c5f97ed394f3cd37c93dba94d2cdbb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"installed for the snapVx functionality in VMAX3 snapshots."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib7efb76c7c890a1197f4a5f721039fec507f5b97"},{"line_number":13,"context_line":"Closes-Bug: #1587017"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1aa78d24_3879d72f","line":13,"in_reply_to":"1aa78d24_b9105f5a","updated":"2016-07-13 14:41:30.000000000","message":"One part of the bug fix is documentation, the other is cinder code.  1580795 is for documentation.  1587017 is for cinder.  I will check and confirm","commit_id":"c45ceb6f07690a23a8da5a45a22aa7ba8136ef08"}],"cinder/tests/unit/test_emc_vmax.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"06a7281e025e730d39a68e9433b5bc8b077545bd","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    def fake_getSupportedReplicationTypesCIMProperty(self, reptypes):"},{"line_number":160,"context_line":"        cimproperty \u003d Fake_CIMProperty()"},{"line_number":161,"context_line":"        if reptypes \u003d\u003d \u0027V3\u0027:"},{"line_number":162,"context_line":"            cimproperty.value \u003d [6L, 7L]"},{"line_number":163,"context_line":"        elif reptypes \u003d\u003d \u0027V2\u0027:"},{"line_number":164,"context_line":"            cimproperty.value \u003d [10L]"},{"line_number":165,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_75481288","line":162,"updated":"2016-05-31 01:51:51.000000000","message":"py3 does not have long type.  It only has int.","commit_id":"e37dfea17578978870f0903979a37622c69fae68"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b6afe4e0578f567b2331fb6ab7884cd468ee6036","unresolved":false,"context_lines":[{"line_number":7917,"context_line":"        repservicecap.properties \u003d properties"},{"line_number":7918,"context_line":"        return repservicecap"},{"line_number":7919,"context_line":""},{"line_number":7920,"context_line":"    def test_is_clone_licensed_v3(self):"},{"line_number":7921,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":7922,"context_line":"        reptypes \u003d \u0027V3\u0027"},{"line_number":7923,"context_line":"        isV3 \u003d True"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_802931f5","line":7920,"updated":"2016-07-14 16:58:32.000000000","message":"All test_is_clone_* tests are almost similar. Please use ddt to combine all tests.\n\nFor example, the first two cases can be combined like this:\n\n@ddt.data((\u0027V3\u0027, True), (\u0027V3_ASYNC\u0027, True))\n@ddt.unpack\ndef test_is_clone_licensed(self, reptypes, isV3):","commit_id":"c45ceb6f07690a23a8da5a45a22aa7ba8136ef08"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"7364a92d9d2cdc1780061c8044d52f56a444ff50","unresolved":false,"context_lines":[{"line_number":7917,"context_line":"        repservicecap.properties \u003d properties"},{"line_number":7918,"context_line":"        return repservicecap"},{"line_number":7919,"context_line":""},{"line_number":7920,"context_line":"    def test_is_clone_licensed_v3(self):"},{"line_number":7921,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":7922,"context_line":"        reptypes \u003d \u0027V3\u0027"},{"line_number":7923,"context_line":"        isV3 \u003d True"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_4333d3f6","line":7920,"in_reply_to":"1aa78d24_802931f5","updated":"2016-07-14 17:03:42.000000000","message":"Thanks for the tip Vipin.","commit_id":"c45ceb6f07690a23a8da5a45a22aa7ba8136ef08"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b6afe4e0578f567b2331fb6ab7884cd468ee6036","unresolved":false,"context_lines":[{"line_number":7959,"context_line":""},{"line_number":7960,"context_line":"    def test_is_clone_licensed_false(self):"},{"line_number":7961,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":7962,"context_line":"        isV3 \u003d \u0027V3\u0027"},{"line_number":7963,"context_line":"        reptypes \u003d None"},{"line_number":7964,"context_line":"        capabilityInstanceName \u003d self.getinstance_capability(reptypes)"},{"line_number":7965,"context_line":"        conn.GetInstance \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_006c2135","line":7962,"updated":"2016-07-14 16:58:32.000000000","message":"Why isV3 not a boolean for this test?","commit_id":"c45ceb6f07690a23a8da5a45a22aa7ba8136ef08"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"7364a92d9d2cdc1780061c8044d52f56a444ff50","unresolved":false,"context_lines":[{"line_number":7959,"context_line":""},{"line_number":7960,"context_line":"    def test_is_clone_licensed_false(self):"},{"line_number":7961,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":7962,"context_line":"        isV3 \u003d \u0027V3\u0027"},{"line_number":7963,"context_line":"        reptypes \u003d None"},{"line_number":7964,"context_line":"        capabilityInstanceName \u003d self.getinstance_capability(reptypes)"},{"line_number":7965,"context_line":"        conn.GetInstance \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_43b8f32a","line":7962,"in_reply_to":"1aa78d24_006c2135","updated":"2016-07-14 17:03:42.000000000","message":"You are correct, it should be a boolean","commit_id":"c45ceb6f07690a23a8da5a45a22aa7ba8136ef08"}],"cinder/volume/drivers/emc/emc_vmax_fc.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b6afe4e0578f567b2331fb6ab7884cd468ee6036","unresolved":false,"context_lines":[{"line_number":67,"context_line":"              - Replacement of EMCGetTargetEndpoints api (bug #1512791)"},{"line_number":68,"context_line":"              - VMAX3 snapvx improvements (bug #1522821)"},{"line_number":69,"context_line":"              - Operations and timeout issues (bug #1538214)"},{"line_number":70,"context_line":"        2.4.0 - EMC VMAX - locking SG for concurrent threads (bug #1554634)"},{"line_number":71,"context_line":"              - SnapVX licensing checks for VMAX3 (bug #1587017)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_80c5b10b","line":70,"range":{"start_line":70,"start_character":16,"end_line":70,"end_character":75},"updated":"2016-07-14 16:58:32.000000000","message":"I think Walter was talking about this bug.\n\nWalter, It is already fixed.","commit_id":"c45ceb6f07690a23a8da5a45a22aa7ba8136ef08"}],"cinder/volume/drivers/emc/emc_vmax_utils.py":[{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"00a435f4f3109140bb1fe60aad58b668355e8c8c","unresolved":false,"context_lines":[{"line_number":1711,"context_line":"                          \"%(repTypes)s\","},{"line_number":1712,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1713,"context_line":"                if isV3:"},{"line_number":1714,"context_line":"                    if SYNC_SNAPSHOT_LOCAL in repTypes and ("},{"line_number":1715,"context_line":"                            ASYNC_SNAPSHOT_LOCAL in repTypes):"},{"line_number":1716,"context_line":"                        # Snapshot is a supported replication type."},{"line_number":1717,"context_line":"                        LOG.debug(\"Snapshot for VMAX3 is licensed and \""}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_a9395aa6","line":1714,"updated":"2016-05-31 16:03:55.000000000","message":"Checked on the current output of above log message for our environment:\n\n \"Found supported replication types: [2L, 10L, 6L, 4L, 5L, 19L, 12L, 15L, 16L]\"\n\nIt has 6L but not 7L, yet cloning volumes works fine.\n1. This change would unnecessarily break our environment.\n2. What eLicense is required in order for 7L type to be in this list?","commit_id":"7dee96245ca6d365eed43566a325772842cbd6fe"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"0aa1c9c1cd4d5c1be4a0215f211be7709799faa7","unresolved":false,"context_lines":[{"line_number":1711,"context_line":"                          \"%(repTypes)s\","},{"line_number":1712,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1713,"context_line":"                if isV3:"},{"line_number":1714,"context_line":"                    if SYNC_SNAPSHOT_LOCAL in repTypes and ("},{"line_number":1715,"context_line":"                            ASYNC_SNAPSHOT_LOCAL in repTypes):"},{"line_number":1716,"context_line":"                        # Snapshot is a supported replication type."},{"line_number":1717,"context_line":"                        LOG.debug(\"Snapshot for VMAX3 is licensed and \""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_80aea62b","line":1714,"in_reply_to":"9abb7d3a_a9395aa6","updated":"2016-06-08 19:49:24.000000000","message":"Thanks Carl, I will recheck with the Team, I am guessing if you have one of 6L or 7L it should be ok","commit_id":"7dee96245ca6d365eed43566a325772842cbd6fe"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b6afe4e0578f567b2331fb6ab7884cd468ee6036","unresolved":false,"context_lines":[{"line_number":1712,"context_line":"                          \"%(repTypes)s\","},{"line_number":1713,"context_line":"                          {\u0027repTypes\u0027: repTypes})"},{"line_number":1714,"context_line":"                if isV3:"},{"line_number":1715,"context_line":"                    if SYNC_SNAPSHOT_LOCAL in repTypes or ("},{"line_number":1716,"context_line":"                            ASYNC_SNAPSHOT_LOCAL in repTypes):"},{"line_number":1717,"context_line":"                        # Snapshot is a supported replication type."},{"line_number":1718,"context_line":"                        LOG.debug(\"Snapshot for VMAX3 is licensed and \""},{"line_number":1719,"context_line":"                                  \"enabled.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_40a90924","line":1716,"range":{"start_line":1715,"start_character":23,"end_line":1716,"end_character":60},"updated":"2016-07-14 16:58:32.000000000","message":"nit:\n\n(SYNC_SNAPSHOT_LOCAL in repTypes or ASYNC_SNAPSHOT_LOCAL in repTypes)","commit_id":"c45ceb6f07690a23a8da5a45a22aa7ba8136ef08"}]}
