)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1855eff02fa246dd72fea7067d0811b955cfe51b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"replaced the existing option \"storage_vnx_pool_name\". The new option"},{"line_number":11,"context_line":"allows user specify more than one pools to be managed by a vnx"},{"line_number":12,"context_line":"cinder back end."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Id6c3a1ecb32484fbd35dbb5814262103b322249e"},{"line_number":15,"context_line":"Closes-Bug: 1456062"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a016987_1f82f400","line":13,"updated":"2015-05-27 15:32:39.000000000","message":"Please add DocImpact.\n\nI assume the following doc will be changed after this is merged. It appears that storagetype:pool extra spec key is not supported any more?  So you won\u0027t specify a pool in extra specs to be picked, instead the scheduler will choose the pool with most free capacity?\n\nhttp://docs.openstack.org/kilo/config-reference/content/emc-vnx-direct-driver.html#emc-vnx-direct-multipool","commit_id":"99999183cfb45d2fea89c6eb414a7af253585f1b"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"2a40a8141cf075b54e2db9c3ec8e67e0b94f0c8e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"replaced the existing option \"storage_vnx_pool_name\". The new option"},{"line_number":11,"context_line":"allows user specify more than one pools to be managed by a vnx"},{"line_number":12,"context_line":"cinder back end."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Id6c3a1ecb32484fbd35dbb5814262103b322249e"},{"line_number":15,"context_line":"Closes-Bug: 1456062"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a016987_8138b03e","line":13,"in_reply_to":"7a016987_1f82f400","updated":"2015-05-28 02:44:28.000000000","message":"Thanks, I will add the DocImpact. This change introduced a new configure option. For the \"storageype:pool\" this is changed by another feature. We need a seperate doc bug to address it.","commit_id":"99999183cfb45d2fea89c6eb414a7af253585f1b"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"149ed1eca0f4db3d2ed0347f6915a87395977ac1","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This introduced a new option \"storage_vnx_pool_names\" which"},{"line_number":10,"context_line":"replaced the existing option \"storage_vnx_pool_name\". The new option"},{"line_number":11,"context_line":"allows user specify more than one pools to be managed by a vnx"},{"line_number":12,"context_line":"cinder back end."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a016987_c921f19f","line":11,"updated":"2015-05-29 12:43:44.000000000","message":"more than one pool to be managed","commit_id":"2b04acc3ccc4c827f17e351b1a38b068cf11eb9a"}],"cinder/tests/unit/test_emc_vnxdirect.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ef2b99c8887de17baf4e15fd305ed6d30bac1975","unresolved":false,"context_lines":[{"line_number":4010,"context_line":"             \"unit_test_pool_none2\""},{"line_number":4011,"context_line":"             \u0027volume_backend_name\u0027: \u0027namedbackend\u0027})"},{"line_number":4012,"context_line":"        self.assertRaisesRegexp(exception.VolumeBackendAPIException,"},{"line_number":4013,"context_line":"                                \"All the specified storage pools to be managed\""},{"line_number":4014,"context_line":"                                \" do not exist\\.*\","},{"line_number":4015,"context_line":"                                self.generateDriver,"},{"line_number":4016,"context_line":"                                self.configuration)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_cd1a2f7d","line":4013,"updated":"2015-05-19 18:53:07.000000000","message":"I\u0027d really rather not see asserting against exception text. It\u0027s good to validate the exception was raised, but text can be updated down the road, and it isn\u0027t obvious to the future maintainer that there is any dependency on that text.","commit_id":"025183dba0d7c6ffcb2aa84324cfe1b43af0adba"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"83e1e97fede9f11772e73724daed1a6a7d549d59","unresolved":false,"context_lines":[{"line_number":4010,"context_line":"             \"unit_test_pool_none2\""},{"line_number":4011,"context_line":"             \u0027volume_backend_name\u0027: \u0027namedbackend\u0027})"},{"line_number":4012,"context_line":"        self.assertRaisesRegexp(exception.VolumeBackendAPIException,"},{"line_number":4013,"context_line":"                                \"All the specified storage pools to be managed\""},{"line_number":4014,"context_line":"                                \" do not exist\\.*\","},{"line_number":4015,"context_line":"                                self.generateDriver,"},{"line_number":4016,"context_line":"                                self.configuration)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_a4cf0528","line":4013,"in_reply_to":"7a016987_cd1a2f7d","updated":"2015-05-20 02:50:04.000000000","message":"Thanks, this make sense.","commit_id":"025183dba0d7c6ffcb2aa84324cfe1b43af0adba"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"a310018d52f6ebda6bff80c5b7836b32b6a38385","unresolved":false,"context_lines":[{"line_number":3958,"context_line":""},{"line_number":3959,"context_line":"class EMCVNXCLIDMultiPoolsTestCase(DriverTestCaseBase):"},{"line_number":3960,"context_line":""},{"line_number":3961,"context_line":"    def generateDriver(self, conf):"},{"line_number":3962,"context_line":"        driver \u003d emc_cli_iscsi.EMCCLIISCSIDriver(configuration\u003dconf)"},{"line_number":3963,"context_line":"        return driver"},{"line_number":3964,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_1ac63468","line":3961,"updated":"2015-05-29 08:58:23.000000000","message":"generate_driver","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"710531039bfaab2a424cdc7ab24d895044518728","unresolved":false,"context_lines":[{"line_number":3958,"context_line":""},{"line_number":3959,"context_line":"class EMCVNXCLIDMultiPoolsTestCase(DriverTestCaseBase):"},{"line_number":3960,"context_line":""},{"line_number":3961,"context_line":"    def generateDriver(self, conf):"},{"line_number":3962,"context_line":"        driver \u003d emc_cli_iscsi.EMCCLIISCSIDriver(configuration\u003dconf)"},{"line_number":3963,"context_line":"        return driver"},{"line_number":3964,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_f5ec89bc","line":3961,"in_reply_to":"7a016987_1ac63468","updated":"2015-05-29 09:31:49.000000000","message":"Done","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"a310018d52f6ebda6bff80c5b7836b32b6a38385","unresolved":false,"context_lines":[{"line_number":3997,"context_line":"        self.assertEqual(set([\"unit_test_pool3\"]),"},{"line_number":3998,"context_line":"                         driver.cli.storage_pools)"},{"line_number":3999,"context_line":""},{"line_number":4000,"context_line":"    def test_configured_pool_dose_not_exist(self):"},{"line_number":4001,"context_line":"        self.configuration.safe_get \u003d self.fake_safe_get("},{"line_number":4002,"context_line":"            {\u0027storage_vnx_pool_names\u0027: \"unit_test_pool2, unit_test_pool_none2\","},{"line_number":4003,"context_line":"             \u0027volume_backend_name\u0027: \u0027namedbackend\u0027})"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_7aad289a","line":4000,"updated":"2015-05-29 08:58:23.000000000","message":"dose -\u003e does","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"710531039bfaab2a424cdc7ab24d895044518728","unresolved":false,"context_lines":[{"line_number":3997,"context_line":"        self.assertEqual(set([\"unit_test_pool3\"]),"},{"line_number":3998,"context_line":"                         driver.cli.storage_pools)"},{"line_number":3999,"context_line":""},{"line_number":4000,"context_line":"    def test_configured_pool_dose_not_exist(self):"},{"line_number":4001,"context_line":"        self.configuration.safe_get \u003d self.fake_safe_get("},{"line_number":4002,"context_line":"            {\u0027storage_vnx_pool_names\u0027: \"unit_test_pool2, unit_test_pool_none2\","},{"line_number":4003,"context_line":"             \u0027volume_backend_name\u0027: \u0027namedbackend\u0027})"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_35f7c18c","line":4000,"in_reply_to":"7a016987_7aad289a","updated":"2015-05-29 09:31:49.000000000","message":"Done","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"}],"cinder/volume/drivers/emc/emc_cli_fc.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"4a5657d5e8723a77409aa6b2eca76d9b588f5ce6","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        5.2.0 - Pool-aware scheduler support"},{"line_number":56,"context_line":"        5.3.0 - Consistency group modification support"},{"line_number":57,"context_line":"        6.0.0 - Over subscription support"},{"line_number":58,"context_line":"                Multiple pools support enhancement"},{"line_number":59,"context_line":"    \"\"\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def __init__(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_f584b0b1","line":58,"updated":"2015-05-28 13:13:33.000000000","message":"I think the minor version should change.","commit_id":"b9872b77ffc829827935c8d3539f05d2aeb19c14"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"e0df1c137c5ccc764353b4a211ff8c8d85f8e4e5","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        5.2.0 - Pool-aware scheduler support"},{"line_number":56,"context_line":"        5.3.0 - Consistency group modification support"},{"line_number":57,"context_line":"        6.0.0 - Over subscription support"},{"line_number":58,"context_line":"                Multiple pools support enhancement"},{"line_number":59,"context_line":"    \"\"\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def __init__(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_78fbfb7b","line":58,"in_reply_to":"7a016987_f584b0b1","updated":"2015-05-29 03:05:08.000000000","message":"Hi, this is a intended version strategy change. Before the L released out, we will keep the version as 6.0.0.","commit_id":"b9872b77ffc829827935c8d3539f05d2aeb19c14"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"54aaf023732d409aa9cb30b97e18deefe0e602b8","unresolved":false,"context_lines":[{"line_number":1678,"context_line":"            storage_pools.difference_update(un_exist_pools)"},{"line_number":1679,"context_line":"            if not storage_pools:"},{"line_number":1680,"context_line":"                msg \u003d _(\"All the specified storage pools to be managed \""},{"line_number":1681,"context_line":"                        \"do not exist. Please check the configurations. \""},{"line_number":1682,"context_line":"                        \"Nonexistent pools: %s\") % \",\".join(un_exist_pools)"},{"line_number":1683,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1684,"context_line":"            if un_exist_pools:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_eebcbedd","line":1681,"updated":"2015-05-20 00:20:14.000000000","message":"Suggest \"Please check your configuration.\"","commit_id":"025183dba0d7c6ffcb2aa84324cfe1b43af0adba"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"83e1e97fede9f11772e73724daed1a6a7d549d59","unresolved":false,"context_lines":[{"line_number":1678,"context_line":"            storage_pools.difference_update(un_exist_pools)"},{"line_number":1679,"context_line":"            if not storage_pools:"},{"line_number":1680,"context_line":"                msg \u003d _(\"All the specified storage pools to be managed \""},{"line_number":1681,"context_line":"                        \"do not exist. Please check the configurations. \""},{"line_number":1682,"context_line":"                        \"Nonexistent pools: %s\") % \",\".join(un_exist_pools)"},{"line_number":1683,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1684,"context_line":"            if un_exist_pools:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_a48145c5","line":1681,"in_reply_to":"7a016987_eebcbedd","updated":"2015-05-20 02:50:04.000000000","message":"Done","commit_id":"025183dba0d7c6ffcb2aa84324cfe1b43af0adba"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"54aaf023732d409aa9cb30b97e18deefe0e602b8","unresolved":false,"context_lines":[{"line_number":1684,"context_line":"            if un_exist_pools:"},{"line_number":1685,"context_line":"                LOG.warning(_LW(\"The following specified storage pools \""},{"line_number":1686,"context_line":"                                \"do not exist: %(unexist)s. \""},{"line_number":1687,"context_line":"                                \"This host will only manage the storage\""},{"line_number":1688,"context_line":"                                \"pools: %(exist)s\"),"},{"line_number":1689,"context_line":"                            {\u0027unexist\u0027: \",\".join(un_exist_pools),"},{"line_number":1690,"context_line":"                             \u0027exist\u0027: \",\".join(storage_pools)})"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_cec10256","line":1687,"updated":"2015-05-20 00:20:14.000000000","message":"Need space at EOL here.","commit_id":"025183dba0d7c6ffcb2aa84324cfe1b43af0adba"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"83e1e97fede9f11772e73724daed1a6a7d549d59","unresolved":false,"context_lines":[{"line_number":1684,"context_line":"            if un_exist_pools:"},{"line_number":1685,"context_line":"                LOG.warning(_LW(\"The following specified storage pools \""},{"line_number":1686,"context_line":"                                \"do not exist: %(unexist)s. \""},{"line_number":1687,"context_line":"                                \"This host will only manage the storage\""},{"line_number":1688,"context_line":"                                \"pools: %(exist)s\"),"},{"line_number":1689,"context_line":"                            {\u0027unexist\u0027: \",\".join(un_exist_pools),"},{"line_number":1690,"context_line":"                             \u0027exist\u0027: \",\".join(storage_pools)})"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_c480c1c2","line":1687,"in_reply_to":"7a016987_cec10256","updated":"2015-05-20 02:50:04.000000000","message":"Done","commit_id":"025183dba0d7c6ffcb2aa84324cfe1b43af0adba"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"4a5657d5e8723a77409aa6b2eca76d9b588f5ce6","unresolved":false,"context_lines":[{"line_number":2112,"context_line":"        self.stats[\u0027consistencygroup_support\u0027] \u003d ("},{"line_number":2113,"context_line":"            \u0027True\u0027 if \u0027-VNXSnapshots\u0027 in self.enablers else \u0027False\u0027)"},{"line_number":2114,"context_line":""},{"line_number":2115,"context_line":"        if self.protocol \u003d\u003d \u0027iSCSI\u0027:"},{"line_number":2116,"context_line":"            self.iscsi_targets \u003d self._client.get_iscsi_targets(poll\u003dFalse)"},{"line_number":2117,"context_line":""},{"line_number":2118,"context_line":"        return self.stats"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_35d488bb","side":"PARENT","line":2115,"updated":"2015-05-28 13:13:33.000000000","message":"Is this an unrelated change?","commit_id":"f27c194b738259f95f6030169bf24bd089bdc80e"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"e0df1c137c5ccc764353b4a211ff8c8d85f8e4e5","unresolved":false,"context_lines":[{"line_number":2112,"context_line":"        self.stats[\u0027consistencygroup_support\u0027] \u003d ("},{"line_number":2113,"context_line":"            \u0027True\u0027 if \u0027-VNXSnapshots\u0027 in self.enablers else \u0027False\u0027)"},{"line_number":2114,"context_line":""},{"line_number":2115,"context_line":"        if self.protocol \u003d\u003d \u0027iSCSI\u0027:"},{"line_number":2116,"context_line":"            self.iscsi_targets \u003d self._client.get_iscsi_targets(poll\u003dFalse)"},{"line_number":2117,"context_line":""},{"line_number":2118,"context_line":"        return self.stats"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_f81dabbe","side":"PARENT","line":2115,"in_reply_to":"7a016987_35d488bb","updated":"2015-05-29 03:05:08.000000000","message":"This is not removed. It has been moved to line 3029-3030 where is the new update_volume_stats method.","commit_id":"f27c194b738259f95f6030169bf24bd089bdc80e"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"4a5657d5e8723a77409aa6b2eca76d9b588f5ce6","unresolved":false,"context_lines":[{"line_number":1654,"context_line":"                         \"Please register initiator manually.\"))"},{"line_number":1655,"context_line":"        self.hlu_set \u003d set(xrange(1, self.max_luns_per_sg + 1))"},{"line_number":1656,"context_line":"        self._client \u003d CommandLineHelper(self.configuration)"},{"line_number":1657,"context_line":"        self.storage_pools \u003d self.get_managed_storage_pools(self.configuration)"},{"line_number":1658,"context_line":"        self.array_serial \u003d None"},{"line_number":1659,"context_line":"        if self.protocol \u003d\u003d \u0027iSCSI\u0027:"},{"line_number":1660,"context_line":"            self.iscsi_targets \u003d self._client.get_iscsi_targets(poll\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_f5f3909d","line":1657,"updated":"2015-05-28 13:13:33.000000000","message":"Why not just pass the list of pool names instead of configuration?","commit_id":"b9872b77ffc829827935c8d3539f05d2aeb19c14"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"e0df1c137c5ccc764353b4a211ff8c8d85f8e4e5","unresolved":false,"context_lines":[{"line_number":1654,"context_line":"                         \"Please register initiator manually.\"))"},{"line_number":1655,"context_line":"        self.hlu_set \u003d set(xrange(1, self.max_luns_per_sg + 1))"},{"line_number":1656,"context_line":"        self._client \u003d CommandLineHelper(self.configuration)"},{"line_number":1657,"context_line":"        self.storage_pools \u003d self.get_managed_storage_pools(self.configuration)"},{"line_number":1658,"context_line":"        self.array_serial \u003d None"},{"line_number":1659,"context_line":"        if self.protocol \u003d\u003d \u0027iSCSI\u0027:"},{"line_number":1660,"context_line":"            self.iscsi_targets \u003d self._client.get_iscsi_targets(poll\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_987fd7df","line":1657,"in_reply_to":"7a016987_f5f3909d","updated":"2015-05-29 03:05:08.000000000","message":"Good suggestion.","commit_id":"b9872b77ffc829827935c8d3539f05d2aeb19c14"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"4a5657d5e8723a77409aa6b2eca76d9b588f5ce6","unresolved":false,"context_lines":[{"line_number":1666,"context_line":"        self.max_over_subscription_ratio \u003d ("},{"line_number":1667,"context_line":"            self.configuration.max_over_subscription_ratio)"},{"line_number":1668,"context_line":""},{"line_number":1669,"context_line":"    def get_managed_storage_pools(self, configuration):"},{"line_number":1670,"context_line":"        storage_pools \u003d set()"},{"line_number":1671,"context_line":"        pools \u003d configuration.safe_get(\"storage_vnx_pool_names\")"},{"line_number":1672,"context_line":"        if pools:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_f5ccb062","line":1669,"updated":"2015-05-28 13:13:33.000000000","message":"Looks like this is a private method, consider prefixing with _.","commit_id":"b9872b77ffc829827935c8d3539f05d2aeb19c14"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"e0df1c137c5ccc764353b4a211ff8c8d85f8e4e5","unresolved":false,"context_lines":[{"line_number":1666,"context_line":"        self.max_over_subscription_ratio \u003d ("},{"line_number":1667,"context_line":"            self.configuration.max_over_subscription_ratio)"},{"line_number":1668,"context_line":""},{"line_number":1669,"context_line":"    def get_managed_storage_pools(self, configuration):"},{"line_number":1670,"context_line":"        storage_pools \u003d set()"},{"line_number":1671,"context_line":"        pools \u003d configuration.safe_get(\"storage_vnx_pool_names\")"},{"line_number":1672,"context_line":"        if pools:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_9866b74f","line":1669,"in_reply_to":"7a016987_f5ccb062","updated":"2015-05-29 03:05:08.000000000","message":"Done","commit_id":"b9872b77ffc829827935c8d3539f05d2aeb19c14"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"031ef9f50172a344a85c5bf09b408514ee2a9e69","unresolved":false,"context_lines":[{"line_number":1667,"context_line":"        self.max_over_subscription_ratio \u003d ("},{"line_number":1668,"context_line":"            self.configuration.max_over_subscription_ratio)"},{"line_number":1669,"context_line":""},{"line_number":1670,"context_line":"    def _get_managed_storage_pools(self, pools):"},{"line_number":1671,"context_line":"        storage_pools \u003d set()"},{"line_number":1672,"context_line":"        if pools:"},{"line_number":1673,"context_line":"            storage_pools \u003d set([po.strip() for po in pools.split(\",\")])"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_248e7579","line":1670,"updated":"2015-05-29 07:42:49.000000000","message":"It is better to add a test for this method.","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a42be6ee8061e8e9fa7056980351db4ce8f5c03b","unresolved":false,"context_lines":[{"line_number":1667,"context_line":"        self.max_over_subscription_ratio \u003d ("},{"line_number":1668,"context_line":"            self.configuration.max_over_subscription_ratio)"},{"line_number":1669,"context_line":""},{"line_number":1670,"context_line":"    def _get_managed_storage_pools(self, pools):"},{"line_number":1671,"context_line":"        storage_pools \u003d set()"},{"line_number":1672,"context_line":"        if pools:"},{"line_number":1673,"context_line":"            storage_pools \u003d set([po.strip() for po in pools.split(\",\")])"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_04725911","line":1670,"in_reply_to":"7a016987_248e7579","updated":"2015-05-29 07:58:16.000000000","message":"The test of this method has been covered in the new added suite EMCVNXCLIDMultiPoolsTestCase. Thanks.","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"a310018d52f6ebda6bff80c5b7836b32b6a38385","unresolved":false,"context_lines":[{"line_number":1679,"context_line":"            if not storage_pools:"},{"line_number":1680,"context_line":"                msg \u003d _(\"All the specified storage pools to be managed \""},{"line_number":1681,"context_line":"                        \"do not exist. Please check your configuration. \""},{"line_number":1682,"context_line":"                        \"Nonexistent pools: %s\") % \",\".join(un_exist_pools)"},{"line_number":1683,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1684,"context_line":"            if un_exist_pools:"},{"line_number":1685,"context_line":"                LOG.warning(_LW(\"The following specified storage pools \""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_fa1a38c5","line":1682,"updated":"2015-05-29 08:58:23.000000000","message":"Non-existent","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"710531039bfaab2a424cdc7ab24d895044518728","unresolved":false,"context_lines":[{"line_number":1679,"context_line":"            if not storage_pools:"},{"line_number":1680,"context_line":"                msg \u003d _(\"All the specified storage pools to be managed \""},{"line_number":1681,"context_line":"                        \"do not exist. Please check your configuration. \""},{"line_number":1682,"context_line":"                        \"Nonexistent pools: %s\") % \",\".join(un_exist_pools)"},{"line_number":1683,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1684,"context_line":"            if un_exist_pools:"},{"line_number":1685,"context_line":"                LOG.warning(_LW(\"The following specified storage pools \""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_354a2127","line":1682,"in_reply_to":"7a016987_fa1a38c5","updated":"2015-05-29 09:31:49.000000000","message":"Done","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"031ef9f50172a344a85c5bf09b408514ee2a9e69","unresolved":false,"context_lines":[{"line_number":2055,"context_line":"                return False"},{"line_number":2056,"context_line":"        return True"},{"line_number":2057,"context_line":""},{"line_number":2058,"context_line":"    def _build_pool_stats(self, pool, pool_feature\u003dNone):"},{"line_number":2059,"context_line":"        pool_stats \u003d {}"},{"line_number":2060,"context_line":"        pool_stats[\u0027pool_name\u0027] \u003d pool[\u0027pool_name\u0027]"},{"line_number":2061,"context_line":"        pool_stats[\u0027total_capacity_gb\u0027] \u003d pool[\u0027total_capacity_gb\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_a4f025fe","line":2058,"updated":"2015-05-29 07:42:49.000000000","message":"Better have a test for this method as well.","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a42be6ee8061e8e9fa7056980351db4ce8f5c03b","unresolved":false,"context_lines":[{"line_number":2055,"context_line":"                return False"},{"line_number":2056,"context_line":"        return True"},{"line_number":2057,"context_line":""},{"line_number":2058,"context_line":"    def _build_pool_stats(self, pool, pool_feature\u003dNone):"},{"line_number":2059,"context_line":"        pool_stats \u003d {}"},{"line_number":2060,"context_line":"        pool_stats[\u0027pool_name\u0027] \u003d pool[\u0027pool_name\u0027]"},{"line_number":2061,"context_line":"        pool_stats[\u0027total_capacity_gb\u0027] \u003d pool[\u0027total_capacity_gb\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_c4f4415c","line":2058,"in_reply_to":"7a016987_a4f025fe","updated":"2015-05-29 07:58:16.000000000","message":"The test of this method has been covered in the get_volume_stats_*.","commit_id":"398430bc97dfcda7d773f2072aa192d158a8af68"}]}
