)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"30084a09d6be2c50c0463726bee7d0f4b3892437","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Proper error handling for invalid SLO/Workload combination"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fix checks the VMAX3 to see if the user inputted SLO/workload"},{"line_number":10,"context_line":"combination is valid.  If it is not, a explanatory exception is "},{"line_number":11,"context_line":"thrown."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da85f559_7753d1e2","line":9,"updated":"2015-11-11 18:26:02.000000000","message":"s/a explanatory/an explanatory/\n\nAlso trailing whitespace at EOL","commit_id":"7931aacdf44e8d5168ed976b29431064dfdb3e9d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"aedcaf9d64048e4cbf2744bbe61776b48ed1f0fb","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Proper error handling for invalid SLO/Workload combination"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fix checks the VMAX3 to see if the user inputted SLO/workload"},{"line_number":10,"context_line":"combination is valid.  If it is not, a explanatory exception is "},{"line_number":11,"context_line":"thrown."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da85f559_f7234156","line":10,"updated":"2015-11-11 18:25:57.000000000","message":"Please remove the trailing white space.","commit_id":"7931aacdf44e8d5168ed976b29431064dfdb3e9d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"aedcaf9d64048e4cbf2744bbe61776b48ed1f0fb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"combination is valid.  If it is not, a explanatory exception is "},{"line_number":11,"context_line":"thrown."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":"Closes-Bug: #1512795"},{"line_number":15,"context_line":"Change-Id: Ic55830eef96788eff8f6ab141a60e1dcfb9971b8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da85f559_b7e939e8","line":13,"updated":"2015-11-11 18:25:57.000000000","message":"Does this need a DocImpact flag?  You just added exception handling right?  Doesn\u0027t seem doc change is needed for this.","commit_id":"7931aacdf44e8d5168ed976b29431064dfdb3e9d"},{"author":{"_account_id":18479,"name":"Slade Baumann","email":"baumann@us.ibm.com","username":"baumann"},"change_message_id":"6099bad452674e390a03d5495713237b878dbfef","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Helen Walsh \u003chelen.walsh@emc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-11-24 00:44:09 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Proper error handling for invalid SLO/Workload combination"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fix checks the VMAX3 to see if the user inputted SLO/workload"},{"line_number":10,"context_line":"combination is valid.  If it is not, a explanatory exception is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a8ffd7b_4a9077ed","line":7,"updated":"2015-12-02 21:09:33.000000000","message":"According to the guidelines, the title should not exceed 50 characters. Maybe try this option:\n\n\"Error handling for invalid SLO/Workload combo\"","commit_id":"2176ba9e992d17f4c833548543462240d7558668"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f7a67b143284ca05a99dc8a3fecd0b3eb1e2baca","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Helen Walsh \u003chelen.walsh@emc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-11-24 00:44:09 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Proper error handling for invalid SLO/Workload combination"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fix checks the VMAX3 to see if the user inputted SLO/workload"},{"line_number":10,"context_line":"combination is valid.  If it is not, a explanatory exception is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a8ffd7b_9d0199b1","line":7,"in_reply_to":"9a8ffd7b_4a9077ed","updated":"2015-12-03 15:06:10.000000000","message":"I will change it to what you have suggested.  Thanks","commit_id":"2176ba9e992d17f4c833548543462240d7558668"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d896f0317778474ea05fc0bb247e1744e46b06c3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Helen Walsh \u003chelen.walsh@emc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-03 21:36:52 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Error handling for invalid SLO/Workload combO"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fix checks the VMAX3 to see if the user inputted SLO/workload"},{"line_number":10,"context_line":"combination is valid.  If it is not, a explanatory exception is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7a740942_63ae1d87","line":7,"updated":"2015-12-04 18:16:04.000000000","message":"s/combO/combo/","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f8765b52cc913be448974ce32bad2ec3e0ac6660","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Helen Walsh \u003chelen.walsh@emc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-03 21:36:52 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Error handling for invalid SLO/Workload combO"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fix checks the VMAX3 to see if the user inputted SLO/workload"},{"line_number":10,"context_line":"combination is valid.  If it is not, a explanatory exception is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7a740942_df6e9a2e","line":7,"in_reply_to":"7a740942_63ae1d87","updated":"2015-12-07 09:36:16.000000000","message":"Will fix this.  Thank you","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"}],"cinder/tests/unit/test_emc_vmax.py":[{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"30084a09d6be2c50c0463726bee7d0f4b3892437","unresolved":false,"context_lines":[{"line_number":6858,"context_line":"        driver.db \u003d FakeDB()"},{"line_number":6859,"context_line":"        self.driver \u003d driver"},{"line_number":6860,"context_line":"        self.driver.utils \u003d emc_vmax_utils.EMCVMAXUtils(object)"},{"line_number":6861,"context_line":""},{"line_number":6862,"context_line":"    def fake_ecom_connection(self):"},{"line_number":6863,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":6864,"context_line":"        return conn"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_d795dd86","line":6861,"updated":"2015-11-11 18:26:02.000000000","message":"Probably out of scope of this patch, but could be nice to have a base EMCVMAX test case so we\u0027re not redefining fake_sleep, fake_ecom_connection,etc. 8+ places.","commit_id":"7931aacdf44e8d5168ed976b29431064dfdb3e9d"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"d6efa1ebb2e1ec8f6aa49acc7750db909ae13d10","unresolved":false,"context_lines":[{"line_number":6858,"context_line":"        driver.db \u003d FakeDB()"},{"line_number":6859,"context_line":"        self.driver \u003d driver"},{"line_number":6860,"context_line":"        self.driver.utils \u003d emc_vmax_utils.EMCVMAXUtils(object)"},{"line_number":6861,"context_line":""},{"line_number":6862,"context_line":"    def fake_ecom_connection(self):"},{"line_number":6863,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":6864,"context_line":"        return conn"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_4519ea78","line":6861,"in_reply_to":"da85f559_d795dd86","updated":"2015-11-12 20:46:24.000000000","message":"Good point.  In fact I don\u0027t believe a lot of these are needed. We will tidy this up","commit_id":"7931aacdf44e8d5168ed976b29431064dfdb3e9d"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"f8ad5bee4ff848e8e908c24cd725f91a264abac5","unresolved":false,"context_lines":[{"line_number":6842,"context_line":"        configuration.safe_get.return_value \u003d \u0027ProvisionV3Tests\u0027"},{"line_number":6843,"context_line":"        configuration.config_group \u003d \u0027ProvisionV3Tests\u0027"},{"line_number":6844,"context_line":""},{"line_number":6845,"context_line":"        self.stubs.Set(emc_vmax_common.EMCVMAXCommon, \u0027_get_ecom_connection\u0027,"},{"line_number":6846,"context_line":"                       self.fake_ecom_connection)"},{"line_number":6847,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":6848,"context_line":"                       self.fake_is_v3)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_9b61b7ab","line":6845,"updated":"2015-11-19 11:21:08.000000000","message":"Please, use mock for new unit tests","commit_id":"0f72bd544954a2e8761d81b7f4e0858cbd766a55"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"7df1c4975f1ef202eecc3bec609269a183d2ba2a","unresolved":false,"context_lines":[{"line_number":6842,"context_line":"        configuration.safe_get.return_value \u003d \u0027ProvisionV3Tests\u0027"},{"line_number":6843,"context_line":"        configuration.config_group \u003d \u0027ProvisionV3Tests\u0027"},{"line_number":6844,"context_line":""},{"line_number":6845,"context_line":"        self.stubs.Set(emc_vmax_common.EMCVMAXCommon, \u0027_get_ecom_connection\u0027,"},{"line_number":6846,"context_line":"                       self.fake_ecom_connection)"},{"line_number":6847,"context_line":"        self.stubs.Set(emc_vmax_utils.EMCVMAXUtils, \u0027isArrayV3\u0027,"},{"line_number":6848,"context_line":"                       self.fake_is_v3)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_48d3fc5f","line":6845,"in_reply_to":"ba8a016a_9b61b7ab","updated":"2015-11-23 11:04:50.000000000","message":"Will do","commit_id":"0f72bd544954a2e8761d81b7f4e0858cbd766a55"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"ab84352c5e2e1d97cccca92901c2f4ed1e05866a","unresolved":false,"context_lines":[{"line_number":6842,"context_line":"        configuration.safe_get.return_value \u003d \u0027ProvisionV3Tests\u0027"},{"line_number":6843,"context_line":"        configuration.config_group \u003d \u0027ProvisionV3Tests\u0027"},{"line_number":6844,"context_line":"        emc_vmax_common.EMCVMAXCommon._gather_info \u003d mock.Mock("},{"line_number":6845,"context_line":"            return_value\u003dself.fake_gather_info())"},{"line_number":6846,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"},{"line_number":6847,"context_line":"        driver.db \u003d FakeDB()"},{"line_number":6848,"context_line":"        self.driver \u003d driver"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_11631fb3","line":6845,"updated":"2015-11-24 14:00:23.000000000","message":"Can we just set return_value\u003dNone?","commit_id":"2176ba9e992d17f4c833548543462240d7558668"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f7a67b143284ca05a99dc8a3fecd0b3eb1e2baca","unresolved":false,"context_lines":[{"line_number":6842,"context_line":"        configuration.safe_get.return_value \u003d \u0027ProvisionV3Tests\u0027"},{"line_number":6843,"context_line":"        configuration.config_group \u003d \u0027ProvisionV3Tests\u0027"},{"line_number":6844,"context_line":"        emc_vmax_common.EMCVMAXCommon._gather_info \u003d mock.Mock("},{"line_number":6845,"context_line":"            return_value\u003dself.fake_gather_info())"},{"line_number":6846,"context_line":"        driver \u003d emc_vmax_iscsi.EMCVMAXISCSIDriver(configuration\u003dconfiguration)"},{"line_number":6847,"context_line":"        driver.db \u003d FakeDB()"},{"line_number":6848,"context_line":"        self.driver \u003d driver"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_dd4161aa","line":6845,"in_reply_to":"9a8ffd7b_11631fb3","updated":"2015-12-03 15:06:10.000000000","message":"Yes, I believe I have already done this in another patch so I will do it here also","commit_id":"2176ba9e992d17f4c833548543462240d7558668"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"ab84352c5e2e1d97cccca92901c2f4ed1e05866a","unresolved":false,"context_lines":[{"line_number":6847,"context_line":"        driver.db \u003d FakeDB()"},{"line_number":6848,"context_line":"        self.driver \u003d driver"},{"line_number":6849,"context_line":""},{"line_number":6850,"context_line":"    def fake_ecom_connection(self):"},{"line_number":6851,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":6852,"context_line":"        return conn"},{"line_number":6853,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_b10ed3e3","line":6850,"updated":"2015-11-24 14:00:23.000000000","message":"IMO, this method is not needed","commit_id":"2176ba9e992d17f4c833548543462240d7558668"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f7a67b143284ca05a99dc8a3fecd0b3eb1e2baca","unresolved":false,"context_lines":[{"line_number":6847,"context_line":"        driver.db \u003d FakeDB()"},{"line_number":6848,"context_line":"        self.driver \u003d driver"},{"line_number":6849,"context_line":""},{"line_number":6850,"context_line":"    def fake_ecom_connection(self):"},{"line_number":6851,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":6852,"context_line":"        return conn"},{"line_number":6853,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_3d0d0d8f","line":6850,"in_reply_to":"9a8ffd7b_b10ed3e3","updated":"2015-12-03 15:06:10.000000000","message":"Correct, will remove","commit_id":"2176ba9e992d17f4c833548543462240d7558668"},{"author":{"_account_id":18479,"name":"Slade Baumann","email":"baumann@us.ibm.com","username":"baumann"},"change_message_id":"6099bad452674e390a03d5495713237b878dbfef","unresolved":false,"context_lines":[{"line_number":6851,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":6852,"context_line":"        return conn"},{"line_number":6853,"context_line":""},{"line_number":6854,"context_line":"    def fake_gather_info(self):"},{"line_number":6855,"context_line":"        return"},{"line_number":6856,"context_line":""},{"line_number":6857,"context_line":"    def test_get_storage_pool_setting(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_9569a0c0","line":6854,"updated":"2015-12-02 21:09:33.000000000","message":"As Ivan mentioned, since this method doesn\u0027t return or technically do anything, couldn\u0027t it be replaced with None in line 6845 and this method be removed?","commit_id":"2176ba9e992d17f4c833548543462240d7558668"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f7a67b143284ca05a99dc8a3fecd0b3eb1e2baca","unresolved":false,"context_lines":[{"line_number":6851,"context_line":"        conn \u003d FakeEcomConnection()"},{"line_number":6852,"context_line":"        return conn"},{"line_number":6853,"context_line":""},{"line_number":6854,"context_line":"    def fake_gather_info(self):"},{"line_number":6855,"context_line":"        return"},{"line_number":6856,"context_line":""},{"line_number":6857,"context_line":"    def test_get_storage_pool_setting(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_9d1e79b9","line":6854,"in_reply_to":"9a8ffd7b_9569a0c0","updated":"2015-12-03 15:06:10.000000000","message":"Correct, will remove","commit_id":"2176ba9e992d17f4c833548543462240d7558668"}],"cinder/volume/drivers/emc/emc_vmax_fc.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d896f0317778474ea05fc0bb247e1744e46b06c3","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":44,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":45,"context_line":"        2.3   - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":46,"context_line":"        2.3   - Proper error handling for invalid SLOs (bug #1512795)"},{"line_number":47,"context_line":"    \"\"\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    VERSION \u003d \"2.3\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_c3227101","line":46,"updated":"2015-12-04 18:16:04.000000000","message":"Like the other ones, I think this would be better as:\n\n2.3.0 - First thing\n         - Second thing\n         - Third thing\n\nAs it is right now, it looks like a typo entering the new version.","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f8765b52cc913be448974ce32bad2ec3e0ac6660","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":44,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":45,"context_line":"        2.3   - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":46,"context_line":"        2.3   - Proper error handling for invalid SLOs (bug #1512795)"},{"line_number":47,"context_line":"    \"\"\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    VERSION \u003d \"2.3\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_1f0d0290","line":46,"in_reply_to":"7a740942_81f3019e","updated":"2015-12-07 09:36:16.000000000","message":"I will change all patches to this format.  Thank you","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d7683a7468eaaabb2c8ce94a0e1c3773bf51b55f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":44,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":45,"context_line":"        2.3   - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":46,"context_line":"        2.3   - Proper error handling for invalid SLOs (bug #1512795)"},{"line_number":47,"context_line":"    \"\"\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    VERSION \u003d \"2.3\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_81f3019e","line":46,"in_reply_to":"7a740942_c3227101","updated":"2015-12-04 19:06:59.000000000","message":"+1","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"}],"cinder/volume/drivers/emc/emc_vmax_iscsi.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d896f0317778474ea05fc0bb247e1744e46b06c3","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":52,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":53,"context_line":"        2.3   - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":54,"context_line":"        2.3   - Proper error handling for invalid SLOs (bug #1512795)"},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    VERSION \u003d \"2.3\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_237a55f2","line":54,"updated":"2015-12-04 18:16:04.000000000","message":"Same.","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f8765b52cc913be448974ce32bad2ec3e0ac6660","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":52,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":53,"context_line":"        2.3   - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":54,"context_line":"        2.3   - Proper error handling for invalid SLOs (bug #1512795)"},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    VERSION \u003d \"2.3\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_1f5bc288","line":54,"in_reply_to":"7a740942_237a55f2","updated":"2015-12-07 09:36:16.000000000","message":"Will fix here and in other patches.  Thank you","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"80aded97a8ab327d2e8fc3290af6d8edaa7d9d50","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":52,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":53,"context_line":"        2.3.0 - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":54,"context_line":"              - Proper error handling for invalid SLOs (bug #1512795)"},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    VERSION \u003d \"2.3.0\""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_9e2d6daa","line":54,"updated":"2015-12-07 12:07:48.000000000","message":"Should it be 2.3.1 version?","commit_id":"22f52bb29a3f5c393b86c66e2fd0ebed865829a1"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"6e06cdf9a21c0cb92f045c2b938dc9d043f47c9e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":52,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":53,"context_line":"        2.3.0 - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":54,"context_line":"              - Proper error handling for invalid SLOs (bug #1512795)"},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    VERSION \u003d \"2.3.0\""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_535a962b","line":54,"in_reply_to":"7a740942_9e2d6daa","updated":"2015-12-07 13:56:50.000000000","message":"We can keeping the versioning the same as the VNX plugin","commit_id":"22f52bb29a3f5c393b86c66e2fd0ebed865829a1"}],"cinder/volume/drivers/emc/emc_vmax_provision_v3.py":[{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"30084a09d6be2c50c0463726bee7d0f4b3892437","unresolved":false,"context_lines":[{"line_number":420,"context_line":"            conn, poolInstanceName)"},{"line_number":421,"context_line":"        if storagePoolCapabilityInstanceName:"},{"line_number":422,"context_line":"            storagePoolSettingInstanceName \u003d self.get_storage_pool_setting("},{"line_number":423,"context_line":"                conn, storagePoolCapabilityInstanceName, slo, workload)"},{"line_number":424,"context_line":"            if storagePoolSettingInstanceName is None:"},{"line_number":425,"context_line":"                exceptionMessage \u003d (_("},{"line_number":426,"context_line":"                    \"The array does not support the storage pool setting \""}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_374f896c","line":423,"updated":"2015-11-11 18:26:02.000000000","message":"Is there any reason we\u0027re not just returning an empty dict in this case and throwing the error in emc_vmax_provision_v3 on line 2843?  It seems strange to have one path return {} and have caller throw exception, while other path throws exception immediately...","commit_id":"7931aacdf44e8d5168ed976b29431064dfdb3e9d"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"d6efa1ebb2e1ec8f6aa49acc7750db909ae13d10","unresolved":false,"context_lines":[{"line_number":420,"context_line":"            conn, poolInstanceName)"},{"line_number":421,"context_line":"        if storagePoolCapabilityInstanceName:"},{"line_number":422,"context_line":"            storagePoolSettingInstanceName \u003d self.get_storage_pool_setting("},{"line_number":423,"context_line":"                conn, storagePoolCapabilityInstanceName, slo, workload)"},{"line_number":424,"context_line":"            if storagePoolSettingInstanceName is None:"},{"line_number":425,"context_line":"                exceptionMessage \u003d (_("},{"line_number":426,"context_line":"                    \"The array does not support the storage pool setting \""}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_6540ae36","line":423,"in_reply_to":"da85f559_374f896c","updated":"2015-11-12 20:46:24.000000000","message":"We will look into this","commit_id":"7931aacdf44e8d5168ed976b29431064dfdb3e9d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d896f0317778474ea05fc0bb247e1744e46b06c3","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        return foundStorageGroupInstanceName"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def get_storage_pool_capability(self, conn, poolInstanceName):"},{"line_number":320,"context_line":"        \"\"\"Get the pool capability."},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        :param conn: the connection information to the ecom server"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_43cbe11e","line":319,"updated":"2015-12-04 18:16:04.000000000","message":"Were these made \"public\" due to needing to access them in the unit tests? If that\u0027s the reason, I would change them back. Private access is fine in a unit test, and it doesn\u0027t appear to be a publicly consumable interface. Probably better to keep them marked as private.","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"ea6b975d614936482c817816b2ed0f64c6568ecf","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        return foundStorageGroupInstanceName"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def get_storage_pool_capability(self, conn, poolInstanceName):"},{"line_number":320,"context_line":"        \"\"\"Get the pool capability."},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        :param conn: the connection information to the ecom server"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_e24099a7","line":319,"in_reply_to":"7a740942_1fe98280","updated":"2015-12-07 11:49:01.000000000","message":"It is also being called in emc_vmax_common.py","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d7683a7468eaaabb2c8ce94a0e1c3773bf51b55f","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        return foundStorageGroupInstanceName"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def get_storage_pool_capability(self, conn, poolInstanceName):"},{"line_number":320,"context_line":"        \"\"\"Get the pool capability."},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        :param conn: the connection information to the ecom server"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_01363152","line":319,"in_reply_to":"7a740942_43cbe11e","updated":"2015-12-04 19:06:59.000000000","message":"+1","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f8765b52cc913be448974ce32bad2ec3e0ac6660","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        return foundStorageGroupInstanceName"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def get_storage_pool_capability(self, conn, poolInstanceName):"},{"line_number":320,"context_line":"        \"\"\"Get the pool capability."},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        :param conn: the connection information to the ecom server"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_1fe98280","line":319,"in_reply_to":"7a740942_43cbe11e","updated":"2015-12-07 09:36:16.000000000","message":"Agreed, if this does not need to be public, I will change it","commit_id":"3008d3f6c36ef502114b6a7143240dbf5b8bff4c"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"79b4bfdb9a8c14dd6dbc5726c3537b71d5fbe174","unresolved":false,"context_lines":[{"line_number":421,"context_line":"        if storagePoolCapabilityInstanceName:"},{"line_number":422,"context_line":"            storagePoolSettingInstanceName \u003d self.get_storage_pool_setting("},{"line_number":423,"context_line":"                conn, storagePoolCapabilityInstanceName, slo, workload)"},{"line_number":424,"context_line":"            if storagePoolSettingInstanceName is None:"},{"line_number":425,"context_line":"                exceptionMessage \u003d (_("},{"line_number":426,"context_line":"                    \"The array does not support the storage pool setting \""},{"line_number":427,"context_line":"                    \"for SLO %(slo)s and workload %(workload)s.  Please \""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_1ac4573e","line":424,"updated":"2015-12-10 15:40:34.000000000","message":"Since you\u0027re throwing this same error when there\u0027s no return from get_storage_pool_setting in every place you call it from, probably would make sense to push this error into get_storage_pool_setting when foundStoragePoolSetting is None","commit_id":"22f52bb29a3f5c393b86c66e2fd0ebed865829a1"}]}
