)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d8611200d02bfbcc5235e407bdc855d7bd0801bb","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds a shim LibvirtScaleIOVolumeDriver calling the os-brick"},{"line_number":10,"context_line":"library."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: If2bba1f9d4c2ddfad7a26ca74bb61fe9ed6684ba"},{"line_number":13,"context_line":"Depends-On: I400db60fcc29c2d5e2d3b9dabc055649138468eb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a41bdd9_622f663f","line":11,"updated":"2015-07-15 19:27:44.000000000","message":"Wasn\u0027t there a nova blueprint for this?","commit_id":"441e69d23c8868dd0eb936f4cab9dcbe2fe6e3f6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8fc16a835bad0aaf3e13ac1ec30a1a0fe4eabbac","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds a shim LibvirtScaleIOVolumeDriver calling the os-brick"},{"line_number":10,"context_line":"library."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: If2bba1f9d4c2ddfad7a26ca74bb61fe9ed6684ba"},{"line_number":13,"context_line":"Depends-On: I400db60fcc29c2d5e2d3b9dabc055649138468eb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a41bdd9_8c7bafbd","line":11,"in_reply_to":"9a41bdd9_622f663f","updated":"2015-07-16 03:50:04.000000000","message":"Added reference to the blueprint.","commit_id":"441e69d23c8868dd0eb936f4cab9dcbe2fe6e3f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e52f79dc2eebd5684106b167d46debd35afbb43c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"implements blueprint emc-sdc-libvirt-volume-driver"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: If2bba1f9d4c2ddfad7a26ca74bb61fe9ed6684ba"},{"line_number":19,"context_line":"Depends-On: I400db60fcc29c2d5e2d3b9dabc055649138468eb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"3a50d1a3_9d93d1a2","line":19,"updated":"2015-07-29 17:30:40.000000000","message":"You can probably remove this now.","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b33b23e78a74f46ceaccaa27e0e2652f0d75402f","unresolved":false,"context_lines":[{"line_number":16,"context_line":"implements blueprint emc-sdc-libvirt-volume-driver"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: If2bba1f9d4c2ddfad7a26ca74bb61fe9ed6684ba"},{"line_number":19,"context_line":"Depends-On: I400db60fcc29c2d5e2d3b9dabc055649138468eb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"3a50d1a3_37b73122","line":19,"in_reply_to":"3a50d1a3_9d93d1a2","updated":"2015-07-29 20:23:54.000000000","message":"Done","commit_id":"455561584cfbbc0717323551112609e09684e7f0"}],"etc/nova/rootwrap.d/compute.filters":[{"author":{"_account_id":8358,"name":"zhangguoqing","email":"zhang.guoqing@99cloud.net","username":"zhangguoqing"},"change_message_id":"1eddc0ba0cf9567f0859db07319631d7a4359946","unresolved":false,"context_lines":[{"line_number":238,"context_line":"# nova/virt/libvirt/utils.py: \u0027xend\u0027, \u0027status\u0027"},{"line_number":239,"context_line":"xend: CommandFilter, xend, root"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"# nova/virt/libvirt/volume.py"},{"line_number":242,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, root"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"fa32b979_5166e2bb","line":241,"updated":"2015-06-24 01:59:52.000000000","message":"# nova/virt/libvirt/volume.py:","commit_id":"1b1df5af93b901b188a6ba323f2c57ebf5dd9078"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e69d20177c75f8b64634557fbcfe22ecd27b9f85","unresolved":false,"context_lines":[{"line_number":243,"context_line":"# nova/virt/libvirt/utils.py: \u0027xend\u0027, \u0027status\u0027"},{"line_number":244,"context_line":"xend: CommandFilter, xend, root"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"# nova/virt/libvirt/volume.py"},{"line_number":247,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, root"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"3a50d1a3_5a51cf2e","line":246,"updated":"2015-07-29 17:30:18.000000000","message":"Actually this is in os-brick, so you should point that out instead:\n\nos_brick/initiator/connector.py\n\nhttp://git.openstack.org/cgit/openstack/os-brick/tree/os_brick/initiator/connector.py?id\u003d0.3.2#n1588\n\nAlso, shouldn\u0027t the --query_guid option be in here?","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b33b23e78a74f46ceaccaa27e0e2652f0d75402f","unresolved":false,"context_lines":[{"line_number":243,"context_line":"# nova/virt/libvirt/utils.py: \u0027xend\u0027, \u0027status\u0027"},{"line_number":244,"context_line":"xend: CommandFilter, xend, root"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"# nova/virt/libvirt/volume.py"},{"line_number":247,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, root"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"3a50d1a3_d7384da2","line":246,"in_reply_to":"3a50d1a3_4effd101","updated":"2015-07-29 20:23:54.000000000","message":"Done","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"e2a9270c0017a7d630ce9263fa179e3e2632d174","unresolved":false,"context_lines":[{"line_number":243,"context_line":"# nova/virt/libvirt/utils.py: \u0027xend\u0027, \u0027status\u0027"},{"line_number":244,"context_line":"xend: CommandFilter, xend, root"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"# nova/virt/libvirt/volume.py"},{"line_number":247,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, root"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"3a50d1a3_4effd101","line":246,"in_reply_to":"3a50d1a3_5a51cf2e","updated":"2015-07-29 18:30:03.000000000","message":"I\u0027d prefer this section be moved under the other os-brick related filters on line 210.  Keep all the os-brick needs in one area would be nice.","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"de777e60e8b18f8821185b6b5e7cb75a83a74a6f","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"3a50d1a3_fa08d092","line":211,"updated":"2015-07-29 20:51:42.000000000","message":"Do we really need the full path to drv_cfg here?  The os-brick code that\u0027s using it isn\u0027t specifying that:\n\nhttp://git.openstack.org/cgit/openstack/os-brick/tree/os_brick/initiator/connector.py?id\u003d0.3.2#n1588\n\nSeems a bit brittle to specify the full path in case the path can change between versions of that product.","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"34fe0fd92302db62de36c2106d46e977821b102c","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"3a50d1a3_f0ed4f25","line":211,"in_reply_to":"3a50d1a3_f586a163","updated":"2015-07-29 21:28:26.000000000","message":"Gross, seems odd that the scaleio product itself doesn\u0027t create a link to drv_cfg in /usr/bin or something.  I definitely don\u0027t want this in exec_dirs in rootwrap.conf.\n\nI noticed that drv_cfg isn\u0027t in volume.filters in cinder, so how does this work?\n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/drivers/emc/scaleio.py#L989\n\nI opened bug 1479530 for that....","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c7f91d8ff15c8130358449ed6e9e6e41800ddf9c","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"3a50d1a3_552755c9","line":211,"in_reply_to":"3a50d1a3_f586a163","updated":"2015-07-30 00:09:57.000000000","message":"Ok, I removed the full path here.","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9378791a34804ae444421e618b257ab947af15de","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"3a50d1a3_f586a163","line":211,"in_reply_to":"3a50d1a3_fa08d092","updated":"2015-07-29 20:58:36.000000000","message":"I think if the full path isn\u0027t specified, then the path needs to be added to the rootwrap.conf exec_dirs var, so it gets added to the execute search path.","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0ac0b6ceca49d31459b1c9234111d264c5dc0028","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"3a50d1a3_6b7aad27","line":211,"updated":"2015-07-30 01:14:01.000000000","message":"So will not having the full path actually work?  If not, I don\u0027t want to merge this broken and require people deploying with this to manually fix it up.  I\u0027d be OK with the full path if that\u0027s only how it works today.","commit_id":"f05e2b46e115343b54dfc1a7b568c25a5ccf5c1b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"6124a9ca91657e4b2976fbc1d985aaf5bbb50c1a","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"3a50d1a3_16854c58","line":211,"in_reply_to":"3a50d1a3_6b7aad27","updated":"2015-07-30 01:37:34.000000000","message":"Done","commit_id":"f05e2b46e115343b54dfc1a7b568c25a5ccf5c1b"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"8486c3af5bac2b3ce0041116bfca3b20a18461e1","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"3a50d1a3_c9c2cd34","line":211,"updated":"2015-07-30 14:42:22.000000000","message":"This really sucks as a thing to need to do - it rather breaks the independance of os-brick and nova, because anytime os-brick wants to run a different command we need to change nova :-(\n\nWe really need a way in compute.filters to say\n\n  #include os-brick.filters","commit_id":"c821af0c67d7decd4c1fcb30da4fa7a80d2bc0fa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"81de4d5557602316db05f973283874e09fefc8fc","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"3a50d1a3_94613814","line":211,"in_reply_to":"3a50d1a3_74290c37","updated":"2015-07-30 15:01:19.000000000","message":"Yes, it is gross, and cinder has to do the same thing since cinder is using os-brick in the same way.\n\nWhile I agree it needs cleaning up, we already started this mess with the os-brick change that landed this week (multipathd is new for os-brick):\n\nhttps://review.openstack.org/#/c/175569/32/etc/nova/rootwrap.d/compute.filters\n\nSo until we have an os-brick.filters mechanism do we hold this all up?","commit_id":"c821af0c67d7decd4c1fcb30da4fa7a80d2bc0fa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2aaa9abd6d890ffc1399c6cb0b358763f6777437","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"3a50d1a3_cf32cdf2","line":211,"in_reply_to":"3a50d1a3_94613814","updated":"2015-07-30 15:05:08.000000000","message":"IMO since today is feature freeze we get these in, then work the os-brick.filters in os-brick as a release blocker for liberty (for nova and cinder).  Otherwise we could revert the os-brick integration change in nova, but that would suuuuck.","commit_id":"c821af0c67d7decd4c1fcb30da4fa7a80d2bc0fa"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"df9ccc39344536dbb2d6dfcd3561b4355c2b2f68","unresolved":false,"context_lines":[{"line_number":208,"context_line":"systool: CommandFilter, systool, root"},{"line_number":209,"context_line":"sginfo: CommandFilter, sginfo, root"},{"line_number":210,"context_line":"# os_brick/initiator/connector.py"},{"line_number":211,"context_line":"drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid, root"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"# nova/storage/linuxscsi.py: sg_scan device"},{"line_number":214,"context_line":"sg_scan: CommandFilter, sg_scan, root"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"3a50d1a3_74290c37","line":211,"in_reply_to":"3a50d1a3_c9c2cd34","updated":"2015-07-30 14:52:36.000000000","message":"In fact unless i\u0027m misunderstanding, we just need to get an os-brick.filters file dropped in to /etc/nova/rootwrap.d","commit_id":"c821af0c67d7decd4c1fcb30da4fa7a80d2bc0fa"}],"nova/tests/unit/virt/libvirt/volume/test_scaleio.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"de777e60e8b18f8821185b6b5e7cb75a83a74a6f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_ba356845","line":1,"updated":"2015-07-29 20:51:42.000000000","message":"Do you want the same copyright header that\u0027s in the scaleio.py module, i.e. with this?\n\n\"Copyright (c) 2015 EMC Corporation\"","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c7f91d8ff15c8130358449ed6e9e6e41800ddf9c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_b0ca679e","line":1,"in_reply_to":"3a50d1a3_ba356845","updated":"2015-07-30 00:09:57.000000000","message":"Done","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"}],"nova/virt/libvirt/volume.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"624351f8f466e535dbd3f8445e92a9ae790d5c99","unresolved":false,"context_lines":[{"line_number":882,"context_line":"        LOG.debug(\"Calling os-brick to attach ScaleIO volume {}.\".format("},{"line_number":883,"context_line":"            connection_info))"},{"line_number":884,"context_line":""},{"line_number":885,"context_line":"        device_info \u003d self.connector.connect_volume(connection_info[\u0027data\u0027])"},{"line_number":886,"context_line":"        LOG.debug(\"Attached ScaleIO volume {}\".format(device_info))"},{"line_number":887,"context_line":"        connection_info[\u0027data\u0027][\u0027device_path\u0027] \u003d device_info[\u0027path\u0027]"},{"line_number":888,"context_line":"        conf \u003d super(LibvirtScaleIOVolumeDriver, self).get_config("}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_3547f84c","line":885,"updated":"2015-06-26 18:02:37.000000000","message":"If/when the os-brick change gets into nova and the scaelio change gets into os-brick:\n\nhttps://review.openstack.org/#/c/185835/5/os_brick/initiator/connector.py\n\nThen connect/disconnect here just become delegation methods to os-brick, right?","commit_id":"1b1df5af93b901b188a6ba323f2c57ebf5dd9078"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"904bafbc41667c241c44254dd56588296c7706f2","unresolved":false,"context_lines":[{"line_number":882,"context_line":"        LOG.debug(\"Calling os-brick to attach ScaleIO volume {}.\".format("},{"line_number":883,"context_line":"            connection_info))"},{"line_number":884,"context_line":""},{"line_number":885,"context_line":"        device_info \u003d self.connector.connect_volume(connection_info[\u0027data\u0027])"},{"line_number":886,"context_line":"        LOG.debug(\"Attached ScaleIO volume {}\".format(device_info))"},{"line_number":887,"context_line":"        connection_info[\u0027data\u0027][\u0027device_path\u0027] \u003d device_info[\u0027path\u0027]"},{"line_number":888,"context_line":"        conf \u003d super(LibvirtScaleIOVolumeDriver, self).get_config("}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_1bed45ef","line":885,"in_reply_to":"fa32b979_3547f84c","updated":"2015-06-26 18:51:45.000000000","message":"I think the connect/disconnect code here is still needed after os-brick gets into nova and scaleio connector gets into os-brick.\n\nSounds like further refactoring is needed if we want to simplify this shim libvirt volume driver.","commit_id":"1b1df5af93b901b188a6ba323f2c57ebf5dd9078"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b87c653e05ef6f4fd5acaeda9e38d800ab7230fd","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        return conf"},{"line_number":891,"context_line":""},{"line_number":892,"context_line":"    def connect_volume(self, connection_info, disk_info):"},{"line_number":893,"context_line":"        LOG.debug(\"Calling os-brick to attach ScaleIO volume {}.\".format("},{"line_number":894,"context_line":"            connection_info))"},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        device_info \u003d self.connector.connect_volume(connection_info[\u0027data\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_5c5fce40","line":893,"updated":"2015-07-28 15:31:49.000000000","message":"We don\u0027t use .format for logging, pass args or kwargs.\n\nAlso, you can\u0027t just log the connection_info since it can contain credentials.","commit_id":"77a959e422dc54c8d04b8f7bab9ba4a72c5fba55"}],"nova/virt/libvirt/volume/scaleio.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e69d20177c75f8b64634557fbcfe22ecd27b9f85","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":2,"context_line":"# (c) Copyright 2013 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_3a040316","line":1,"updated":"2015-07-29 17:30:18.000000000","message":"You can drop these first 4 lines.  We don\u0027t need the foundation header in here and I\u0027m pretty sure this isn\u0027t HP right?  Just remove the first 4 lines unless you have a specific copyright header for your company, which is EMC right?","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b33b23e78a74f46ceaccaa27e0e2652f0d75402f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":2,"context_line":"# (c) Copyright 2013 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_973e4589","line":1,"in_reply_to":"3a50d1a3_3a040316","updated":"2015-07-29 20:23:54.000000000","message":"Done","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e69d20177c75f8b64634557fbcfe22ecd27b9f85","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\"\"\"Volume drivers for libvirt.\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from os_brick.initiator import connector"},{"line_number":20,"context_line":"from oslo_config import cfg"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_7d3cc5c7","line":17,"updated":"2015-07-29 17:30:18.000000000","message":"This is wrong, this module is specifically for the scaleio volume driver.","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b33b23e78a74f46ceaccaa27e0e2652f0d75402f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\"\"\"Volume drivers for libvirt.\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from os_brick.initiator import connector"},{"line_number":20,"context_line":"from oslo_config import cfg"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_574d1d3c","line":17,"in_reply_to":"3a50d1a3_7d3cc5c7","updated":"2015-07-29 20:23:54.000000000","message":"Done","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e69d20177c75f8b64634557fbcfe22ecd27b9f85","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def connect_volume(self, connection_info, disk_info):"},{"line_number":55,"context_line":"        LOG.debug(\"Calling os-brick to attach ScaleIO volume %s.\","},{"line_number":56,"context_line":"                  connection_info)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        device_info \u003d self.connector.connect_volume(connection_info[\u0027data\u0027])"},{"line_number":59,"context_line":"        LOG.debug(\"Attached ScaleIO volume {}\".format(device_info))"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_fd753597","line":56,"updated":"2015-07-29 17:30:18.000000000","message":"You can\u0027t just log connection_info by itself since it potentially has credentials in it.  Maybe just log the volume id from the connection_info?","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b33b23e78a74f46ceaccaa27e0e2652f0d75402f","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def connect_volume(self, connection_info, disk_info):"},{"line_number":55,"context_line":"        LOG.debug(\"Calling os-brick to attach ScaleIO volume %s.\","},{"line_number":56,"context_line":"                  connection_info)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        device_info \u003d self.connector.connect_volume(connection_info[\u0027data\u0027])"},{"line_number":59,"context_line":"        LOG.debug(\"Attached ScaleIO volume {}\".format(device_info))"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_7748592d","line":56,"in_reply_to":"3a50d1a3_fd753597","updated":"2015-07-29 20:23:54.000000000","message":"I removed this debug log.","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e69d20177c75f8b64634557fbcfe22ecd27b9f85","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                  connection_info)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        device_info \u003d self.connector.connect_volume(connection_info[\u0027data\u0027])"},{"line_number":59,"context_line":"        LOG.debug(\"Attached ScaleIO volume {}\".format(device_info))"},{"line_number":60,"context_line":"        connection_info[\u0027data\u0027][\u0027device_path\u0027] \u003d device_info[\u0027path\u0027]"},{"line_number":61,"context_line":"        conf \u003d super(LibvirtScaleIOVolumeDriver, self).get_config("},{"line_number":62,"context_line":"            connection_info, disk_info)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_7d6a85b4","line":59,"updated":"2015-07-29 17:30:18.000000000","message":"Don\u0027t use .format.","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b33b23e78a74f46ceaccaa27e0e2652f0d75402f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                  connection_info)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        device_info \u003d self.connector.connect_volume(connection_info[\u0027data\u0027])"},{"line_number":59,"context_line":"        LOG.debug(\"Attached ScaleIO volume {}\".format(device_info))"},{"line_number":60,"context_line":"        connection_info[\u0027data\u0027][\u0027device_path\u0027] \u003d device_info[\u0027path\u0027]"},{"line_number":61,"context_line":"        conf \u003d super(LibvirtScaleIOVolumeDriver, self).get_config("},{"line_number":62,"context_line":"            connection_info, disk_info)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_175315e3","line":59,"in_reply_to":"3a50d1a3_7d6a85b4","updated":"2015-07-29 20:23:54.000000000","message":"Done","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6eeb882c589f7dc4b110c425f19dc5c1de925e35","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        conf.source_path \u003d self.connector.volume_path"},{"line_number":65,"context_line":"        conf.source_type \u003d \u0027block\u0027"},{"line_number":66,"context_line":"        return conf"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def disconnect_volume(self, connection_info, disk_dev):"},{"line_number":69,"context_line":"        LOG.debug(\"Calling os-brick to detach ScaleIO volume %s.\","}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_c483bdc9","line":66,"updated":"2015-07-29 20:05:52.000000000","message":"This method isn\u0027t actually intended to return anything.  The connection_info can be mutated by reference though, which you\u0027re already doing.","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b33b23e78a74f46ceaccaa27e0e2652f0d75402f","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        conf.source_path \u003d self.connector.volume_path"},{"line_number":65,"context_line":"        conf.source_type \u003d \u0027block\u0027"},{"line_number":66,"context_line":"        return conf"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def disconnect_volume(self, connection_info, disk_dev):"},{"line_number":69,"context_line":"        LOG.debug(\"Calling os-brick to detach ScaleIO volume %s.\","}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_179d5565","line":66,"in_reply_to":"3a50d1a3_c483bdc9","updated":"2015-07-29 20:23:54.000000000","message":"Done","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e69d20177c75f8b64634557fbcfe22ecd27b9f85","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def disconnect_volume(self, connection_info, disk_dev):"},{"line_number":69,"context_line":"        LOG.debug(\"Calling os-brick to detach ScaleIO volume %s.\","},{"line_number":70,"context_line":"                  connection_info)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        self.connector.disconnect_volume(connection_info[\u0027data\u0027], None)"},{"line_number":73,"context_line":"        LOG.debug(\"Disconnected volume %s.\", disk_dev)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_1da021f3","line":70,"updated":"2015-07-29 17:30:18.000000000","message":"Don\u0027t log connection_info, log the volume id.","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b33b23e78a74f46ceaccaa27e0e2652f0d75402f","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def disconnect_volume(self, connection_info, disk_dev):"},{"line_number":69,"context_line":"        LOG.debug(\"Calling os-brick to detach ScaleIO volume %s.\","},{"line_number":70,"context_line":"                  connection_info)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        self.connector.disconnect_volume(connection_info[\u0027data\u0027], None)"},{"line_number":73,"context_line":"        LOG.debug(\"Disconnected volume %s.\", disk_dev)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_9755e5c2","line":70,"in_reply_to":"3a50d1a3_1da021f3","updated":"2015-07-29 20:23:54.000000000","message":"Removed this line.","commit_id":"455561584cfbbc0717323551112609e09684e7f0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"de777e60e8b18f8821185b6b5e7cb75a83a74a6f","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            \u0027SCALEIO\u0027, utils._get_root_helper(),"},{"line_number":43,"context_line":"            device_scan_attempts\u003dCONF.libvirt.num_iscsi_scan_tries)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def get_config(self, connection_info, disk_info):"},{"line_number":46,"context_line":"        conf \u003d super(LibvirtScaleIOVolumeDriver, self).get_config("},{"line_number":47,"context_line":"            connection_info, disk_info)"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_9a098c86","line":45,"updated":"2015-07-29 20:51:42.000000000","message":"A unit test for this would be nice.","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c7f91d8ff15c8130358449ed6e9e6e41800ddf9c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            \u0027SCALEIO\u0027, utils._get_root_helper(),"},{"line_number":43,"context_line":"            device_scan_attempts\u003dCONF.libvirt.num_iscsi_scan_tries)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def get_config(self, connection_info, disk_info):"},{"line_number":46,"context_line":"        conf \u003d super(LibvirtScaleIOVolumeDriver, self).get_config("},{"line_number":47,"context_line":"            connection_info, disk_info)"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_e2b7c2f6","line":45,"in_reply_to":"3a50d1a3_9a098c86","updated":"2015-07-30 00:09:57.000000000","message":"Done","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"de777e60e8b18f8821185b6b5e7cb75a83a74a6f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            connection_info, disk_info)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        conf.source_type \u003d \u0027block\u0027"},{"line_number":50,"context_line":"        conf.source_path \u003d self.connector.volume_path"},{"line_number":51,"context_line":"        return conf"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def connect_volume(self, connection_info, disk_info):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_5add44de","line":50,"updated":"2015-07-29 20:51:42.000000000","message":"I thought this was typically:\n\nconf.source_path \u003d connection_info[\u0027data\u0027][\u0027device_path\u0027]","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c7f91d8ff15c8130358449ed6e9e6e41800ddf9c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            connection_info, disk_info)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        conf.source_type \u003d \u0027block\u0027"},{"line_number":50,"context_line":"        conf.source_path \u003d self.connector.volume_path"},{"line_number":51,"context_line":"        return conf"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def connect_volume(self, connection_info, disk_info):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_229daa66","line":50,"in_reply_to":"3a50d1a3_5add44de","updated":"2015-07-30 00:09:57.000000000","message":"Currently we set volume_path in the connector.  We need to set \u0027device_path\u0027 in the connector and get it here. So this is will be done in a later patch after this one is merged.","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"de777e60e8b18f8821185b6b5e7cb75a83a74a6f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        conf.source_path \u003d self.connector.volume_path"},{"line_number":51,"context_line":"        return conf"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def connect_volume(self, connection_info, disk_info):"},{"line_number":54,"context_line":"        device_info \u003d self.connector.connect_volume(connection_info[\u0027data\u0027])"},{"line_number":55,"context_line":"        LOG.debug(\"Attached ScaleIO volume %s.\", device_info)"},{"line_number":56,"context_line":"        connection_info[\u0027data\u0027][\u0027device_path\u0027] \u003d device_info[\u0027path\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_1a757cf8","line":53,"updated":"2015-07-29 20:51:42.000000000","message":"A unit test which mocks out the os-brick part would be nice to verify that connector.connect_volume is called properly and connection_info is mutated by reference to update the device_path.","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c7f91d8ff15c8130358449ed6e9e6e41800ddf9c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        conf.source_path \u003d self.connector.volume_path"},{"line_number":51,"context_line":"        return conf"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def connect_volume(self, connection_info, disk_info):"},{"line_number":54,"context_line":"        device_info \u003d self.connector.connect_volume(connection_info[\u0027data\u0027])"},{"line_number":55,"context_line":"        LOG.debug(\"Attached ScaleIO volume %s.\", device_info)"},{"line_number":56,"context_line":"        connection_info[\u0027data\u0027][\u0027device_path\u0027] \u003d device_info[\u0027path\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_02bd0ed7","line":53,"in_reply_to":"3a50d1a3_1a757cf8","updated":"2015-07-30 00:09:57.000000000","message":"Done","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"de777e60e8b18f8821185b6b5e7cb75a83a74a6f","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        LOG.debug(\"Attached ScaleIO volume %s.\", device_info)"},{"line_number":56,"context_line":"        connection_info[\u0027data\u0027][\u0027device_path\u0027] \u003d device_info[\u0027path\u0027]"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def disconnect_volume(self, connection_info, disk_dev):"},{"line_number":59,"context_line":"        self.connector.disconnect_volume(connection_info[\u0027data\u0027], None)"},{"line_number":60,"context_line":"        LOG.debug(\"Disconnected volume %s.\", disk_dev)"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_1a91fcf0","line":58,"updated":"2015-07-29 20:51:42.000000000","message":"A unit test that mocks out os-brick and asserts the disconnect_volume call is made properly would be nice.","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c7f91d8ff15c8130358449ed6e9e6e41800ddf9c","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        LOG.debug(\"Attached ScaleIO volume %s.\", device_info)"},{"line_number":56,"context_line":"        connection_info[\u0027data\u0027][\u0027device_path\u0027] \u003d device_info[\u0027path\u0027]"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def disconnect_volume(self, connection_info, disk_dev):"},{"line_number":59,"context_line":"        self.connector.disconnect_volume(connection_info[\u0027data\u0027], None)"},{"line_number":60,"context_line":"        LOG.debug(\"Disconnected volume %s.\", disk_dev)"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_62cc128b","line":58,"in_reply_to":"3a50d1a3_1a91fcf0","updated":"2015-07-30 00:09:57.000000000","message":"Done","commit_id":"a7450df1ff9d8c822204153d2c79dd324f2de8e4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0ac0b6ceca49d31459b1c9234111d264c5dc0028","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            connection_info, disk_info)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        conf.source_type \u003d \u0027block\u0027"},{"line_number":50,"context_line":"        conf.source_path \u003d self.connector.volume_path"},{"line_number":51,"context_line":"        return conf"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def connect_volume(self, connection_info, disk_info):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_abe435e0","line":50,"updated":"2015-07-30 01:14:01.000000000","message":"I\u0027m a little confused about the comment in the previous patch set, you said there has to be another change after this - do you mean there is a change needed for scaleio in os-brick and then once that\u0027s released and nova is using that latest version you can set conf.source_path from connection_info[\u0027data\u0027][\u0027device_path\u0027] like the other volume drivers in here?  I guess my main concern is consistency and I haven\u0027t seen it done like this in other drivers.\n\nFrom what I see here:\n\nhttp://git.openstack.org/cgit/openstack/os-brick/tree/os_brick/initiator/connector.py?id\u003d0.3.2#n1888\n\nThe device_info returned from the connect_volume call has the [\u0027path\u0027] key set to the volume_path, and that\u0027s stored in connection_info[\u0027data\u0027][\u0027device_path\u0027], which is what the nova libvirt driver passes back into get_config here, so you can just use it - so let\u0027s do that and be consistent with other volume drivers.","commit_id":"f05e2b46e115343b54dfc1a7b568c25a5ccf5c1b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"6124a9ca91657e4b2976fbc1d985aaf5bbb50c1a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            connection_info, disk_info)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        conf.source_type \u003d \u0027block\u0027"},{"line_number":50,"context_line":"        conf.source_path \u003d self.connector.volume_path"},{"line_number":51,"context_line":"        return conf"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def connect_volume(self, connection_info, disk_info):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_96915c9d","line":50,"in_reply_to":"3a50d1a3_abe435e0","updated":"2015-07-30 01:37:34.000000000","message":"Thanks Matt for the explanation!  Changed it.","commit_id":"f05e2b46e115343b54dfc1a7b568c25a5ccf5c1b"}]}
