)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"f6c2ffa663f788ecc41583585463baa1caa925fc","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-03-25 17:00:51 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Scrub residual device before connect volume"},{"line_number":8,"context_line":"Scrub residual device paths, sd devices and multipath device shells before"},{"line_number":9,"context_line":"connect volume."},{"line_number":10,"context_line":"1.scrub the devices in the host that with same iqns and luns of target,"},{"line_number":11,"context_line":"2.scrub /dev/sd* which belong to multipath device but not in /dev/disk/by_path,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da0c15f0_4952cd14","line":8,"updated":"2016-03-25 11:44:17.000000000","message":"Please, add empty line above","commit_id":"383edb51b07d46341b5c88584ab82dfcfb9d8c24"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"f6c2ffa663f788ecc41583585463baa1caa925fc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Scrub residual device before connect volume"},{"line_number":8,"context_line":"Scrub residual device paths, sd devices and multipath device shells before"},{"line_number":9,"context_line":"connect volume."},{"line_number":10,"context_line":"1.scrub the devices in the host that with same iqns and luns of target,"},{"line_number":11,"context_line":"2.scrub /dev/sd* which belong to multipath device but not in /dev/disk/by_path,"},{"line_number":12,"context_line":"3.scrub multipath devices shell"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da0c15f0_a9572901","line":10,"updated":"2016-03-25 11:44:17.000000000","message":"scrub \u003d\u003e Scrub","commit_id":"383edb51b07d46341b5c88584ab82dfcfb9d8c24"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f6e6e8f9898c385f17f39d405bf077e28847d41c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Scrub residual device before connect volume in cinder"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Scrub residual device paths, sd devices and multipath device shells before"},{"line_number":10,"context_line":"connect volume in cinder:"},{"line_number":11,"context_line":"1.Scrub the devices in the host that with same iqns and luns of target;"},{"line_number":12,"context_line":"2.Scrub /dev/sd* which belong to multipath device but not in /dev/disk/by_path;"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba0121b8_c19418ea","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":74},"updated":"2016-03-28 17:06:01.000000000","message":"Lines should be wrapped at 72 characters.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"dc2db60b9f28ce5a269cc0eba77d38f367b90f5c"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f6e6e8f9898c385f17f39d405bf077e28847d41c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Scrub residual device paths, sd devices and multipath device shells before"},{"line_number":10,"context_line":"connect volume in cinder:"},{"line_number":11,"context_line":"1.Scrub the devices in the host that with same iqns and luns of target;"},{"line_number":12,"context_line":"2.Scrub /dev/sd* which belong to multipath device but not in /dev/disk/by_path;"},{"line_number":13,"context_line":"3.Scrub multipath devices shell."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ia7cd240f4640326d083bfa261242e53cfb620287"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba0121b8_a1c004e2","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":79},"updated":"2016-03-28 17:06:01.000000000","message":"Lines should be wrapped at 72 characters.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"dc2db60b9f28ce5a269cc0eba77d38f367b90f5c"}],"cinder/brick/iscsiscrub.py":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f6e6e8f9898c385f17f39d405bf077e28847d41c","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            m \u003d MULTIPATH_DEV_CHECK_REGEX.split(line)"},{"line_number":157,"context_line":"            if len(m) \u003e\u003d 2:"},{"line_number":158,"context_line":"                mpath_dev \u003d m[0].split(\" \")[0]"},{"line_number":159,"context_line":"            if mpath_dev and (\"/dev/mapper/%s\" % mpath_dev) \\"},{"line_number":160,"context_line":"                    not in mpath_devices_name:"},{"line_number":161,"context_line":"                mpath_devices_name.append(\"/dev/mapper/%s\" % mpath_dev)"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_e73facd4","line":159,"range":{"start_line":159,"start_character":60,"end_line":159,"end_character":61},"updated":"2016-03-28 17:06:01.000000000","message":"If possible, we should avoid using \u0027\\\u0027 for line continuation. Try using \u0027()\u0027 instead.","commit_id":"dc2db60b9f28ce5a269cc0eba77d38f367b90f5c"}],"cinder/tests/unit/brick/test_brick_iscsiscrub.py":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f6e6e8f9898c385f17f39d405bf077e28847d41c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        target_luns \u003d [1, 1, 1, 1]\r"},{"line_number":42,"context_line":"        mock_device_local.return_value \u003d []\r"},{"line_number":43,"context_line":"        self.scrubber._scrub_residual_device_paths(target_iqns, target_luns)\r"},{"line_number":44,"context_line":"        except_log \u003d \\\r"},{"line_number":45,"context_line":"            [mock.call.info(_LI(\"scrub devices: by-path no residual devices\"))]\r"},{"line_number":46,"context_line":"        self.assertEqual(except_log, mock_log.method_calls)\r"},{"line_number":47,"context_line":"        self.assertFalse(mock_delete_device.called)\r"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_8c1d3769","line":44,"range":{"start_line":44,"start_character":21,"end_line":44,"end_character":22},"updated":"2016-03-28 17:06:01.000000000","message":"If possible, we should avoid using \u0027\\\u0027 for line continuation. Try using \u0027()\u0027 instead","commit_id":"dc2db60b9f28ce5a269cc0eba77d38f367b90f5c"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f6e6e8f9898c385f17f39d405bf077e28847d41c","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        target_iqns \u003d [\u0027iqn.2099-01.cn.com.zte:usp.spr11-4c:09:b4:b0:55:90\u0027,\r"},{"line_number":95,"context_line":"                       \u0027iqn.2099-01.cn.com.zte:usp.spr11-4c:09:b4:b0:55:91\u0027]\r"},{"line_number":96,"context_line":"        target_luns \u003d [1, 1, 1, 1]\r"},{"line_number":97,"context_line":"        conn \u003d \\\r"},{"line_number":98,"context_line":"            {\u0027data\u0027: {\u0027target_iqns\u0027: target_iqns, \u0027target_luns\u0027: target_luns}}\r"},{"line_number":99,"context_line":"        self.scrubber.scrub_residual_devices(conn)\r"},{"line_number":100,"context_line":"        mock_scrub_devices.assert_called_once_with(target_iqns, target_luns)\r"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_8c4b7759","line":97,"range":{"start_line":97,"start_character":15,"end_line":97,"end_character":16},"updated":"2016-03-28 17:06:01.000000000","message":"If possible, we should avoid using \u0027\\\u0027 for line continuation. Try using \u0027()\u0027 instead","commit_id":"dc2db60b9f28ce5a269cc0eba77d38f367b90f5c"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f6e6e8f9898c385f17f39d405bf077e28847d41c","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        except_iqns_and_luns \u003d ([u\u0027iqn.2000-09.com\u0027], [0])\r"},{"line_number":148,"context_line":"        self.assertEqual(self.scrubber._get_target_iqns_and_luns(\r"},{"line_number":149,"context_line":"            connection_properties), except_iqns_and_luns)\r"},{"line_number":150,"context_line":"        connection_properties \u003d \\\r"},{"line_number":151,"context_line":"            {\u0027target_luns\u0027: [0, 0, 0, 0], \u0027target_iqns\u0027: [\r"},{"line_number":152,"context_line":"                u\u0027iqn.2000-00.com\u0027, u\u0027iqn.2000-01.com\u0027, u\u0027iqn.2000-02.com\u0027,\r"},{"line_number":153,"context_line":"                u\u0027iqn.2000-03.com\u0027], \u0027target_portal\u0027: u\u0027172.168.1.1:3260\u0027,\r"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_ecf793f3","line":150,"range":{"start_line":150,"start_character":32,"end_line":150,"end_character":33},"updated":"2016-03-28 17:06:01.000000000","message":"If possible, we should avoid using \u0027\\\u0027 for line continuation. Try using \u0027()\u0027 instead","commit_id":"dc2db60b9f28ce5a269cc0eba77d38f367b90f5c"}],"cinder/volume/driver.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"36c1a9896d45b39aec6eecb58ebff6f42058875e","unresolved":false,"context_lines":[{"line_number":987,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":988,"context_line":"        return (self._connect_device(conn), snapshot)"},{"line_number":989,"context_line":""},{"line_number":990,"context_line":"    def _scrub_residual_devices(self, conn):"},{"line_number":991,"context_line":"        try:"},{"line_number":992,"context_line":"            self.scruber.scrub_residual_devices(conn)"},{"line_number":993,"context_line":"        except processutils.ProcessExecutionError as ex:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_357427ce","line":990,"updated":"2016-03-28 18:50:16.000000000","message":"This is not appropriate for BaseVD -- it is only applicable to drivers using iSCSI and similar.","commit_id":"dc2db60b9f28ce5a269cc0eba77d38f367b90f5c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"36c1a9896d45b39aec6eecb58ebff6f42058875e","unresolved":false,"context_lines":[{"line_number":993,"context_line":"        except processutils.ProcessExecutionError as ex:"},{"line_number":994,"context_line":"            LOG.error(_LE(\"scrub residual devices error: %(ex)s\") % {\u0027ex\u0027: ex})"},{"line_number":995,"context_line":""},{"line_number":996,"context_line":"    @synchronized(\u0027_connect_device\u0027)"},{"line_number":997,"context_line":"    def _connect_device(self, conn):"},{"line_number":998,"context_line":"        # Use Brick\u0027s code to do attach/detach"},{"line_number":999,"context_line":"        use_multipath \u003d self.configuration.use_multipath_for_image_xfer"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_355b8756","line":996,"updated":"2016-03-28 18:50:16.000000000","message":"Same with this locking.","commit_id":"dc2db60b9f28ce5a269cc0eba77d38f367b90f5c"}]}
