)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"dbd016ae97f3f3d72540cc1422ac5a2ed0a2ff3b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed stats report for ScaleIO driver to more accurate"},{"line_number":10,"context_line":"properties on the backend."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ia90118092fc5803c9fe69bcfa55e5031c577c524"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1ac06dbe_a142440e","line":11,"updated":"2016-08-22 14:21:40.000000000","message":"Please open a bug and reference it here to keep track of this change.","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"}],"cinder/tests/unit/volume/drivers/emc/scaleio/test_misc.py":[{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"664df8c428770152c64affe74ef958a7d872682b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                    \u0027\"{}\"\u0027.format(self.POOL_NAME): {"},{"line_number":64,"context_line":"                        \u0027capacityAvailableForVolumeAllocationInKb\u0027: 502,"},{"line_number":65,"context_line":"                        \u0027capacityLimitInKb\u0027: 1024,"},{"line_number":66,"context_line":"                        \u0027spareCapacityInKb\u0027: 256"},{"line_number":67,"context_line":"                    },"},{"line_number":68,"context_line":"                },"},{"line_number":69,"context_line":"                \u0027instances/Volume::{}/action/setVolumeName\u0027.format("}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_e871ab45","line":66,"range":{"start_line":66,"start_character":24,"end_line":66,"end_character":48},"updated":"2016-08-17 01:16:33.000000000","message":"1. Missing , EOL.\n2. why not \"thickCapacityInUseInKb\", \"thinCapacityAllocatedInKm\" ?","commit_id":"eae0261c8d6ac9baf0bc8825d0ae70fd099a7311"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"fcbb53480170da625badb68425e296a3aebeaf1e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                    \u0027\"{}\"\u0027.format(self.POOL_NAME): {"},{"line_number":64,"context_line":"                        \u0027capacityAvailableForVolumeAllocationInKb\u0027: 502,"},{"line_number":65,"context_line":"                        \u0027capacityLimitInKb\u0027: 1024,"},{"line_number":66,"context_line":"                        \u0027spareCapacityInKb\u0027: 256"},{"line_number":67,"context_line":"                    },"},{"line_number":68,"context_line":"                },"},{"line_number":69,"context_line":"                \u0027instances/Volume::{}/action/setVolumeName\u0027.format("}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_ca3e5c27","line":66,"range":{"start_line":66,"start_character":24,"end_line":66,"end_character":48},"in_reply_to":"3ac371cc_e871ab45","updated":"2016-08-17 07:21:33.000000000","message":"Because they are not being reported currently. \nThey will be in our next patch and then we will add it to our tests.","commit_id":"eae0261c8d6ac9baf0bc8825d0ae70fd099a7311"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"7c7f4bd11af3e45a0c1691790ed9ee478f50ea04","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1ac06dbe_a7453918","updated":"2016-08-22 13:33:02.000000000","message":"Could we have a test, which checks that stat values are converted and returned correctly?","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"7c7f4bd11af3e45a0c1691790ed9ee478f50ea04","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                ): \u0027\"{}\"\u0027.format(self.POOL_NAME).encode(\u0027ascii\u0027, \u0027ignore\u0027),"},{"line_number":62,"context_line":"                \u0027types/StoragePool/instances/action/querySelectedStatistics\u0027: {"},{"line_number":63,"context_line":"                    \u0027\"{}\"\u0027.format(self.POOL_NAME): {"},{"line_number":64,"context_line":"                        \u0027capacityAvailableForVolumeAllocationInKb\u0027: 502,"},{"line_number":65,"context_line":"                        \u0027capacityLimitInKb\u0027: 1024,"},{"line_number":66,"context_line":"                        \u0027spareCapacityInKb\u0027: 256,"},{"line_number":67,"context_line":"                    },"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ac06dbe_6c1cc677","line":64,"updated":"2016-08-22 13:33:02.000000000","message":"All these values (502, etc) are nonsense, because all are lesser than 8 Gb. Could you modify them, to let tests use reasonable values?","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"}],"cinder/volume/drivers/emc/scaleio.py":[{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"664df8c428770152c64affe74ef958a7d872682b","unresolved":false,"context_lines":[{"line_number":886,"context_line":"            params \u003d {\u0027ids\u0027: [pool_id], \u0027properties\u0027: ["},{"line_number":887,"context_line":"                \"capacityAvailableForVolumeAllocationInKb\","},{"line_number":888,"context_line":"                \"capacityLimitInKb\", \"spareCapacityInKb\","},{"line_number":889,"context_line":"                \"thickCapacityInUseInKb\", \"thinCapacityAllocatedInKm\"]}"},{"line_number":890,"context_line":"            r \u003d requests.post("},{"line_number":891,"context_line":"                request,"},{"line_number":892,"context_line":"                data\u003djson.dumps(params),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_e8ec0bf5","line":889,"range":{"start_line":889,"start_character":66,"end_line":889,"end_character":68},"updated":"2016-08-17 01:16:33.000000000","message":"s/Km/Kb?","commit_id":"eae0261c8d6ac9baf0bc8825d0ae70fd099a7311"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"fcbb53480170da625badb68425e296a3aebeaf1e","unresolved":false,"context_lines":[{"line_number":886,"context_line":"            params \u003d {\u0027ids\u0027: [pool_id], \u0027properties\u0027: ["},{"line_number":887,"context_line":"                \"capacityAvailableForVolumeAllocationInKb\","},{"line_number":888,"context_line":"                \"capacityLimitInKb\", \"spareCapacityInKb\","},{"line_number":889,"context_line":"                \"thickCapacityInUseInKb\", \"thinCapacityAllocatedInKm\"]}"},{"line_number":890,"context_line":"            r \u003d requests.post("},{"line_number":891,"context_line":"                request,"},{"line_number":892,"context_line":"                data\u003djson.dumps(params),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_ca25bc09","line":889,"range":{"start_line":889,"start_character":66,"end_line":889,"end_character":68},"in_reply_to":"3ac371cc_e8ec0bf5","updated":"2016-08-17 07:21:33.000000000","message":"That\u0027s a back-end bug in our REST API, nothing I can do about it.","commit_id":"eae0261c8d6ac9baf0bc8825d0ae70fd099a7311"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"30e38e381f4ddb30b3db39eaa9b645c55913f3d5","unresolved":false,"context_lines":[{"line_number":919,"context_line":"                    }"},{"line_number":920,"context_line":""},{"line_number":921,"context_line":"            pools.append(pool)"},{"line_number":922,"context_line":"            max_free_capacity ּּ+\u003d free_capacity_gb"},{"line_number":923,"context_line":"            total_capacity \u003d total_capacity + total_capacity_gb"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"        # Use zero capacities here so we always use a pool."}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_053957a4","line":922,"updated":"2016-08-17 20:26:49.000000000","message":"./cinder/volume/drivers/emc/scaleio.py:922:32: E901 SyntaxError: invalid syntax","commit_id":"f0c0ada7af3185ddbb8066b95981a953fb24de81"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"9e5252a84242869801a9ca90b2a58d4699176c9a","unresolved":false,"context_lines":[{"line_number":886,"context_line":"            params \u003d {\u0027ids\u0027: [pool_id], \u0027properties\u0027: ["},{"line_number":887,"context_line":"                \"capacityAvailableForVolumeAllocationInKb\","},{"line_number":888,"context_line":"                \"capacityLimitInKb\", \"spareCapacityInKb\","},{"line_number":889,"context_line":"                \"thickCapacityInUseInKb\", \"thinCapacityAllocatedInKm\"]}"},{"line_number":890,"context_line":"            r \u003d requests.post("},{"line_number":891,"context_line":"                request,"},{"line_number":892,"context_line":"                data\u003djson.dumps(params),"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_985c571a","line":889,"range":{"start_line":889,"start_character":17,"end_line":889,"end_character":68},"updated":"2016-08-18 14:09:23.000000000","message":"Is it used anywhere?","commit_id":"ae7d3c7b554d809968b76c7354e2f2ed91e7327e"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"ec67d5cd4e1254f88248eb9df553e7f15286c607","unresolved":false,"context_lines":[{"line_number":886,"context_line":"            params \u003d {\u0027ids\u0027: [pool_id], \u0027properties\u0027: ["},{"line_number":887,"context_line":"                \"capacityAvailableForVolumeAllocationInKb\","},{"line_number":888,"context_line":"                \"capacityLimitInKb\", \"spareCapacityInKb\","},{"line_number":889,"context_line":"                \"thickCapacityInUseInKb\", \"thinCapacityAllocatedInKm\"]}"},{"line_number":890,"context_line":"            r \u003d requests.post("},{"line_number":891,"context_line":"                request,"},{"line_number":892,"context_line":"                data\u003djson.dumps(params),"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_a605b414","line":889,"range":{"start_line":889,"start_character":17,"end_line":889,"end_character":68},"in_reply_to":"3ac371cc_985c571a","updated":"2016-08-18 14:49:40.000000000","message":"Yes, there is a new patch that using it. we can remove it from here and add it there but i find it just redundant.","commit_id":"ae7d3c7b554d809968b76c7354e2f2ed91e7327e"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"9e5252a84242869801a9ca90b2a58d4699176c9a","unresolved":false,"context_lines":[{"line_number":903,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":904,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":905,"context_line":"                free_capacity_gb \u003d ("},{"line_number":906,"context_line":"                    res[\u0027capacityAvailableForVolumeAllocationInKb\u0027] / units.Mi)"},{"line_number":907,"context_line":"                LOG.info(_LI("},{"line_number":908,"context_line":"                         \"free capacity of pool %(pool)s is: %(free)s, \""},{"line_number":909,"context_line":"                         \"total capacity: %(total)s.\"),"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_b84af352","line":906,"updated":"2016-08-18 14:09:23.000000000","message":"Why it is not rounded down to closest multiple of 8 like total_capacity_gb? It is confusing, please add a comment.","commit_id":"ae7d3c7b554d809968b76c7354e2f2ed91e7327e"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"ec67d5cd4e1254f88248eb9df553e7f15286c607","unresolved":false,"context_lines":[{"line_number":903,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":904,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":905,"context_line":"                free_capacity_gb \u003d ("},{"line_number":906,"context_line":"                    res[\u0027capacityAvailableForVolumeAllocationInKb\u0027] / units.Mi)"},{"line_number":907,"context_line":"                LOG.info(_LI("},{"line_number":908,"context_line":"                         \"free capacity of pool %(pool)s is: %(free)s, \""},{"line_number":909,"context_line":"                         \"total capacity: %(total)s.\"),"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_21088e27","line":906,"in_reply_to":"3ac371cc_b84af352","updated":"2016-08-18 14:49:40.000000000","message":"Because it is already rounded to 8 in the backend.","commit_id":"ae7d3c7b554d809968b76c7354e2f2ed91e7327e"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"11c67d28cb53e19d613eabb3bb2085e2bbf0f805","unresolved":false,"context_lines":[{"line_number":886,"context_line":"            params \u003d {\u0027ids\u0027: [pool_id], \u0027properties\u0027: ["},{"line_number":887,"context_line":"                \"capacityAvailableForVolumeAllocationInKb\","},{"line_number":888,"context_line":"                \"capacityLimitInKb\", \"spareCapacityInKb\","},{"line_number":889,"context_line":"                \"thickCapacityInUseInKb\", \"thinCapacityAllocatedInKm\"]}"},{"line_number":890,"context_line":"            r \u003d requests.post("},{"line_number":891,"context_line":"                request,"},{"line_number":892,"context_line":"                data\u003djson.dumps(params),"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ac06dbe_8c76c63c","line":889,"range":{"start_line":889,"start_character":17,"end_line":889,"end_character":68},"updated":"2016-08-19 12:18:48.000000000","message":"It is better to add to the patch which is using it.","commit_id":"959dc7a94d6d12cff394fe1ea3afa629a73b6109"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"752fc8960610deef0d4579c66b7fd51c7eb159d4","unresolved":false,"context_lines":[{"line_number":886,"context_line":"            params \u003d {\u0027ids\u0027: [pool_id], \u0027properties\u0027: ["},{"line_number":887,"context_line":"                \"capacityAvailableForVolumeAllocationInKb\","},{"line_number":888,"context_line":"                \"capacityLimitInKb\", \"spareCapacityInKb\","},{"line_number":889,"context_line":"                \"thickCapacityInUseInKb\", \"thinCapacityAllocatedInKm\"]}"},{"line_number":890,"context_line":"            r \u003d requests.post("},{"line_number":891,"context_line":"                request,"},{"line_number":892,"context_line":"                data\u003djson.dumps(params),"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ac06dbe_38570304","line":889,"range":{"start_line":889,"start_character":17,"end_line":889,"end_character":68},"in_reply_to":"1ac06dbe_8c76c63c","updated":"2016-08-19 14:04:11.000000000","message":"Done","commit_id":"959dc7a94d6d12cff394fe1ea3afa629a73b6109"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"11c67d28cb53e19d613eabb3bb2085e2bbf0f805","unresolved":false,"context_lines":[{"line_number":902,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":903,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":904,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":905,"context_line":"                # This property already rounded o 8 GB granularity in backend"},{"line_number":906,"context_line":"                free_capacity_gb \u003d ("},{"line_number":907,"context_line":"                    res[\u0027capacityAvailableForVolumeAllocationInKb\u0027] / units.Mi)"},{"line_number":908,"context_line":"                LOG.info(_LI("}],"source_content_type":"text/x-python","patch_set":6,"id":"1ac06dbe_4cce8e84","line":905,"range":{"start_line":905,"start_character":48,"end_line":905,"end_character":49},"updated":"2016-08-19 12:18:48.000000000","message":"nit: to","commit_id":"959dc7a94d6d12cff394fe1ea3afa629a73b6109"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"752fc8960610deef0d4579c66b7fd51c7eb159d4","unresolved":false,"context_lines":[{"line_number":902,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":903,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":904,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":905,"context_line":"                # This property already rounded o 8 GB granularity in backend"},{"line_number":906,"context_line":"                free_capacity_gb \u003d ("},{"line_number":907,"context_line":"                    res[\u0027capacityAvailableForVolumeAllocationInKb\u0027] / units.Mi)"},{"line_number":908,"context_line":"                LOG.info(_LI("}],"source_content_type":"text/x-python","patch_set":6,"id":"1ac06dbe_583e3fb9","line":905,"range":{"start_line":905,"start_character":48,"end_line":905,"end_character":49},"in_reply_to":"1ac06dbe_4cce8e84","updated":"2016-08-19 14:04:11.000000000","message":"Done","commit_id":"959dc7a94d6d12cff394fe1ea3afa629a73b6109"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"7c7f4bd11af3e45a0c1691790ed9ee478f50ea04","unresolved":false,"context_lines":[{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        verify_cert \u003d self._get_verify_cert()"},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"        max_free_capacity \u003d 0"},{"line_number":804,"context_line":"        total_capacity \u003d 0"},{"line_number":805,"context_line":""},{"line_number":806,"context_line":"        for sp_name in self.storage_pools:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ac06dbe_6cba06c2","line":803,"updated":"2016-08-22 13:33:02.000000000","message":"you accumulate max_free_capacity_gb to max_free_capacity, and set the result to free_capacity_gb key\n\ni.e. you add max prefix to the name\n\nyou do not do that for total_capacity. this looks inconsistent. i propose to do not add max prefix here","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"725c0e0834e5871a7640b4c651d245964c57163e","unresolved":false,"context_lines":[{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        verify_cert \u003d self._get_verify_cert()"},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"        max_free_capacity \u003d 0"},{"line_number":804,"context_line":"        total_capacity \u003d 0"},{"line_number":805,"context_line":""},{"line_number":806,"context_line":"        for sp_name in self.storage_pools:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ac06dbe_1d5547f9","line":803,"in_reply_to":"1ac06dbe_6cba06c2","updated":"2016-08-23 08:36:34.000000000","message":"Done","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"7c7f4bd11af3e45a0c1691790ed9ee478f50ea04","unresolved":false,"context_lines":[{"line_number":898,"context_line":"            LOG.info(_LI(\"Query capacity stats response: %s.\"), response)"},{"line_number":899,"context_line":"            for res in response.values():"},{"line_number":900,"context_line":"                total_capacity_kb \u003d ("},{"line_number":901,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":902,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":903,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":904,"context_line":"                # This property already rounded to 8 GB granularity in backend"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ac06dbe_0cdd52e0","line":901,"updated":"2016-08-22 13:33:02.000000000","message":"could you add a comment, why you divide the differens into 2","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"725c0e0834e5871a7640b4c651d245964c57163e","unresolved":false,"context_lines":[{"line_number":898,"context_line":"            LOG.info(_LI(\"Query capacity stats response: %s.\"), response)"},{"line_number":899,"context_line":"            for res in response.values():"},{"line_number":900,"context_line":"                total_capacity_kb \u003d ("},{"line_number":901,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":902,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":903,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":904,"context_line":"                # This property already rounded to 8 GB granularity in backend"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ac06dbe_3dae43e6","line":901,"in_reply_to":"1ac06dbe_0cdd52e0","updated":"2016-08-23 08:36:34.000000000","message":"Done","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"7c7f4bd11af3e45a0c1691790ed9ee478f50ea04","unresolved":false,"context_lines":[{"line_number":919,"context_line":"                    }"},{"line_number":920,"context_line":""},{"line_number":921,"context_line":"            pools.append(pool)"},{"line_number":922,"context_line":"            max_free_capacity \u003d max_free_capacity + free_capacity_gb"},{"line_number":923,"context_line":"            total_capacity \u003d total_capacity + total_capacity_gb"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"        # Use zero capacities here so we always use a pool."}],"source_content_type":"text/x-python","patch_set":7,"id":"1ac06dbe_2ce48e39","line":922,"updated":"2016-08-22 13:33:02.000000000","message":"max_free_capacity +\u003d free_capacity_gb","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"725c0e0834e5871a7640b4c651d245964c57163e","unresolved":false,"context_lines":[{"line_number":919,"context_line":"                    }"},{"line_number":920,"context_line":""},{"line_number":921,"context_line":"            pools.append(pool)"},{"line_number":922,"context_line":"            max_free_capacity \u003d max_free_capacity + free_capacity_gb"},{"line_number":923,"context_line":"            total_capacity \u003d total_capacity + total_capacity_gb"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"        # Use zero capacities here so we always use a pool."}],"source_content_type":"text/x-python","patch_set":7,"id":"1ac06dbe_5d4dff3c","line":922,"in_reply_to":"1ac06dbe_2ce48e39","updated":"2016-08-23 08:36:34.000000000","message":"Done","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"7c7f4bd11af3e45a0c1691790ed9ee478f50ea04","unresolved":false,"context_lines":[{"line_number":920,"context_line":""},{"line_number":921,"context_line":"            pools.append(pool)"},{"line_number":922,"context_line":"            max_free_capacity \u003d max_free_capacity + free_capacity_gb"},{"line_number":923,"context_line":"            total_capacity \u003d total_capacity + total_capacity_gb"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"        # Use zero capacities here so we always use a pool."},{"line_number":926,"context_line":"        stats[\u0027total_capacity_gb\u0027] \u003d total_capacity"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ac06dbe_0c227252","line":923,"updated":"2016-08-22 13:33:02.000000000","message":"the same","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"725c0e0834e5871a7640b4c651d245964c57163e","unresolved":false,"context_lines":[{"line_number":920,"context_line":""},{"line_number":921,"context_line":"            pools.append(pool)"},{"line_number":922,"context_line":"            max_free_capacity \u003d max_free_capacity + free_capacity_gb"},{"line_number":923,"context_line":"            total_capacity \u003d total_capacity + total_capacity_gb"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"        # Use zero capacities here so we always use a pool."},{"line_number":926,"context_line":"        stats[\u0027total_capacity_gb\u0027] \u003d total_capacity"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ac06dbe_9d53f7e1","line":923,"in_reply_to":"1ac06dbe_0c227252","updated":"2016-08-23 08:36:34.000000000","message":"Done","commit_id":"8e6879c2f882f85e1a7d00c685ca3b340b673930"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"dc3806cc47311c6e3430e18f65e0f0ad5654ee51","unresolved":false,"context_lines":[{"line_number":790,"context_line":"        stats[\u0027vendor_name\u0027] \u003d \u0027EMC\u0027"},{"line_number":791,"context_line":"        stats[\u0027driver_version\u0027] \u003d self.VERSION"},{"line_number":792,"context_line":"        stats[\u0027storage_protocol\u0027] \u003d \u0027scaleio\u0027"},{"line_number":793,"context_line":"        stats[\u0027total_capacity_gb\u0027] \u003d \u0027unknown\u0027"},{"line_number":794,"context_line":"        stats[\u0027free_capacity_gb\u0027] \u003d \u0027unknown\u0027"},{"line_number":795,"context_line":"        stats[\u0027reserved_percentage\u0027] \u003d 0"},{"line_number":796,"context_line":"        stats[\u0027QoS_support\u0027] \u003d True"},{"line_number":797,"context_line":"        stats[\u0027consistencygroup_support\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_2a242ec3","line":794,"range":{"start_line":793,"start_character":0,"end_line":794,"end_character":45},"updated":"2016-08-23 11:48:05.000000000","message":"Not needed anymore. Seems harmless but can cause confusion.","commit_id":"3798a9a2fb983f487faa043de5eca387187d7fec"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"1d670e3c5ab418acad42d0787662a667f5235504","unresolved":false,"context_lines":[{"line_number":790,"context_line":"        stats[\u0027vendor_name\u0027] \u003d \u0027EMC\u0027"},{"line_number":791,"context_line":"        stats[\u0027driver_version\u0027] \u003d self.VERSION"},{"line_number":792,"context_line":"        stats[\u0027storage_protocol\u0027] \u003d \u0027scaleio\u0027"},{"line_number":793,"context_line":"        stats[\u0027total_capacity_gb\u0027] \u003d \u0027unknown\u0027"},{"line_number":794,"context_line":"        stats[\u0027free_capacity_gb\u0027] \u003d \u0027unknown\u0027"},{"line_number":795,"context_line":"        stats[\u0027reserved_percentage\u0027] \u003d 0"},{"line_number":796,"context_line":"        stats[\u0027QoS_support\u0027] \u003d True"},{"line_number":797,"context_line":"        stats[\u0027consistencygroup_support\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_499c175d","line":794,"range":{"start_line":793,"start_character":0,"end_line":794,"end_character":45},"in_reply_to":"1ac06dbe_2a242ec3","updated":"2016-08-23 12:04:56.000000000","message":"We also use it for logging. We want to keep it.","commit_id":"3798a9a2fb983f487faa043de5eca387187d7fec"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"c6117e92c5b6ce254010348934a3ae1cea9e405b","unresolved":false,"context_lines":[{"line_number":790,"context_line":"        stats[\u0027vendor_name\u0027] \u003d \u0027EMC\u0027"},{"line_number":791,"context_line":"        stats[\u0027driver_version\u0027] \u003d self.VERSION"},{"line_number":792,"context_line":"        stats[\u0027storage_protocol\u0027] \u003d \u0027scaleio\u0027"},{"line_number":793,"context_line":"        stats[\u0027total_capacity_gb\u0027] \u003d \u0027unknown\u0027"},{"line_number":794,"context_line":"        stats[\u0027free_capacity_gb\u0027] \u003d \u0027unknown\u0027"},{"line_number":795,"context_line":"        stats[\u0027reserved_percentage\u0027] \u003d 0"},{"line_number":796,"context_line":"        stats[\u0027QoS_support\u0027] \u003d True"},{"line_number":797,"context_line":"        stats[\u0027consistencygroup_support\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_b227f0c8","line":794,"range":{"start_line":793,"start_character":0,"end_line":794,"end_character":45},"in_reply_to":"1ac06dbe_499c175d","updated":"2016-08-23 12:48:31.000000000","message":"?? How you overwrite it in line 927","commit_id":"3798a9a2fb983f487faa043de5eca387187d7fec"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"b1faf9b02965aa48d247dd7aba825c61c2c889ff","unresolved":false,"context_lines":[{"line_number":790,"context_line":"        stats[\u0027vendor_name\u0027] \u003d \u0027EMC\u0027"},{"line_number":791,"context_line":"        stats[\u0027driver_version\u0027] \u003d self.VERSION"},{"line_number":792,"context_line":"        stats[\u0027storage_protocol\u0027] \u003d \u0027scaleio\u0027"},{"line_number":793,"context_line":"        stats[\u0027total_capacity_gb\u0027] \u003d \u0027unknown\u0027"},{"line_number":794,"context_line":"        stats[\u0027free_capacity_gb\u0027] \u003d \u0027unknown\u0027"},{"line_number":795,"context_line":"        stats[\u0027reserved_percentage\u0027] \u003d 0"},{"line_number":796,"context_line":"        stats[\u0027QoS_support\u0027] \u003d True"},{"line_number":797,"context_line":"        stats[\u0027consistencygroup_support\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_fd95b932","line":794,"range":{"start_line":793,"start_character":0,"end_line":794,"end_character":45},"in_reply_to":"1ac06dbe_b227f0c8","updated":"2016-08-24 12:43:50.000000000","message":"Removed them both.","commit_id":"3798a9a2fb983f487faa043de5eca387187d7fec"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"dc3806cc47311c6e3430e18f65e0f0ad5654ee51","unresolved":false,"context_lines":[{"line_number":902,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":903,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":904,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":905,"context_line":"                # This property already rounded to 8 GB granularity in backend"},{"line_number":906,"context_line":"                free_capacity_gb \u003d ("},{"line_number":907,"context_line":"                    res[\u0027capacityAvailableForVolumeAllocationInKb\u0027] / units.Mi)"},{"line_number":908,"context_line":"                LOG.info(_LI("}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_2aaf0e2b","line":905,"updated":"2016-08-23 11:48:05.000000000","message":"# This property is ...","commit_id":"3798a9a2fb983f487faa043de5eca387187d7fec"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"1d670e3c5ab418acad42d0787662a667f5235504","unresolved":false,"context_lines":[{"line_number":902,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":903,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":904,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":905,"context_line":"                # This property already rounded to 8 GB granularity in backend"},{"line_number":906,"context_line":"                free_capacity_gb \u003d ("},{"line_number":907,"context_line":"                    res[\u0027capacityAvailableForVolumeAllocationInKb\u0027] / units.Mi)"},{"line_number":908,"context_line":"                LOG.info(_LI("}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_c99ac76d","line":905,"in_reply_to":"1ac06dbe_2aaf0e2b","updated":"2016-08-23 12:04:56.000000000","message":"Done","commit_id":"3798a9a2fb983f487faa043de5eca387187d7fec"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"dc3806cc47311c6e3430e18f65e0f0ad5654ee51","unresolved":false,"context_lines":[{"line_number":923,"context_line":"            free_capacity +\u003d free_capacity_gb"},{"line_number":924,"context_line":"            total_capacity +\u003d total_capacity_gb"},{"line_number":925,"context_line":""},{"line_number":926,"context_line":"        # Use zero capacities here so we always use a pool."},{"line_number":927,"context_line":"        stats[\u0027total_capacity_gb\u0027] \u003d total_capacity"},{"line_number":928,"context_line":"        stats[\u0027free_capacity_gb\u0027] \u003d free_capacity"},{"line_number":929,"context_line":"        LOG.info(_LI("}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_453cfdc7","line":926,"range":{"start_line":926,"start_character":7,"end_line":926,"end_character":59},"updated":"2016-08-23 11:48:05.000000000","message":"?? Didn\u0027t understand this comment.","commit_id":"3798a9a2fb983f487faa043de5eca387187d7fec"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"1d670e3c5ab418acad42d0787662a667f5235504","unresolved":false,"context_lines":[{"line_number":923,"context_line":"            free_capacity +\u003d free_capacity_gb"},{"line_number":924,"context_line":"            total_capacity +\u003d total_capacity_gb"},{"line_number":925,"context_line":""},{"line_number":926,"context_line":"        # Use zero capacities here so we always use a pool."},{"line_number":927,"context_line":"        stats[\u0027total_capacity_gb\u0027] \u003d total_capacity"},{"line_number":928,"context_line":"        stats[\u0027free_capacity_gb\u0027] \u003d free_capacity"},{"line_number":929,"context_line":"        LOG.info(_LI("}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_29df1b0e","line":926,"range":{"start_line":926,"start_character":7,"end_line":926,"end_character":59},"in_reply_to":"1ac06dbe_453cfdc7","updated":"2016-08-23 12:04:56.000000000","message":"Done","commit_id":"3798a9a2fb983f487faa043de5eca387187d7fec"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b48d8c5a3eeabde42053c9dd805b96f2d4d4b4d5","unresolved":false,"context_lines":[{"line_number":898,"context_line":"                # Divide by two because ScaleIO creates a copy for each volume"},{"line_number":899,"context_line":"                total_capacity_kb \u003d ("},{"line_number":900,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":901,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":902,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":903,"context_line":"                # This property is already rounded"},{"line_number":904,"context_line":"                # to 8 GB granularity in backend"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_66ebf813","line":901,"range":{"start_line":901,"start_character":16,"end_line":901,"end_character":33},"updated":"2016-08-29 14:34:07.000000000","message":"Please initialize total_capacity_gb and free_capactiy_gb before the for loop. See lines 922 and 923-- the variables may be referred before initializing if the for loop is not executed. Also, can we break after calculating total_capacity_gb and free_capacity_gb? Not strictly related to this patch, but good to fix it here if you agree.","commit_id":"e3e1674f9c3af00feba6135890cc80f08e5aba3f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"08a443d701b392f17004e2ddbb9c487307abeda1","unresolved":false,"context_lines":[{"line_number":898,"context_line":"                # Divide by two because ScaleIO creates a copy for each volume"},{"line_number":899,"context_line":"                total_capacity_kb \u003d ("},{"line_number":900,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":901,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":902,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":903,"context_line":"                # This property is already rounded"},{"line_number":904,"context_line":"                # to 8 GB granularity in backend"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_75b34e98","line":901,"range":{"start_line":901,"start_character":16,"end_line":901,"end_character":33},"in_reply_to":"fa7ab95a_096ddf30","updated":"2016-08-30 15:33:32.000000000","message":"What\u0027s the point of iterating over the entire list if you use only the last entry?","commit_id":"e3e1674f9c3af00feba6135890cc80f08e5aba3f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"c5125f3c0dc4d3aeb6e6c419120c58e4b7eaee86","unresolved":false,"context_lines":[{"line_number":898,"context_line":"                # Divide by two because ScaleIO creates a copy for each volume"},{"line_number":899,"context_line":"                total_capacity_kb \u003d ("},{"line_number":900,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":901,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":902,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":903,"context_line":"                # This property is already rounded"},{"line_number":904,"context_line":"                # to 8 GB granularity in backend"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_55a22efd","line":901,"range":{"start_line":901,"start_character":16,"end_line":901,"end_character":33},"in_reply_to":"fa7ab95a_267de5e7","updated":"2016-09-01 16:30:06.000000000","message":"\u003eEach iteration ends in calculation of the free_capacity_gb and total_capacity_gb for the pool, and then adds to the free_capacity and total_capacity respectively. \n\n\nOk, but the problem is it doesn\u0027t add after *each* iteration. After each iteration it only logs the computed values. free_capacity and total_capacity are updated using the last computed free_capacity_gb and total_capacity_gb outside the for loop.","commit_id":"e3e1674f9c3af00feba6135890cc80f08e5aba3f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"5fd13d56390d0af06d4bd109392bf1418b1229e1","unresolved":false,"context_lines":[{"line_number":898,"context_line":"                # Divide by two because ScaleIO creates a copy for each volume"},{"line_number":899,"context_line":"                total_capacity_kb \u003d ("},{"line_number":900,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":901,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":902,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":903,"context_line":"                # This property is already rounded"},{"line_number":904,"context_line":"                # to 8 GB granularity in backend"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_e9226253","line":901,"range":{"start_line":901,"start_character":16,"end_line":901,"end_character":33},"in_reply_to":"fa7ab95a_55a22efd","updated":"2016-09-02 11:46:01.000000000","message":"As far as I can see Vipin is totally right, why do we even bother looping through all the values if we are just going to use the last of the values?\n\nThis code is not carrying values for total_capacity_gb and free_capacity_gb from previous loop iterations.\n\nYou could remove the loop and just do:\n\n res \u003d list(response.values())[-1]\n\nAnd remove the indentation level from L898-L912 and you would get the same result.\n\nThis is missing L922-L923 at a greater indentation level after L911, unless we always only get 1 value in the response, in which case, why bother with a loop?","commit_id":"e3e1674f9c3af00feba6135890cc80f08e5aba3f"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"e0294cfaf8af026c29fb0b1d5347db9d98ea68bc","unresolved":false,"context_lines":[{"line_number":898,"context_line":"                # Divide by two because ScaleIO creates a copy for each volume"},{"line_number":899,"context_line":"                total_capacity_kb \u003d ("},{"line_number":900,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":901,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":902,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":903,"context_line":"                # This property is already rounded"},{"line_number":904,"context_line":"                # to 8 GB granularity in backend"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_096ddf30","line":901,"range":{"start_line":901,"start_character":16,"end_line":901,"end_character":33},"in_reply_to":"fa7ab95a_66ebf813","updated":"2016-08-29 14:47:53.000000000","message":"There are always pools so it won\u0027t happen and it is not related to this patch so i\u0027ll think about it and change it in a different one if I think it is needed, which currently I think it\u0027s not.","commit_id":"e3e1674f9c3af00feba6135890cc80f08e5aba3f"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"56041426883fca53c4cee809fcc00e23c738c9e6","unresolved":false,"context_lines":[{"line_number":898,"context_line":"                # Divide by two because ScaleIO creates a copy for each volume"},{"line_number":899,"context_line":"                total_capacity_kb \u003d ("},{"line_number":900,"context_line":"                    (res[\u0027capacityLimitInKb\u0027] - res[\u0027spareCapacityInKb\u0027]) / 2)"},{"line_number":901,"context_line":"                total_capacity_gb \u003d (self._round_down_to_num_gran"},{"line_number":902,"context_line":"                                     (total_capacity_kb / units.Mi))"},{"line_number":903,"context_line":"                # This property is already rounded"},{"line_number":904,"context_line":"                # to 8 GB granularity in backend"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_267de5e7","line":901,"range":{"start_line":901,"start_character":16,"end_line":901,"end_character":33},"in_reply_to":"fa7ab95a_75b34e98","updated":"2016-08-31 10:53:54.000000000","message":"I don\u0027t understand what are you talking about.\nEach iteration ends in calculation of the free_capacity_gb and total_capacity_gb for the pool, and then adds to the free_capacity and total_capacity respectively. \nWe are not using just the last entry, we use them all.","commit_id":"e3e1674f9c3af00feba6135890cc80f08e5aba3f"}]}
