)]}'
{"cinder/brick/iscsi/iscsi.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"67d9bf884fc0f30b5464d9d47ae3fa92fbf77af7","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def __init__(self, cmd, root_helper, db, execute):"},{"line_number":78,"context_line":"        super(TargetAdmin, self).__init__(root_helper, execute\u003dexecute)"},{"line_number":79,"context_line":"        self._cmd \u003d cmd"},{"line_number":80,"context_line":"        self.db \u003d db"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def _run(self, *args, **kwargs):"},{"line_number":83,"context_line":"        self._execute(self._cmd, *args, run_as_root\u003dTrue, **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FylM%3D","line":80,"updated":"2013-08-29 15:20:15.000000000","message":"Brick cannot have access to a database directly.  Brick is a project agnostic library that has to work in nova, glance, cinder, etc.","commit_id":"72430b6071b36576f3727728a50a81357dec6501"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"ffd062da225ed527ab41675d13cd31c75da93ecc","unresolved":false,"context_lines":[{"line_number":33,"context_line":"from cinder.openstack.common.gettextutils import _"},{"line_number":34,"context_line":"from cinder.openstack.common import log as logging"},{"line_number":35,"context_line":"from cinder.openstack.common import processutils as putils"},{"line_number":36,"context_line":"from cinder import utils"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FsJI%3D","line":36,"updated":"2013-08-30 20:43:56.000000000","message":"Can\u0027t do this in Brick.   brick can\u0027t have dependencies on cinder.","commit_id":"ef76966ff0fe6c293818f269dab2f5d1d629288f"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"7db6bf35963c912c3b6be88668ecc1ef32f4485d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"from cinder.openstack.common.gettextutils import _"},{"line_number":34,"context_line":"from cinder.openstack.common import log as logging"},{"line_number":35,"context_line":"from cinder.openstack.common import processutils as putils"},{"line_number":36,"context_line":"from cinder import utils"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FoYU%3D","line":36,"in_reply_to":"AAAASn%2F%2FsJI%3D","updated":"2013-09-02 07:09:32.000000000","message":"I\u0027ll take a look on it.","commit_id":"ef76966ff0fe6c293818f269dab2f5d1d629288f"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"ffd062da225ed527ab41675d13cd31c75da93ecc","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def __init__(self, cmd, root_helper, target_store, execute):"},{"line_number":78,"context_line":"        super(TargetAdmin, self).__init__(root_helper, execute\u003dexecute)"},{"line_number":79,"context_line":"        self._cmd \u003d cmd"},{"line_number":80,"context_line":"        self.target_store \u003d target_store"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def _run(self, *args, **kwargs):"},{"line_number":83,"context_line":"        self._execute(self._cmd, *args, run_as_root\u003dTrue, **kwargs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FsII%3D","line":80,"updated":"2013-08-30 20:43:56.000000000","message":"this smells an awful lot like a database object.  What is this for ?","commit_id":"ef76966ff0fe6c293818f269dab2f5d1d629288f"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"7db6bf35963c912c3b6be88668ecc1ef32f4485d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def __init__(self, cmd, root_helper, target_store, execute):"},{"line_number":78,"context_line":"        super(TargetAdmin, self).__init__(root_helper, execute\u003dexecute)"},{"line_number":79,"context_line":"        self._cmd \u003d cmd"},{"line_number":80,"context_line":"        self.target_store \u003d target_store"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def _run(self, *args, **kwargs):"},{"line_number":83,"context_line":"        self._execute(self._cmd, *args, run_as_root\u003dTrue, **kwargs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FoYc%3D","line":80,"in_reply_to":"AAAASn%2F%2FsII%3D","updated":"2013-09-02 07:09:32.000000000","message":"Please take a look at new file is cinder/volume/iscsi.py. I created there a new class DBTargetStore that makes requests to database, so that there is no direct dependency on db in brick now. If this is not OK, can you suggest how this should be done?","commit_id":"ef76966ff0fe6c293818f269dab2f5d1d629288f"}],"cinder/volume/driver.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"2a6964acc3da155671b79b4c929f6a1117efc8e6","unresolved":false,"context_lines":[{"line_number":736,"context_line":"    def accept_transfer(self, context, volume, new_user, new_project):"},{"line_number":737,"context_line":"        pass"},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"    def get_target_admin(self, db):"},{"line_number":740,"context_line":"        root_helper \u003d utils.get_root_helper()"},{"line_number":741,"context_line":"        if CONF.iscsi_helper \u003d\u003d \u0027iseradm\u0027:"},{"line_number":742,"context_line":"            return iscsi.ISERTgtAdm(root_helper, CONF.volumes_dir,"}],"source_content_type":"text/x-python","patch_set":24,"id":"AAAAUH%2F%2BbJY%3D","line":739,"updated":"2014-01-27 20:05:29.000000000","message":"ISERDriver get_target_admin still has the old signature.","commit_id":"a241ab3fdd70a82214191ab3c67586ea3bb05226"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"276a1e66cedaffb42197cfc4af744cccfeddf8cf","unresolved":false,"context_lines":[{"line_number":736,"context_line":"    def accept_transfer(self, context, volume, new_user, new_project):"},{"line_number":737,"context_line":"        pass"},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"    def get_target_admin(self, db):"},{"line_number":740,"context_line":"        root_helper \u003d utils.get_root_helper()"},{"line_number":741,"context_line":"        if CONF.iscsi_helper \u003d\u003d \u0027iseradm\u0027:"},{"line_number":742,"context_line":"            return iscsi.ISERTgtAdm(root_helper, CONF.volumes_dir,"}],"source_content_type":"text/x-python","patch_set":24,"id":"AAAAUH%2F9iXU%3D","line":739,"in_reply_to":"AAAAUH%2F%2BbJY%3D","updated":"2014-02-06 07:51:00.000000000","message":"done","commit_id":"a241ab3fdd70a82214191ab3c67586ea3bb05226"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"23a1b0af2a64f1b162b34d2d3dfe27844c198792","unresolved":false,"context_lines":[{"line_number":861,"context_line":"        self._stats \u003d data"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"    def get_target_helper(self, db):"},{"line_number":864,"context_line":"        root_helper \u003d utils.get_root_helper()"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"        if CONF.iser_helper \u003d\u003d \u0027fake\u0027:"},{"line_number":867,"context_line":"            return iscsi.FakeIscsiHelper()"}],"source_content_type":"text/x-python","patch_set":29,"id":"AAAAUX%2F%2Ff9A%3D","line":864,"updated":"2014-02-12 18:58:10.000000000","message":"This can be moved into the else block.","commit_id":"bdf6e2b5f853b0608dfb81b0d0489b469ead5fd2"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"23a1b0af2a64f1b162b34d2d3dfe27844c198792","unresolved":false,"context_lines":[{"line_number":867,"context_line":"            return iscsi.FakeIscsiHelper()"},{"line_number":868,"context_line":"        else:"},{"line_number":869,"context_line":"            return iscsi.ISERTgtAdm(root_helper,"},{"line_number":870,"context_line":"                                    CONF.volumes_dir, db\u003ddb)"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"class FakeISERDriver(FakeISCSIDriver):"}],"source_content_type":"text/x-python","patch_set":29,"id":"AAAAUX%2F%2FgDw%3D","line":870,"updated":"2014-02-12 18:58:10.000000000","message":"From my previous comment in ps24, I still don\u0027t see where db is being used further up the stack.","commit_id":"bdf6e2b5f853b0608dfb81b0d0489b469ead5fd2"}],"cinder/volume/drivers/block_device.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"2a6964acc3da155671b79b4c929f6a1117efc8e6","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    VERSION \u003d \u00271.0.0\u0027"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":45,"context_line":"        self.db \u003d kwargs.get(\u0027db\u0027)"},{"line_number":46,"context_line":"        self.tgtadm \u003d self.get_target_admin(self.db)"},{"line_number":47,"context_line":"        super(BlockDeviceDriver, self).__init__(*args, **kwargs)"},{"line_number":48,"context_line":"        self.configuration.append_config_values(volume_opts)"}],"source_content_type":"text/x-python","patch_set":24,"id":"AAAAUH%2F%2BW5o%3D","line":45,"updated":"2014-01-27 20:05:29.000000000","message":"What is this actually used for in this driver? I know other drivers inheriting ISCSIDriver use it, but didn\u0027t see any usage here.","commit_id":"a241ab3fdd70a82214191ab3c67586ea3bb05226"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"276a1e66cedaffb42197cfc4af744cccfeddf8cf","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    VERSION \u003d \u00271.0.0\u0027"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":45,"context_line":"        self.db \u003d kwargs.get(\u0027db\u0027)"},{"line_number":46,"context_line":"        self.tgtadm \u003d self.get_target_admin(self.db)"},{"line_number":47,"context_line":"        super(BlockDeviceDriver, self).__init__(*args, **kwargs)"},{"line_number":48,"context_line":"        self.configuration.append_config_values(volume_opts)"}],"source_content_type":"text/x-python","patch_set":24,"id":"AAAAUH%2F9iXE%3D","line":45,"in_reply_to":"AAAAUH%2F%2BW5o%3D","updated":"2014-02-06 07:51:00.000000000","message":"Done","commit_id":"a241ab3fdd70a82214191ab3c67586ea3bb05226"}],"cinder/volume/drivers/lvm.py":[{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"052409b5c5c6609c2dfd0372d3fa89a8d6244677","unresolved":false,"context_lines":[{"line_number":428,"context_line":""},{"line_number":429,"context_line":"        chap_auth \u003d None"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        # Check for https://bugs.launchpad.net/cinder/+bug/1065702"},{"line_number":432,"context_line":"        old_name \u003d None"},{"line_number":433,"context_line":"        volume_name \u003d volume[\u0027name\u0027]"},{"line_number":434,"context_line":"        if (volume[\u0027provider_location\u0027] is not None and"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FzV4%3D","side":"PARENT","line":431,"updated":"2013-08-29 12:53:54.000000000","message":"This comment was lost on the way to brick.","commit_id":"6afa0088c4ac91820ffddb409b4605be33f1537d"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"b6d25f9abb6712d8f09d024c70f95ea6d77184fd","unresolved":false,"context_lines":[{"line_number":34,"context_line":"from cinder.openstack.common import processutils"},{"line_number":35,"context_line":"from cinder import utils"},{"line_number":36,"context_line":"from cinder.volume import driver"},{"line_number":37,"context_line":"from cinder.volume.iscsi import iscsi"},{"line_number":38,"context_line":"from cinder.volume import utils as volutils"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAATn%2F9i3o%3D","line":37,"updated":"2013-12-10 12:03:58.000000000","message":"iscsi not used","commit_id":"7975770570290b58ff9035f6925d770bc3ca7607"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"2a6964acc3da155671b79b4c929f6a1117efc8e6","unresolved":false,"context_lines":[{"line_number":541,"context_line":""},{"line_number":542,"context_line":"        return (True, model_update)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def get_volume_stats(self, refresh\u003dFalse):"},{"line_number":545,"context_line":"        \"\"\"Get volume stats."},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"        If \u0027refresh\u0027 is True, run update the stats first."}],"source_content_type":"text/x-python","patch_set":24,"id":"AAAAUH%2F%2BWsY%3D","line":544,"updated":"2014-01-27 20:05:29.000000000","message":"All of this is unrelated to this commit.","commit_id":"a241ab3fdd70a82214191ab3c67586ea3bb05226"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"276a1e66cedaffb42197cfc4af744cccfeddf8cf","unresolved":false,"context_lines":[{"line_number":541,"context_line":""},{"line_number":542,"context_line":"        return (True, model_update)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def get_volume_stats(self, refresh\u003dFalse):"},{"line_number":545,"context_line":"        \"\"\"Get volume stats."},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"        If \u0027refresh\u0027 is True, run update the stats first."}],"source_content_type":"text/x-python","patch_set":24,"id":"AAAAUH%2F9iW8%3D","line":544,"in_reply_to":"AAAAUH%2F%2BWsY%3D","updated":"2014-02-06 07:51:00.000000000","message":"done","commit_id":"a241ab3fdd70a82214191ab3c67586ea3bb05226"}],"cinder/volume/iscsi.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"842a1d038607968e81553a6ba292780b7788a742","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        chap_auth \u003d None"},{"line_number":95,"context_line":"        # Check for https://bugs.launchpad.net/cinder/+bug/1065702"},{"line_number":96,"context_line":"        old_name \u003d None"},{"line_number":97,"context_line":"        volume_name \u003d volume[\u0027name\u0027]"},{"line_number":98,"context_line":"        if (volume[\u0027provider_location\u0027] is not None and"},{"line_number":99,"context_line":"                volume[\u0027name\u0027] not in volume[\u0027provider_location\u0027]):"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAATn%2F9DUA%3D","line":97,"updated":"2013-12-17 09:21:09.000000000","message":"Thanks, I just copied that code and didn\u0027t notice.","commit_id":"e784354861e2121d52d6afb082ca073dd28e8abc"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"60b5e32bb5f8ade161093ac1b6d0df501f2628da","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        chap_auth \u003d None"},{"line_number":95,"context_line":"        # Check for https://bugs.launchpad.net/cinder/+bug/1065702"},{"line_number":96,"context_line":"        old_name \u003d None"},{"line_number":97,"context_line":"        volume_name \u003d volume[\u0027name\u0027]"},{"line_number":98,"context_line":"        if (volume[\u0027provider_location\u0027] is not None and"},{"line_number":99,"context_line":"                volume[\u0027name\u0027] not in volume[\u0027provider_location\u0027]):"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAATn%2F9T1c%3D","line":97,"updated":"2013-12-12 19:38:15.000000000","message":"volume_name isn\u0027t used.","commit_id":"e784354861e2121d52d6afb082ca073dd28e8abc"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"60b5e32bb5f8ade161093ac1b6d0df501f2628da","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            LOG.debug(_(\u0027%s\u0027), msg)"},{"line_number":103,"context_line":"            old_name \u003d self._fix_id_migration(context, volume)"},{"line_number":104,"context_line":"            if \u0027in-use\u0027 in volume[\u0027status\u0027]:"},{"line_number":105,"context_line":"                volume_name \u003d old_name"},{"line_number":106,"context_line":"                old_name \u003d None"},{"line_number":107,"context_line":"        self.create_iscsi_target(iscsi_name, iscsi_target, 0, volume_path,"},{"line_number":108,"context_line":"                                 chap_auth, check_exit_code\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAATn%2F9T1Q%3D","line":105,"updated":"2013-12-12 19:38:15.000000000","message":"volume_name isn\u0027t used.","commit_id":"e784354861e2121d52d6afb082ca073dd28e8abc"}]}
