)]}'
{"cinder/brick/local_dev/lvm.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"1c6d3a9a70d029b523745abd9e3cdc66b386f2a0","unresolved":false,"context_lines":[{"line_number":425,"context_line":"                          root_helper\u003dself._root_helper,"},{"line_number":426,"context_line":"                          run_as_root\u003dTrue)"},{"line_number":427,"context_line":"        except putils.ProcessExecutionError as err:"},{"line_number":428,"context_line":"            LOG.exception(_(\u0027Error activating LV\u0027))"},{"line_number":429,"context_line":"            LOG.error(_(\u0027Cmd     :%s\u0027) % err.cmd)"},{"line_number":430,"context_line":"            LOG.error(_(\u0027StdOut  :%s\u0027) % err.stdout)"},{"line_number":431,"context_line":"            LOG.error(_(\u0027StdErr  :%s\u0027) % err.stderr)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2B5wU%3D","line":428,"updated":"2013-11-18 19:24:53.000000000","message":"Seems like this should end with a \u0027:\u0027 to be consistent with the following messages.","commit_id":"ab0e9e6ebf5e6df43536154a6fdb0587cb86244a"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"8b30445cec6ba56e4ff9d8675efc12a3168f9f10","unresolved":false,"context_lines":[{"line_number":425,"context_line":"                          root_helper\u003dself._root_helper,"},{"line_number":426,"context_line":"                          run_as_root\u003dTrue)"},{"line_number":427,"context_line":"        except putils.ProcessExecutionError as err:"},{"line_number":428,"context_line":"            LOG.exception(_(\u0027Error activating LV\u0027))"},{"line_number":429,"context_line":"            LOG.error(_(\u0027Cmd     :%s\u0027) % err.cmd)"},{"line_number":430,"context_line":"            LOG.error(_(\u0027StdOut  :%s\u0027) % err.stdout)"},{"line_number":431,"context_line":"            LOG.error(_(\u0027StdErr  :%s\u0027) % err.stderr)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2B4z0%3D","line":428,"in_reply_to":"AAAATn%2F%2B5G8%3D","updated":"2013-11-18 23:02:44.000000000","message":"Ah, true enough.  I was looking at the output it was with.  You are right.  This looks consistent.","commit_id":"ab0e9e6ebf5e6df43536154a6fdb0587cb86244a"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3d7ec6cda659c3f72b0506d95a51806d905f9230","unresolved":false,"context_lines":[{"line_number":425,"context_line":"                          root_helper\u003dself._root_helper,"},{"line_number":426,"context_line":"                          run_as_root\u003dTrue)"},{"line_number":427,"context_line":"        except putils.ProcessExecutionError as err:"},{"line_number":428,"context_line":"            LOG.exception(_(\u0027Error activating LV\u0027))"},{"line_number":429,"context_line":"            LOG.error(_(\u0027Cmd     :%s\u0027) % err.cmd)"},{"line_number":430,"context_line":"            LOG.error(_(\u0027StdOut  :%s\u0027) % err.stdout)"},{"line_number":431,"context_line":"            LOG.error(_(\u0027StdErr  :%s\u0027) % err.stderr)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2B5G8%3D","line":428,"in_reply_to":"AAAATn%2F%2B5wU%3D","updated":"2013-11-18 22:03:01.000000000","message":"\"Error creating snapshot\" and \"Error creating volume\" above this one do not do this.","commit_id":"ab0e9e6ebf5e6df43536154a6fdb0587cb86244a"},{"author":{"_account_id":6604,"name":"zhangchao","email":"zhangchao010@huawei.com","username":"zhangchao010"},"change_message_id":"787f77cf12f15b59622f5f3e4418b05a4702ef39","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        self.vg_uuid \u003d None"},{"line_number":65,"context_line":"        self.vg_thin_pool \u003d None"},{"line_number":66,"context_line":"        self.vg_thin_pool_size \u003d 0"},{"line_number":67,"context_line":"        self._supports_lvchange_ignoreskipactivation \u003d None"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if create_vg and physical_volumes is not None:"},{"line_number":70,"context_line":"            self.pv_list \u003d physical_volumes"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BzJM%3D","line":67,"updated":"2013-11-20 02:02:08.000000000","message":"This public variable seems unnecessary for you just use it in func supports_lvchange_ignoreskipactivation. Instead, you can define a local variable in func supports_lvchange_ignoreskipactivation. What do you think?","commit_id":"01a2199d85418a137afc57dd71cf0de877dcc801"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3df60ba48de22eea4a930214798522d385fd64e5","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        self.vg_uuid \u003d None"},{"line_number":65,"context_line":"        self.vg_thin_pool \u003d None"},{"line_number":66,"context_line":"        self.vg_thin_pool_size \u003d 0"},{"line_number":67,"context_line":"        self._supports_lvchange_ignoreskipactivation \u003d None"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        if create_vg and physical_volumes is not None:"},{"line_number":70,"context_line":"            self.pv_list \u003d physical_volumes"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2By5s%3D","line":67,"in_reply_to":"AAAATn%2F%2BzJM%3D","updated":"2013-11-20 03:40:11.000000000","message":"This is used to only run the check once for this instantiation when the property accessor is called.  It needs to be here to maintain state.","commit_id":"01a2199d85418a137afc57dd71cf0de877dcc801"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"dcf7828673cb8bb58e8f2e358fe4522e21fb09cf","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            LOG.error(_(\u0027StdErr  :%s\u0027) % err.stderr)"},{"line_number":429,"context_line":"            raise"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"    def _mangle_lv_name(self, name):"},{"line_number":432,"context_line":"        # Linux LVM reserves name that starts with snapshot, so that"},{"line_number":433,"context_line":"        # such volume name can\u0027t be created. Mangle it."},{"line_number":434,"context_line":"        if not name.startswith(\u0027snapshot\u0027):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Bybk%3D","line":431,"updated":"2013-11-20 07:17:03.000000000","message":"Shouldn\u0027t this be called in all functions that access snapshots (create/delete/etc)?","commit_id":"01a2199d85418a137afc57dd71cf0de877dcc801"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"464c2366faa8aefcf920c9b7f1f74de4b0b1eab4","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            LOG.error(_(\u0027StdErr  :%s\u0027) % err.stderr)"},{"line_number":429,"context_line":"            raise"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"    def _mangle_lv_name(self, name):"},{"line_number":432,"context_line":"        # Linux LVM reserves name that starts with snapshot, so that"},{"line_number":433,"context_line":"        # such volume name can\u0027t be created. Mangle it."},{"line_number":434,"context_line":"        if not name.startswith(\u0027snapshot\u0027):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BwqM%3D","line":431,"in_reply_to":"AAAATn%2F%2Bybk%3D","updated":"2013-11-20 15:17:15.000000000","message":"For create snapshot, it doesn\u0027t matter -- we do this mangling here because if you create an LV beginning with \"snapshot\", LVM will automatically rename it like this.\n\nFor delete snapshot, this is handled in the LVM driver:\n\nhttp://git.openstack.org/cgit/openstack/cinder/tree/cinder/volume/drivers/lvm.py?id\u003d1099f09a2#n133\n\nIMO we should do some future work to move more of that escape/mangle logic inside of Brick.","commit_id":"01a2199d85418a137afc57dd71cf0de877dcc801"},{"author":{"_account_id":6604,"name":"zhangchao","email":"zhangchao010@huawei.com","username":"zhangchao010"},"change_message_id":"787f77cf12f15b59622f5f3e4418b05a4702ef39","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        cmd \u003d [\u0027lvchange\u0027, \u0027-a\u0027, \u0027y\u0027]"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"        if self.supports_lvchange_ignoreskipactivation:"},{"line_number":448,"context_line":"            cmd.append(\u0027-K\u0027)"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"        cmd.append(lv_path)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BzJs%3D","line":447,"updated":"2013-11-20 02:02:08.000000000","message":"supports_lvchange_ignoreskipactivation is a func name and _supports_lvchange_ignoreskipactivation is your flag. I think here is always True if you use the func name.","commit_id":"01a2199d85418a137afc57dd71cf0de877dcc801"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3df60ba48de22eea4a930214798522d385fd64e5","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        cmd \u003d [\u0027lvchange\u0027, \u0027-a\u0027, \u0027y\u0027]"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"        if self.supports_lvchange_ignoreskipactivation:"},{"line_number":448,"context_line":"            cmd.append(\u0027-K\u0027)"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"        cmd.append(lv_path)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2By54%3D","line":447,"in_reply_to":"AAAATn%2F%2BzJs%3D","updated":"2013-11-20 03:40:11.000000000","message":"It\u0027s a @property, so it behaves as a boolean from here but runs as a method when accessed.","commit_id":"01a2199d85418a137afc57dd71cf0de877dcc801"}],"cinder/tests/brick/test_brick_lvm.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a7d5f17061ca48e04e4a870d2916eddddd3cd001","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def test_snapshot_lv_activate_support(self):"},{"line_number":158,"context_line":"        self.stubs.Set(processutils, \u0027execute\u0027, self.fake_execute)"},{"line_number":159,"context_line":"        self.assertTrue(self.vg.supports_thin_provisioning(\u0027sudo\u0027))"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        self.stubs.Set(processutils, \u0027execute\u0027, self.fake_old_lvm_version)"},{"line_number":162,"context_line":"        self.assertFalse(self.vg.supports_thin_provisioning(\u0027sudo\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BvfY%3D","line":159,"updated":"2013-11-20 20:05:47.000000000","message":"Something got copy/paste happy here...  calling wrong method... (thin_prov)","commit_id":"474a3b4a10163c926ca072db20e3a1a315e8c741"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a7d5f17061ca48e04e4a870d2916eddddd3cd001","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        self.assertTrue(self.vg.supports_thin_provisioning(\u0027sudo\u0027))"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        self.stubs.Set(processutils, \u0027execute\u0027, self.fake_old_lvm_version)"},{"line_number":162,"context_line":"        self.assertFalse(self.vg.supports_thin_provisioning(\u0027sudo\u0027))"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    def test_lvchange_ignskipact_support_yes(self):"},{"line_number":165,"context_line":"        \"\"\"Tests the ability to test support for lvchange -K"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BvfU%3D","line":162,"updated":"2013-11-20 20:05:47.000000000","message":"Ditto","commit_id":"474a3b4a10163c926ca072db20e3a1a315e8c741"}]}
