)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"036a7a33e95c02cd8998be0978e64921804c8fa7","unresolved":false,"context_lines":[{"line_number":22,"context_line":"of bandwidth is kept for instances\u0027 volume access."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"This introduces Throttle classes to count volume copies in a backend"},{"line_number":25,"context_line":"and setup bandwdith limit."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Change-Id: Ie390b46538556fa704b06ffc79cd6cc000bd5936"},{"line_number":28,"context_line":"Implents: blueprint limit-volume-copy-bps-per-backend"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da86d52c_08a6da53","line":25,"updated":"2015-02-06 22:46:45.000000000","message":"bandwdith/bandwidth","commit_id":"80290f6b3159fe56da81112601a686c28a5b7893"}],"cinder/volume/driver.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d487633fae78df148ae062101b2447d3c4cece88","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                        self.configuration.safe_get("},{"line_number":343,"context_line":"                            \u0027volume_copy_blkio_cgroup_name\u0027)) or"},{"line_number":344,"context_line":"                       CONF.volume_copy_blkio_cgroup_name)"},{"line_number":345,"context_line":"        self._throttle \u003d None"},{"line_number":346,"context_line":"        if bps_limit and cgroup_name:"},{"line_number":347,"context_line":"            try:"},{"line_number":348,"context_line":"                self._throttle \u003d throttling.BlkioCgroup(int(bps_limit),"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_e07bad26","line":345,"updated":"2015-02-18 22:14:06.000000000","message":"Not totally following this.  What if one or both of these is not set for some reason?  The if check below will not fire ...  I guess it then falls through and does the set_default.  I just am not fully following this.  Seems like there should be some validation of what we get out of these configuration items.","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":9176,"name":"Tomoki Sekiyama","email":"tomoki.sekiyama@gmail.com","username":"tsekiyama"},"change_message_id":"253141080f19bf89544ffb73ec451c4059d5a304","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                        self.configuration.safe_get("},{"line_number":343,"context_line":"                            \u0027volume_copy_blkio_cgroup_name\u0027)) or"},{"line_number":344,"context_line":"                       CONF.volume_copy_blkio_cgroup_name)"},{"line_number":345,"context_line":"        self._throttle \u003d None"},{"line_number":346,"context_line":"        if bps_limit and cgroup_name:"},{"line_number":347,"context_line":"            try:"},{"line_number":348,"context_line":"                self._throttle \u003d throttling.BlkioCgroup(int(bps_limit),"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_b677ca01","line":345,"in_reply_to":"da86d52c_e07bad26","updated":"2015-02-20 22:57:23.000000000","message":"Deleted check for cgroup_name below. Only bps_limit should be used to check if bps_limit is enabled or not.\n\nCONF.volume_copy_blkio_cgroup_name has a default value \"cinder-volume-copy\" so it will not be None.","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"70a96571b379611a2159b891a427828a0a2c2d6a","unresolved":false,"context_lines":[{"line_number":347,"context_line":"            try:"},{"line_number":348,"context_line":"                self._throttle \u003d throttling.BlkioCgroup(int(bps_limit),"},{"line_number":349,"context_line":"                                                        cgroup_name)"},{"line_number":350,"context_line":"            except Exception as e:"},{"line_number":351,"context_line":"                LOG.warning(_LW(\u0027Failed to activate volume copy throttling: \u0027"},{"line_number":352,"context_line":"                                \u0027%(err)s\u0027), {\u0027err\u0027: e})"},{"line_number":353,"context_line":"        throttling.Throttle.set_default(self._throttle)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_74a006f5","line":350,"updated":"2015-02-20 12:24:36.000000000","message":"Is ProcessExecutionError enough here?","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":9176,"name":"Tomoki Sekiyama","email":"tomoki.sekiyama@gmail.com","username":"tsekiyama"},"change_message_id":"253141080f19bf89544ffb73ec451c4059d5a304","unresolved":false,"context_lines":[{"line_number":347,"context_line":"            try:"},{"line_number":348,"context_line":"                self._throttle \u003d throttling.BlkioCgroup(int(bps_limit),"},{"line_number":349,"context_line":"                                                        cgroup_name)"},{"line_number":350,"context_line":"            except Exception as e:"},{"line_number":351,"context_line":"                LOG.warning(_LW(\u0027Failed to activate volume copy throttling: \u0027"},{"line_number":352,"context_line":"                                \u0027%(err)s\u0027), {\u0027err\u0027: e})"},{"line_number":353,"context_line":"        throttling.Throttle.set_default(self._throttle)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_d6743eff","line":350,"in_reply_to":"ba7be1f8_74a006f5","updated":"2015-02-20 22:57:23.000000000","message":"Done","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"70a96571b379611a2159b891a427828a0a2c2d6a","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                                                        cgroup_name)"},{"line_number":350,"context_line":"            except Exception as e:"},{"line_number":351,"context_line":"                LOG.warning(_LW(\u0027Failed to activate volume copy throttling: \u0027"},{"line_number":352,"context_line":"                                \u0027%(err)s\u0027), {\u0027err\u0027: e})"},{"line_number":353,"context_line":"        throttling.Throttle.set_default(self._throttle)"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    def get_version(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_946e5ac8","line":352,"updated":"2015-02-20 12:24:36.000000000","message":"Should be six.text_type(e)","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":9176,"name":"Tomoki Sekiyama","email":"tomoki.sekiyama@gmail.com","username":"tsekiyama"},"change_message_id":"253141080f19bf89544ffb73ec451c4059d5a304","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                                                        cgroup_name)"},{"line_number":350,"context_line":"            except Exception as e:"},{"line_number":351,"context_line":"                LOG.warning(_LW(\u0027Failed to activate volume copy throttling: \u0027"},{"line_number":352,"context_line":"                                \u0027%(err)s\u0027), {\u0027err\u0027: e})"},{"line_number":353,"context_line":"        throttling.Throttle.set_default(self._throttle)"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    def get_version(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_f6606237","line":352,"in_reply_to":"ba7be1f8_946e5ac8","updated":"2015-02-20 22:57:23.000000000","message":"Done","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"}],"cinder/volume/throttle.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d487633fae78df148ae062101b2447d3c4cece88","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            utils.execute(\u0027cgcreate\u0027, \u0027-g\u0027, \u0027blkio:%s\u0027 % self.cgroup,"},{"line_number":68,"context_line":"                          run_as_root\u003dTrue)"},{"line_number":69,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":70,"context_line":"            LOG.warn(_LW(\u0027Failed to create blkio cgroup\u0027))"},{"line_number":71,"context_line":"            raise"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def _get_device_number(self, path):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_402d598e","line":70,"updated":"2015-02-18 22:14:06.000000000","message":"Please use a \u0027.\u0027 here.\n\nAlso, it seem like indicating the blkio_cgroup that failed to create would be useful information.","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":9176,"name":"Tomoki Sekiyama","email":"tomoki.sekiyama@gmail.com","username":"tsekiyama"},"change_message_id":"253141080f19bf89544ffb73ec451c4059d5a304","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            utils.execute(\u0027cgcreate\u0027, \u0027-g\u0027, \u0027blkio:%s\u0027 % self.cgroup,"},{"line_number":68,"context_line":"                          run_as_root\u003dTrue)"},{"line_number":69,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":70,"context_line":"            LOG.warn(_LW(\u0027Failed to create blkio cgroup\u0027))"},{"line_number":71,"context_line":"            raise"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def _get_device_number(self, path):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_d64b5eae","line":70,"in_reply_to":"ba7be1f8_54e94219","updated":"2015-02-20 22:57:23.000000000","message":"Yes. Changed to LOG.error.","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":9176,"name":"Tomoki Sekiyama","email":"tomoki.sekiyama@gmail.com","username":"tsekiyama"},"change_message_id":"253141080f19bf89544ffb73ec451c4059d5a304","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            utils.execute(\u0027cgcreate\u0027, \u0027-g\u0027, \u0027blkio:%s\u0027 % self.cgroup,"},{"line_number":68,"context_line":"                          run_as_root\u003dTrue)"},{"line_number":69,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":70,"context_line":"            LOG.warn(_LW(\u0027Failed to create blkio cgroup\u0027))"},{"line_number":71,"context_line":"            raise"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def _get_device_number(self, path):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_365bda88","line":70,"in_reply_to":"da86d52c_402d598e","updated":"2015-02-20 22:57:23.000000000","message":"Done","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"70a96571b379611a2159b891a427828a0a2c2d6a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            utils.execute(\u0027cgcreate\u0027, \u0027-g\u0027, \u0027blkio:%s\u0027 % self.cgroup,"},{"line_number":68,"context_line":"                          run_as_root\u003dTrue)"},{"line_number":69,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":70,"context_line":"            LOG.warn(_LW(\u0027Failed to create blkio cgroup\u0027))"},{"line_number":71,"context_line":"            raise"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def _get_device_number(self, path):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_54e94219","line":70,"in_reply_to":"da86d52c_402d598e","updated":"2015-02-20 12:24:36.000000000","message":"Not sure that LOG.warn instead of LOG.error should be here and below. If we re-raise exception, looks like something went wrong and it should be an error. Am I right?","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d487633fae78df148ae062101b2447d3c4cece88","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                          % (rw, dev, bps), self.cgroup, run_as_root\u003dTrue)"},{"line_number":84,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":85,"context_line":"            LOG.warn(_LW(\u0027Failed to setup blkio cgroup to throttle the \u0027"},{"line_number":86,"context_line":"                         \u0027device \\\u0027%(device)s\\\u0027\u0027), {\u0027device\u0027: dev})"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _set_limits(self, rw, devs):"},{"line_number":89,"context_line":"        total \u003d sum(devs.itervalues())"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_a078d57e","line":86,"updated":"2015-02-18 22:14:06.000000000","message":"Suggest \u0027.\u0027 here.","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"},{"author":{"_account_id":9176,"name":"Tomoki Sekiyama","email":"tomoki.sekiyama@gmail.com","username":"tsekiyama"},"change_message_id":"253141080f19bf89544ffb73ec451c4059d5a304","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                          % (rw, dev, bps), self.cgroup, run_as_root\u003dTrue)"},{"line_number":84,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":85,"context_line":"            LOG.warn(_LW(\u0027Failed to setup blkio cgroup to throttle the \u0027"},{"line_number":86,"context_line":"                         \u0027device \\\u0027%(device)s\\\u0027\u0027), {\u0027device\u0027: dev})"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _set_limits(self, rw, devs):"},{"line_number":89,"context_line":"        total \u003d sum(devs.itervalues())"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_f6c78210","line":86,"in_reply_to":"da86d52c_a078d57e","updated":"2015-02-20 22:57:23.000000000","message":"Done","commit_id":"4b4f97b8555d172367cd9c672932eb8fdaac576c"}]}
