)]}'
{"nova_powervm/virt/powervm/slot.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"93c8bef30e45cf557fe2957dbf59badcea23f5b1","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        pv_vscsi_vol_to_vio \u003d {}"},{"line_number":125,"context_line":"        fabric_names \u003d []"},{"line_number":126,"context_line":"        for bdm, vol_drv in vol_drv_iter:"},{"line_number":127,"context_line":"            if vol_drv.vol_type() in [\u0027vscsi\u0027, \u0027fileio\u0027, \u0027rbd\u0027]:"},{"line_number":128,"context_line":"                self._pv_vscsi_vol_to_vio(vol_drv, pv_vscsi_vol_to_vio)"},{"line_number":129,"context_line":"            elif len(fabric_names) \u003d\u003d 0 and vol_drv.vol_type() \u003d\u003d \u0027npiv\u0027:"},{"line_number":130,"context_line":"                fabric_names \u003d vol_drv._fabric_names()"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf57530f_e1dcc519","line":127,"range":{"start_line":127,"start_character":38,"end_line":127,"end_character":63},"updated":"2017-09-20 22:35:53.000000000","message":"We should eventually consider consting these","commit_id":"263d187215f2c02c5817598e5e436d92a9d07aa0"}],"nova_powervm/virt/powervm/volume/rbd.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"1a34256fdb161c6887f9bd26f7fca46e1540a117","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7f287b81_0baee72d","updated":"2017-08-22 20:56:58.000000000","message":"Sho is a lot of duplicated code here from FileIO.  Be nice to factor most of it out.","commit_id":"f6ba7e23c56adb6e9705eb9726273a8ee0a6763c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"1a34256fdb161c6887f9bd26f7fca46e1540a117","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                return None"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"            LOG.info(\"Adding rbd disk connection between VM \""},{"line_number":91,"context_line":"                     \"%(vm)s and VIOS %(vios)s.\","},{"line_number":92,"context_line":"                     {\u0027vm\u0027: self.instance.name, \u0027vios\u0027: vios_w.name},"},{"line_number":93,"context_line":"                     instance\u003dself.instance)"},{"line_number":94,"context_line":"            slot, lua \u003d slot_mgr.build_map.get_vscsi_slot(vios_w, name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_6b98cb69","line":91,"range":{"start_line":91,"start_character":22,"end_line":91,"end_character":28},"updated":"2017-08-22 20:56:58.000000000","message":"can leave this out; instance\u003dself.instance gives us what we need.","commit_id":"f6ba7e23c56adb6e9705eb9726273a8ee0a6763c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"1a34256fdb161c6887f9bd26f7fca46e1540a117","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            if slot_mgr.is_rebuild and not slot:"},{"line_number":96,"context_line":"                LOG.debug(\u0027Detected a device with path %s on VIOS %s on the \u0027"},{"line_number":97,"context_line":"                          \u0027rebuild that did not exist on the source.  \u0027"},{"line_number":98,"context_line":"                          \u0027Ignoring.\u0027, name, vios_w.uuid)"},{"line_number":99,"context_line":"                return None"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            mapping \u003d tsk_map.build_vscsi_mapping("}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_0b9f0751","line":98,"updated":"2017-08-22 20:56:58.000000000","message":"add instance\u003d here","commit_id":"f6ba7e23c56adb6e9705eb9726273a8ee0a6763c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0dd782865bc284eac8bfa36bac595ef26aab4782","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            if vios_w.uuid not in self.vios_uuids:"},{"line_number":96,"context_line":"                return None"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"            LOG.info(\"Adding rbd disk connection between to VIOS %(vios)s.\","},{"line_number":99,"context_line":"                     {\u0027vios\u0027: vios_w.name}, instance\u003dself.instance)"},{"line_number":100,"context_line":"            slot, lua \u003d slot_mgr.build_map.get_vscsi_slot(vios_w, name)"},{"line_number":101,"context_line":"            if slot_mgr.is_rebuild and not slot:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_e94d7c72","line":98,"range":{"start_line":98,"start_character":49,"end_line":98,"end_character":56},"updated":"2017-08-25 20:49:48.000000000","message":"strike","commit_id":"8cfa92480338ccf278ca2ef97f9cf0d9e83f0cd5"},{"author":{"_account_id":21099,"name":"Taylor Jakobson","email":"tjakobs@us.ibm.com","username":"tjakobs"},"change_message_id":"b34001ca95c50269bef0cfd9b00799780d7f06c7","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            if vios_w.uuid not in self.vios_uuids:"},{"line_number":96,"context_line":"                return None"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"            LOG.info(\"Adding rbd disk connection between to VIOS %(vios)s.\","},{"line_number":99,"context_line":"                     {\u0027vios\u0027: vios_w.name}, instance\u003dself.instance)"},{"line_number":100,"context_line":"            slot, lua \u003d slot_mgr.build_map.get_vscsi_slot(vios_w, name)"},{"line_number":101,"context_line":"            if slot_mgr.is_rebuild and not slot:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_c90880da","line":98,"range":{"start_line":98,"start_character":49,"end_line":98,"end_character":56},"in_reply_to":"7f287b81_e94d7c72","updated":"2017-08-25 21:05:01.000000000","message":"Done","commit_id":"8cfa92480338ccf278ca2ef97f9cf0d9e83f0cd5"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"6c9973c306fcbade9958cb29404e676f5594aa8f","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":"import abc"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from taskflow import task"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_c5ee7b8a","line":17,"updated":"2017-10-04 13:59:29.000000000","message":"imports are not ordered per OpenStack guidelines: https://docs.openstack.org/hacking/latest/user/hacking.html#imports\n\n... but would be harsh holding this up over that since those guidelines aren\u0027t being followed consistently elsewhere. FYI for future at least.","commit_id":"263d187215f2c02c5817598e5e436d92a9d07aa0"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"6c9973c306fcbade9958cb29404e676f5594aa8f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from pypowervm.tasks import partition"},{"line_number":30,"context_line":"from pypowervm.tasks import scsi_mapper as tsk_map"},{"line_number":31,"context_line":"from pypowervm.wrappers import storage as pvm_stg"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d cfg.CONF"},{"line_number":34,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_05581354","line":32,"updated":"2017-10-04 13:59:29.000000000","message":"another FYI... OpenStack guidelines say you need 2 blank lines after the last import.","commit_id":"263d187215f2c02c5817598e5e436d92a9d07aa0"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"6c9973c306fcbade9958cb29404e676f5594aa8f","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            return False, None"},{"line_number":178,"context_line":"        name \u003d self.connection_info[\"data\"][\"name\"]"},{"line_number":179,"context_line":"        exists \u003d hdisk.rbd_exists(self.adapter, vio_uuid, name)"},{"line_number":180,"context_line":"        return exists, name if exists else None"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_605d75e8","line":180,"range":{"start_line":180,"start_character":43,"end_line":180,"end_character":47},"updated":"2017-10-04 13:59:29.000000000","message":"this should be False, None. Might be more readable as:\n\nif not exists:\n    name \u003d None\nreturn exists, name","commit_id":"263d187215f2c02c5817598e5e436d92a9d07aa0"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"145bcd70b66a0f9e173cf1aa75949a56c5fcb10c","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            return False, None"},{"line_number":178,"context_line":"        name \u003d self.connection_info[\"data\"][\"name\"]"},{"line_number":179,"context_line":"        exists \u003d hdisk.rbd_exists(self.adapter, vio_uuid, name)"},{"line_number":180,"context_line":"        return exists, name if exists else None"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_cafe876a","line":180,"range":{"start_line":180,"start_character":43,"end_line":180,"end_character":47},"in_reply_to":"7f515b1d_605d75e8","updated":"2017-10-04 14:08:26.000000000","message":"This boggled me originally too.  It\u0027s technically correct - the implied grouping is\n\n return exists, (name if exists else None)\n\nas opposed to\n\n return (exists, name) if exists else None\n\nbut it would be way more readable as you suggest.","commit_id":"263d187215f2c02c5817598e5e436d92a9d07aa0"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"adee50bcdefd0d6bad94397a7491263d904337b3","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            return False, None"},{"line_number":178,"context_line":"        name \u003d self.connection_info[\"data\"][\"name\"]"},{"line_number":179,"context_line":"        exists \u003d hdisk.rbd_exists(self.adapter, vio_uuid, name)"},{"line_number":180,"context_line":"        return exists, name if exists else None"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_aaa22b4a","line":180,"range":{"start_line":180,"start_character":43,"end_line":180,"end_character":47},"in_reply_to":"7f515b1d_cafe876a","updated":"2017-10-04 14:12:32.000000000","message":"oh, yeah, that makes sense...\n\nI guess I\u0027d still like this improved for readability purposes, but \u003cshrug\u003e","commit_id":"263d187215f2c02c5817598e5e436d92a9d07aa0"}]}
