)]}'
{"nova_powervm/virt/powervm/disk/driver.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":216,"context_line":"            # alternative would be always checking all VIOSes for existing"},{"line_number":217,"context_line":"            # mappings, which increases the response time of the common case by"},{"line_number":218,"context_line":"            # an entire GET of VIOS+VIO_SMAP."},{"line_number":219,"context_line":"            LOG.debug(\"Mapping instance boot disk %(disk_name)s to the \""},{"line_number":220,"context_line":"                      \"management partition from Virtual I/O Server \""},{"line_number":221,"context_line":"                      \"%(vios_name)s.\", msg_args)"},{"line_number":222,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_7e170aa5","line":219,"range":{"start_line":219,"start_character":31,"end_line":219,"end_character":39},"updated":"2017-06-23 12:46:44.000000000","message":"the \u0027instance\u0027 here seems unnecessary","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":216,"context_line":"            # alternative would be always checking all VIOSes for existing"},{"line_number":217,"context_line":"            # mappings, which increases the response time of the common case by"},{"line_number":218,"context_line":"            # an entire GET of VIOS+VIO_SMAP."},{"line_number":219,"context_line":"            LOG.debug(\"Mapping instance boot disk %(disk_name)s to the \""},{"line_number":220,"context_line":"                      \"management partition from Virtual I/O Server \""},{"line_number":221,"context_line":"                      \"%(vios_name)s.\", msg_args)"},{"line_number":222,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_cf04e51a","line":219,"range":{"start_line":219,"start_character":31,"end_line":219,"end_character":39},"in_reply_to":"5f201791_7e170aa5","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":218,"context_line":"            # an entire GET of VIOS+VIO_SMAP."},{"line_number":219,"context_line":"            LOG.debug(\"Mapping instance boot disk %(disk_name)s to the \""},{"line_number":220,"context_line":"                      \"management partition from Virtual I/O Server \""},{"line_number":221,"context_line":"                      \"%(vios_name)s.\", msg_args)"},{"line_number":222,"context_line":"            try:"},{"line_number":223,"context_line":"                tsk_map.add_vscsi_mapping(self.host_uuid, vios, self.mp_uuid,"},{"line_number":224,"context_line":"                                          stg_elem)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_1e3ff625","line":221,"updated":"2017-06-23 12:46:44.000000000","message":"needs instance\u003dinstance","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":218,"context_line":"            # an entire GET of VIOS+VIO_SMAP."},{"line_number":219,"context_line":"            LOG.debug(\"Mapping instance boot disk %(disk_name)s to the \""},{"line_number":220,"context_line":"                      \"management partition from Virtual I/O Server \""},{"line_number":221,"context_line":"                      \"%(vios_name)s.\", msg_args)"},{"line_number":222,"context_line":"            try:"},{"line_number":223,"context_line":"                tsk_map.add_vscsi_mapping(self.host_uuid, vios, self.mp_uuid,"},{"line_number":224,"context_line":"                                          stg_elem)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_92005603","line":221,"in_reply_to":"5f201791_1e3ff625","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":225,"context_line":"                # If that worked, we\u0027re done.  add_vscsi_mapping logged."},{"line_number":226,"context_line":"                return stg_elem, vios"},{"line_number":227,"context_line":"            except Exception:"},{"line_number":228,"context_line":"                LOG.exception(\"Failed to map instance boot disk %(disk_name)s \""},{"line_number":229,"context_line":"                              \"to the management partition from Virtual I/O \""},{"line_number":230,"context_line":"                              \"Server %(vios_name)s.\", msg_args)"},{"line_number":231,"context_line":"                # Try the next hit, if available."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_5e0e8e8d","line":228,"range":{"start_line":228,"start_character":45,"end_line":228,"end_character":53},"updated":"2017-06-23 12:46:44.000000000","message":"s/ instance//","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":225,"context_line":"                # If that worked, we\u0027re done.  add_vscsi_mapping logged."},{"line_number":226,"context_line":"                return stg_elem, vios"},{"line_number":227,"context_line":"            except Exception:"},{"line_number":228,"context_line":"                LOG.exception(\"Failed to map instance boot disk %(disk_name)s \""},{"line_number":229,"context_line":"                              \"to the management partition from Virtual I/O \""},{"line_number":230,"context_line":"                              \"Server %(vios_name)s.\", msg_args)"},{"line_number":231,"context_line":"                # Try the next hit, if available."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_12144643","line":228,"range":{"start_line":228,"start_character":45,"end_line":228,"end_character":53},"in_reply_to":"5f201791_5e0e8e8d","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":227,"context_line":"            except Exception:"},{"line_number":228,"context_line":"                LOG.exception(\"Failed to map instance boot disk %(disk_name)s \""},{"line_number":229,"context_line":"                              \"to the management partition from Virtual I/O \""},{"line_number":230,"context_line":"                              \"Server %(vios_name)s.\", msg_args)"},{"line_number":231,"context_line":"                # Try the next hit, if available."},{"line_number":232,"context_line":"        # We either didn\u0027t find the boot dev, or failed all attempts to map it."},{"line_number":233,"context_line":"        raise npvmex.InstanceDiskMappingFailed(instance_name\u003dinstance.name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_be4362af","line":230,"updated":"2017-06-23 12:46:44.000000000","message":"needs instance\u003dinstance","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":227,"context_line":"            except Exception:"},{"line_number":228,"context_line":"                LOG.exception(\"Failed to map instance boot disk %(disk_name)s \""},{"line_number":229,"context_line":"                              \"to the management partition from Virtual I/O \""},{"line_number":230,"context_line":"                              \"Server %(vios_name)s.\", msg_args)"},{"line_number":231,"context_line":"                # Try the next hit, if available."},{"line_number":232,"context_line":"        # We either didn\u0027t find the boot dev, or failed all attempts to map it."},{"line_number":233,"context_line":"        raise npvmex.InstanceDiskMappingFailed(instance_name\u003dinstance.name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_d2192e7a","line":230,"in_reply_to":"5f201791_be4362af","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/disk/ssp.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"a1e0615621e42fdfbf78cca1747d073e67ca0250","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    def _create_disk_from_image(self, context, instance, image_meta,"},{"line_number":200,"context_line":"                                image_type\u003ddisk_drv.DiskType.BOOT):"},{"line_number":201,"context_line":"        \"\"\"Creates a boot disk and links the specified image to it."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        If the specified image has not already been uploaded, an Image LU is"},{"line_number":204,"context_line":"        created for it.  A Disk LU is then created for the instance and linked"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_d3b91479","line":201,"range":{"start_line":201,"start_character":19,"end_line":201,"end_character":30},"updated":"2017-06-27 14:34:17.000000000","message":"if this was always a boot disk, then taking image_type as input and logging it below would not be necessary. It looks like this was done to support rescue disks as used in the flow starting at https://github.com/openstack/nova-powervm/blob/b8d58e598d1e3c2e5fb1ed47cf317e0953588643/nova_powervm/virt/powervm/driver.py#L858 but someone messed up the comment with https://github.com/openstack/nova-powervm/commit/48dfccad0731d0376f5675f03cce580250f2c9d0","commit_id":"2d1674a9c3e7aee4f23d21603a5f35ea8c00e667"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0838521d85c1ef856ed5cbd20b51fc0aa23ab325","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    def _create_disk_from_image(self, context, instance, image_meta,"},{"line_number":200,"context_line":"                                image_type\u003ddisk_drv.DiskType.BOOT):"},{"line_number":201,"context_line":"        \"\"\"Creates a boot disk and links the specified image to it."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        If the specified image has not already been uploaded, an Image LU is"},{"line_number":204,"context_line":"        created for it.  A Disk LU is then created for the instance and linked"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_19b1e6e1","line":201,"range":{"start_line":201,"start_character":19,"end_line":201,"end_character":30},"in_reply_to":"5f201791_d3b91479","updated":"2017-06-27 14:56:23.000000000","message":"Fixed up the comments (here and in driver.py)","commit_id":"2d1674a9c3e7aee4f23d21603a5f35ea8c00e667"}],"nova_powervm/virt/powervm/event.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"a1e0615621e42fdfbf78cca1747d073e67ca0250","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            pvm_state \u003d vm.get_vm_qp(self._driver.adapter, pvm_uuid,"},{"line_number":176,"context_line":"                                     \u0027PartitionState\u0027)"},{"line_number":177,"context_line":"        except exception.InstanceNotFound:"},{"line_number":178,"context_line":"            LOG.debug(\"Instance for LPAR %s was deleted while event was \""},{"line_number":179,"context_line":"                      \"delayed.\", pvm_uuid, instance\u003dinst)"},{"line_number":180,"context_line":"            return"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_21534e19","line":178,"range":{"start_line":178,"start_character":23,"end_line":178,"end_character":37},"updated":"2017-06-27 14:34:17.000000000","message":"I think we need to remove the \"Instance for\" bit. The LPAR has been deleted, but we don\u0027t know whether that was done via OpenStack (i.e. Instance deleted) or out-of-band, do we?","commit_id":"2d1674a9c3e7aee4f23d21603a5f35ea8c00e667"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0838521d85c1ef856ed5cbd20b51fc0aa23ab325","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            pvm_state \u003d vm.get_vm_qp(self._driver.adapter, pvm_uuid,"},{"line_number":176,"context_line":"                                     \u0027PartitionState\u0027)"},{"line_number":177,"context_line":"        except exception.InstanceNotFound:"},{"line_number":178,"context_line":"            LOG.debug(\"Instance for LPAR %s was deleted while event was \""},{"line_number":179,"context_line":"                      \"delayed.\", pvm_uuid, instance\u003dinst)"},{"line_number":180,"context_line":"            return"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_390b82d6","line":178,"range":{"start_line":178,"start_character":23,"end_line":178,"end_character":37},"in_reply_to":"5f201791_21534e19","updated":"2017-06-27 14:56:23.000000000","message":"Yeah, actually we don\u0027t know anything about the instance at this point.  Will fix.","commit_id":"2d1674a9c3e7aee4f23d21603a5f35ea8c00e667"}],"nova_powervm/virt/powervm/live_migration.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":440,"context_line":"                self.migration_recover()"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"        except Exception:"},{"line_number":443,"context_line":"            LOG.exception(\"Migration recover failed.\", instance\u003dself.instance)"},{"line_number":444,"context_line":"        finally:"},{"line_number":445,"context_line":"            LOG.debug(\"Finished migration rollback.\", instance\u003dself.instance)"},{"line_number":446,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_bec0022c","line":443,"range":{"start_line":443,"start_character":37,"end_line":443,"end_character":44},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027recovery\u0027, or better yet \u0027rollback\u0027 since that\u0027s what the method name and other message say.","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":440,"context_line":"                self.migration_recover()"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"        except Exception:"},{"line_number":443,"context_line":"            LOG.exception(\"Migration recover failed.\", instance\u003dself.instance)"},{"line_number":444,"context_line":"        finally:"},{"line_number":445,"context_line":"            LOG.debug(\"Finished migration rollback.\", instance\u003dself.instance)"},{"line_number":446,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_722eda92","line":443,"range":{"start_line":443,"start_character":37,"end_line":443,"end_character":44},"in_reply_to":"5f201791_bec0022c","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/media.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        :return iso_path: The path to the ISO"},{"line_number":98,"context_line":"        :return file_name: The file name for the ISO"},{"line_number":99,"context_line":"        \"\"\""},{"line_number":100,"context_line":"        LOG.info(\"Creating config drive for instance\", instance\u003dinstance)"},{"line_number":101,"context_line":"        extra_md \u003d {}"},{"line_number":102,"context_line":"        if admin_pass is not None:"},{"line_number":103,"context_line":"            extra_md[\u0027admin_pass\u0027] \u003d admin_pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_deda9e15","line":100,"range":{"start_line":100,"start_character":40,"end_line":100,"end_character":52},"updated":"2017-06-23 12:46:44.000000000","message":"the \u0027for instance\u0027 seems unnecessary","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        :return iso_path: The path to the ISO"},{"line_number":98,"context_line":"        :return file_name: The file name for the ISO"},{"line_number":99,"context_line":"        \"\"\""},{"line_number":100,"context_line":"        LOG.info(\"Creating config drive for instance\", instance\u003dinstance)"},{"line_number":101,"context_line":"        extra_md \u003d {}"},{"line_number":102,"context_line":"        if admin_pass is not None:"},{"line_number":103,"context_line":"            extra_md[\u0027admin_pass\u0027] \u003d admin_pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f239cad6","line":100,"range":{"start_line":100,"start_character":40,"end_line":100,"end_character":52},"in_reply_to":"5f201791_deda9e15","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        # Define the function to build and add the mapping"},{"line_number":209,"context_line":"        def add_func(vios_w):"},{"line_number":210,"context_line":"            LOG.info(\"Adding cfg drive mapping for instance to Virtual I/O \""},{"line_number":211,"context_line":"                     \"Server %(vios)s\","},{"line_number":212,"context_line":"                     {\u0027vios\u0027: vios_w.name}, instance\u003dinstance)"},{"line_number":213,"context_line":"            mapping \u003d tsk_map.build_vscsi_mapping(self.host_uuid, vios_w,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_fef43a89","line":210,"updated":"2017-06-23 12:46:44.000000000","message":"s/cfg/config/ and s/ for instance//","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        # Define the function to build and add the mapping"},{"line_number":209,"context_line":"        def add_func(vios_w):"},{"line_number":210,"context_line":"            LOG.info(\"Adding cfg drive mapping for instance to Virtual I/O \""},{"line_number":211,"context_line":"                     \"Server %(vios)s\","},{"line_number":212,"context_line":"                     {\u0027vios\u0027: vios_w.name}, instance\u003dinstance)"},{"line_number":213,"context_line":"            mapping \u003d tsk_map.build_vscsi_mapping(self.host_uuid, vios_w,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_5254fefd","line":210,"in_reply_to":"5f201791_fef43a89","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/nvram/swift.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":216,"context_line":"                    data \u003d data.encode(\u0027ascii\u0027)"},{"line_number":217,"context_line":"                md5 \u003d hashlib.md5(data).hexdigest()"},{"line_number":218,"context_line":"                if existing_hash \u003d\u003d md5:"},{"line_number":219,"context_line":"                    LOG.info(\u0027Instance NVRAM has not changed.\u0027,"},{"line_number":220,"context_line":"                             instance\u003dinstance)"},{"line_number":221,"context_line":"                    return"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_3e5f5273","line":219,"range":{"start_line":219,"start_character":30,"end_line":219,"end_character":38},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027Instance\u0027 seems unnecessary","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":216,"context_line":"                    data \u003d data.encode(\u0027ascii\u0027)"},{"line_number":217,"context_line":"                md5 \u003d hashlib.md5(data).hexdigest()"},{"line_number":218,"context_line":"                if existing_hash \u003d\u003d md5:"},{"line_number":219,"context_line":"                    LOG.info(\u0027Instance NVRAM has not changed.\u0027,"},{"line_number":220,"context_line":"                             instance\u003dinstance)"},{"line_number":221,"context_line":"                    return"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f23e6ab6","line":219,"range":{"start_line":219,"start_character":30,"end_line":219,"end_character":38},"in_reply_to":"5f201791_3e5f5273","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/tasks/image.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def execute(self, disk_path):"},{"line_number":74,"context_line":"        metadata \u003d image.snapshot_metadata(self.context, self.image_api,"},{"line_number":75,"context_line":"                                           self.image_id, self.instance)"},{"line_number":76,"context_line":"        LOG.info(\"Starting stream of instance boot device (local blockdev \""},{"line_number":77,"context_line":"                 \"%(devpath)s) to glance image %(img_id)s.\","},{"line_number":78,"context_line":"                 {\u0027devpath\u0027: disk_path, \u0027img_id\u0027: self.image_id},"},{"line_number":79,"context_line":"                 instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_fed55ab8","line":76,"range":{"start_line":76,"start_character":37,"end_line":76,"end_character":45},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027instance\u0027 seems unnecessary","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def execute(self, disk_path):"},{"line_number":74,"context_line":"        metadata \u003d image.snapshot_metadata(self.context, self.image_api,"},{"line_number":75,"context_line":"                                           self.image_id, self.instance)"},{"line_number":76,"context_line":"        LOG.info(\"Starting stream of instance boot device (local blockdev \""},{"line_number":77,"context_line":"                 \"%(devpath)s) to glance image %(img_id)s.\","},{"line_number":78,"context_line":"                 {\u0027devpath\u0027: disk_path, \u0027img_id\u0027: self.image_id},"},{"line_number":79,"context_line":"                 instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_526d1eca","line":76,"range":{"start_line":76,"start_character":37,"end_line":76,"end_character":45},"in_reply_to":"5f201791_fed55ab8","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/tasks/network.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        modifiable, reason \u003d lpar_wrap.can_modify_io()"},{"line_number":62,"context_line":"        if not modifiable:"},{"line_number":63,"context_line":"            LOG.error(\u0027Unable to remove VIFs because the system is not in a \u0027"},{"line_number":64,"context_line":"                      \u0027correct state. The reason reported by the system is: \u0027"},{"line_number":65,"context_line":"                      \u0027%(reason)s\u0027,"},{"line_number":66,"context_line":"                      {\u0027inst\u0027: self.instance.name, \u0027reason\u0027: reason},"},{"line_number":67,"context_line":"                      instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_5e9fae02","line":64,"updated":"2017-06-23 12:46:44.000000000","message":"correct doesn\u0027t seem like the right word here, and system is pretty vague. Maybe \u0027Unable to remove VIFs in the instance\u0027s current state.\u0027","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        modifiable, reason \u003d lpar_wrap.can_modify_io()"},{"line_number":62,"context_line":"        if not modifiable:"},{"line_number":63,"context_line":"            LOG.error(\u0027Unable to remove VIFs because the system is not in a \u0027"},{"line_number":64,"context_line":"                      \u0027correct state. The reason reported by the system is: \u0027"},{"line_number":65,"context_line":"                      \u0027%(reason)s\u0027,"},{"line_number":66,"context_line":"                      {\u0027inst\u0027: self.instance.name, \u0027reason\u0027: reason},"},{"line_number":67,"context_line":"                      instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_32806246","line":64,"in_reply_to":"5f201791_5e9fae02","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        # Check to see if the LPAR is OK to add VIFs to."},{"line_number":150,"context_line":"        modifiable, reason \u003d lpar_wrap.can_modify_io()"},{"line_number":151,"context_line":"        if not modifiable and self.crt_network_infos:"},{"line_number":152,"context_line":"            LOG.error(\u0027Unable to create VIF(s).  The VM was in a state where \u0027"},{"line_number":153,"context_line":"                      \u0027VIF plugging is not acceptable.  The reason from the \u0027"},{"line_number":154,"context_line":"                      \u0027system is: %(reason)s\u0027,"},{"line_number":155,"context_line":"                      {\u0027reason\u0027: reason}, instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_fe71dadf","line":152,"updated":"2017-06-23 12:46:44.000000000","message":"matching the suggestion above, something like \u0027Unable to create VIFs in the instance\u0027s current state. The reason reported by the system is: \u0027","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        # Check to see if the LPAR is OK to add VIFs to."},{"line_number":150,"context_line":"        modifiable, reason \u003d lpar_wrap.can_modify_io()"},{"line_number":151,"context_line":"        if not modifiable and self.crt_network_infos:"},{"line_number":152,"context_line":"            LOG.error(\u0027Unable to create VIF(s).  The VM was in a state where \u0027"},{"line_number":153,"context_line":"                      \u0027VIF plugging is not acceptable.  The reason from the \u0027"},{"line_number":154,"context_line":"                      \u0027system is: %(reason)s\u0027,"},{"line_number":155,"context_line":"                      {\u0027reason\u0027: reason}, instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_52f07efd","line":152,"in_reply_to":"5f201791_fe71dadf","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        return self.cnas"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def _vif_callback_failed(self, event_name, instance):"},{"line_number":214,"context_line":"        LOG.error(\u0027VIF Plug failure for callback on event %(event)s.\u0027,"},{"line_number":215,"context_line":"                  {\u0027event\u0027: event_name}, instance\u003dinstance)"},{"line_number":216,"context_line":"        if CONF.vif_plugging_is_fatal:"},{"line_number":217,"context_line":"            raise exception.VirtualInterfaceCreateException()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_de597e5a","line":214,"range":{"start_line":214,"start_character":23,"end_line":214,"end_character":27},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027Plug\u0027 should not be capitalized.","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        return self.cnas"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def _vif_callback_failed(self, event_name, instance):"},{"line_number":214,"context_line":"        LOG.error(\u0027VIF Plug failure for callback on event %(event)s.\u0027,"},{"line_number":215,"context_line":"                  {\u0027event\u0027: event_name}, instance\u003dinstance)"},{"line_number":216,"context_line":"        if CONF.vif_plugging_is_fatal:"},{"line_number":217,"context_line":"            raise exception.VirtualInterfaceCreateException()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_12de866c","line":214,"range":{"start_line":214,"start_character":23,"end_line":214,"end_character":27},"in_reply_to":"5f201791_de597e5a","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # The parameters have to match the execute method, plus the response +"},{"line_number":243,"context_line":"        # failures even if only a subset are used."},{"line_number":244,"context_line":"        LOG.warning(\u0027VIF creation being rolled back.\u0027, instance\u003dself.instance)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        # Get the current adapters on the system"},{"line_number":247,"context_line":"        cna_w_list \u003d vm.get_cnas(self.adapter, self.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_7e34aafb","line":244,"range":{"start_line":244,"start_character":34,"end_line":244,"end_character":39},"updated":"2017-06-23 12:46:44.000000000","message":"is being","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # The parameters have to match the execute method, plus the response +"},{"line_number":243,"context_line":"        # failures even if only a subset are used."},{"line_number":244,"context_line":"        LOG.warning(\u0027VIF creation being rolled back.\u0027, instance\u003dself.instance)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        # Get the current adapters on the system"},{"line_number":247,"context_line":"        cna_w_list \u003d vm.get_cnas(self.adapter, self.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f2daea75","line":244,"range":{"start_line":244,"start_character":34,"end_line":244,"end_character":39},"in_reply_to":"5f201791_7e34aafb","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        # return None because the Config Drive step (which may be used...may"},{"line_number":287,"context_line":"        # not be) required the mgmt vif."},{"line_number":288,"context_line":"        if not CONF.powervm.use_rmc_mgmt_vif:"},{"line_number":289,"context_line":"            LOG.debug(\u0027No management VIF created as the conf option \u0027"},{"line_number":290,"context_line":"                      \u0027use_rmc_mgmt_vif is set to False\u0027,"},{"line_number":291,"context_line":"                      instance\u003dself.instance)"},{"line_number":292,"context_line":"            return None"},{"line_number":293,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_1e25b6c2","line":290,"range":{"start_line":289,"start_character":49,"end_line":290,"end_character":55},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027because CONF.powervm.use_rmc_mgmt_vif\u003dFalse\u0027","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        # return None because the Config Drive step (which may be used...may"},{"line_number":287,"context_line":"        # not be) required the mgmt vif."},{"line_number":288,"context_line":"        if not CONF.powervm.use_rmc_mgmt_vif:"},{"line_number":289,"context_line":"            LOG.debug(\u0027No management VIF created as the conf option \u0027"},{"line_number":290,"context_line":"                      \u0027use_rmc_mgmt_vif is set to False\u0027,"},{"line_number":291,"context_line":"                      instance\u003dself.instance)"},{"line_number":292,"context_line":"            return None"},{"line_number":293,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_923856a0","line":290,"range":{"start_line":289,"start_character":49,"end_line":290,"end_character":55},"in_reply_to":"5f201791_1e25b6c2","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                      instance\u003dself.instance)"},{"line_number":292,"context_line":"            return None"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        LOG.info(\u0027Plugging the Management Network Interface.\u0027,"},{"line_number":295,"context_line":"                 instance\u003dself.instance)"},{"line_number":296,"context_line":"        # Determine if we need to create the secure RMC VIF.  This should only"},{"line_number":297,"context_line":"        # be needed if there is not a VIF on the secure RMC vSwitch"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_7902840b","line":294,"range":{"start_line":294,"start_character":31,"end_line":294,"end_character":59},"updated":"2017-06-23 12:46:44.000000000","message":"unnecessary capitalization","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                      instance\u003dself.instance)"},{"line_number":292,"context_line":"            return None"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        LOG.info(\u0027Plugging the Management Network Interface.\u0027,"},{"line_number":295,"context_line":"                 instance\u003dself.instance)"},{"line_number":296,"context_line":"        # Determine if we need to create the secure RMC VIF.  This should only"},{"line_number":297,"context_line":"        # be needed if there is not a VIF on the secure RMC vSwitch"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_723dba8d","line":294,"range":{"start_line":294,"start_character":31,"end_line":294,"end_character":59},"in_reply_to":"5f201791_7902840b","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        # be needed if there is not a VIF on the secure RMC vSwitch"},{"line_number":298,"context_line":"        vswitch \u003d vif.get_secure_rmc_vswitch(self.adapter, self.host_uuid)"},{"line_number":299,"context_line":"        if vswitch is None:"},{"line_number":300,"context_line":"            LOG.warning(\u0027No management VIF created due to lack of Management \u0027"},{"line_number":301,"context_line":"                        \u0027Virtual Switch\u0027, instance\u003dself.instance)"},{"line_number":302,"context_line":"            return None"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        # This next check verifies that there are no existing NICs on the"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_5909082a","line":301,"range":{"start_line":300,"start_character":66,"end_line":301,"end_character":39},"updated":"2017-06-23 12:46:44.000000000","message":"unnecessary capitalization","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        # be needed if there is not a VIF on the secure RMC vSwitch"},{"line_number":298,"context_line":"        vswitch \u003d vif.get_secure_rmc_vswitch(self.adapter, self.host_uuid)"},{"line_number":299,"context_line":"        if vswitch is None:"},{"line_number":300,"context_line":"            LOG.warning(\u0027No management VIF created due to lack of Management \u0027"},{"line_number":301,"context_line":"                        \u0027Virtual Switch\u0027, instance\u003dself.instance)"},{"line_number":302,"context_line":"            return None"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        # This next check verifies that there are no existing NICs on the"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f248aa2d","line":301,"range":{"start_line":300,"start_character":66,"end_line":301,"end_character":39},"in_reply_to":"5f201791_5909082a","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/tasks/storage.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    def revert(self, result, flow_failures):"},{"line_number":56,"context_line":"        # The parameters have to match the execute method, plus the response +"},{"line_number":57,"context_line":"        # failures even if only a subset are used."},{"line_number":58,"context_line":"        LOG.warning(\u0027Volume %(vol)s for to be disconnected\u0027,"},{"line_number":59,"context_line":"                    {\u0027vol\u0027: self.vol_id}, instance\u003dself.vol_drv.instance)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        # Note that the rollback is *instant*.  Resetting the FeedTask ensures"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f93694e7","line":58,"updated":"2017-06-23 12:46:44.000000000","message":"s/ for// or better yet reword this whole message to something like \u0027Rolling back connection to volume %(vol)s\u0027","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    def revert(self, result, flow_failures):"},{"line_number":56,"context_line":"        # The parameters have to match the execute method, plus the response +"},{"line_number":57,"context_line":"        # failures even if only a subset are used."},{"line_number":58,"context_line":"        LOG.warning(\u0027Volume %(vol)s for to be disconnected\u0027,"},{"line_number":59,"context_line":"                    {\u0027vol\u0027: self.vol_id}, instance\u003dself.vol_drv.instance)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        # Note that the rollback is *instant*.  Resetting the FeedTask ensures"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_325ce2eb","line":58,"in_reply_to":"5f201791_f93694e7","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        except npvmex.VolumeDetachFailed:"},{"line_number":71,"context_line":"            # Only log that the volume detach failed.  Should not be blocking"},{"line_number":72,"context_line":"            # due to being in the revert flow."},{"line_number":73,"context_line":"            LOG.exception(\"Unable to disconnect volume during rollback.\","},{"line_number":74,"context_line":"                          instance\u003dself.vol_drv.instance)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_79ecc428","line":73,"updated":"2017-06-23 12:46:44.000000000","message":"should include vol_id","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        except npvmex.VolumeDetachFailed:"},{"line_number":71,"context_line":"            # Only log that the volume detach failed.  Should not be blocking"},{"line_number":72,"context_line":"            # due to being in the revert flow."},{"line_number":73,"context_line":"            LOG.exception(\"Unable to disconnect volume during rollback.\","},{"line_number":74,"context_line":"                          instance\u003dself.vol_drv.instance)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_322aa22b","line":73,"in_reply_to":"5f201791_79ecc428","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    def revert(self, result, flow_failures):"},{"line_number":102,"context_line":"        # The parameters have to match the execute method, plus the response +"},{"line_number":103,"context_line":"        # failures even if only a subset are used."},{"line_number":104,"context_line":"        LOG.warning(\u0027Volume %(vol)s to be re-connected.\u0027,"},{"line_number":105,"context_line":"                    {\u0027vol\u0027: self.vol_id}, instance\u003dself.vol_drv.instance)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # Note that the rollback is *instant*.  Resetting the FeedTask ensures"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_99844060","line":104,"updated":"2017-06-23 12:46:44.000000000","message":"consistent with above, something like \u0027Rolling back disconnection of volume %(vol)s\u0027","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    def revert(self, result, flow_failures):"},{"line_number":102,"context_line":"        # The parameters have to match the execute method, plus the response +"},{"line_number":103,"context_line":"        # failures even if only a subset are used."},{"line_number":104,"context_line":"        LOG.warning(\u0027Volume %(vol)s to be re-connected.\u0027,"},{"line_number":105,"context_line":"                    {\u0027vol\u0027: self.vol_id}, instance\u003dself.vol_drv.instance)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # Note that the rollback is *instant*.  Resetting the FeedTask ensures"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_92d4d621","line":104,"in_reply_to":"5f201791_99844060","updated":"2017-06-26 16:43:23.000000000","message":"Not a fan of the double negative there.  I\u0027d like to keep this one.","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        except npvmex.VolumeAttachFailed:"},{"line_number":118,"context_line":"            # Only log that the volume attach failed.  Should not be blocking"},{"line_number":119,"context_line":"            # due to being in the revert flow.  See comment above."},{"line_number":120,"context_line":"            LOG.exception(\"Unable to re-connect volume during rollback.\","},{"line_number":121,"context_line":"                          instance\u003dself.vol_drv.instance)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_59f3480b","line":120,"updated":"2017-06-23 12:46:44.000000000","message":"should include vol_id","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        except npvmex.VolumeAttachFailed:"},{"line_number":118,"context_line":"            # Only log that the volume attach failed.  Should not be blocking"},{"line_number":119,"context_line":"            # due to being in the revert flow.  See comment above."},{"line_number":120,"context_line":"            LOG.exception(\"Unable to re-connect volume during rollback.\","},{"line_number":121,"context_line":"                          instance\u003dself.vol_drv.instance)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_d2edaef0","line":120,"in_reply_to":"5f201791_59f3480b","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":268,"context_line":"        if self.vios_wrap is None or self.stg_elem is None:"},{"line_number":269,"context_line":"            # We never even got connected - nothing to do"},{"line_number":270,"context_line":"            return"},{"line_number":271,"context_line":"        LOG.warning(\"Unmapping instance boot disk %(disk_name)s from \""},{"line_number":272,"context_line":"                    \"management partition via Virtual I/O Server %(vioname)s.\","},{"line_number":273,"context_line":"                    {\u0027disk_name\u0027: self.stg_elem.name,"},{"line_number":274,"context_line":"                     \u0027vioname\u0027: self.vios_wrap.name}, instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_9937a0b1","line":271,"range":{"start_line":271,"start_character":31,"end_line":271,"end_character":39},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027instance\u0027 seems unnecessary here and s/from/from the/","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":268,"context_line":"        if self.vios_wrap is None or self.stg_elem is None:"},{"line_number":269,"context_line":"            # We never even got connected - nothing to do"},{"line_number":270,"context_line":"            return"},{"line_number":271,"context_line":"        LOG.warning(\"Unmapping instance boot disk %(disk_name)s from \""},{"line_number":272,"context_line":"                    \"management partition via Virtual I/O Server %(vioname)s.\","},{"line_number":273,"context_line":"                    {\u0027disk_name\u0027: self.stg_elem.name,"},{"line_number":274,"context_line":"                     \u0027vioname\u0027: self.vios_wrap.name}, instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f2cd4a85","line":271,"range":{"start_line":271,"start_character":31,"end_line":271,"end_character":39},"in_reply_to":"5f201791_9937a0b1","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":323,"context_line":"        # stg_elem is None if boot disk was not mapped to management partition"},{"line_number":324,"context_line":"        if stg_elem is None:"},{"line_number":325,"context_line":"            return"},{"line_number":326,"context_line":"        LOG.info(\"Unmapping instance boot disk %(disk_name)s from management \""},{"line_number":327,"context_line":"                 \"partition via Virtual I/O Server %(vios_name)s.\","},{"line_number":328,"context_line":"                 {\u0027disk_name\u0027: stg_elem.name, \u0027vios_name\u0027: vios_wrap.name},"},{"line_number":329,"context_line":"                 instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_194b902b","line":326,"range":{"start_line":326,"start_character":28,"end_line":326,"end_character":36},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027instance\u0027 seems unnecessary here, and s/from/from the/","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":323,"context_line":"        # stg_elem is None if boot disk was not mapped to management partition"},{"line_number":324,"context_line":"        if stg_elem is None:"},{"line_number":325,"context_line":"            return"},{"line_number":326,"context_line":"        LOG.info(\"Unmapping instance boot disk %(disk_name)s from management \""},{"line_number":327,"context_line":"                 \"partition via Virtual I/O Server %(vios_name)s.\","},{"line_number":328,"context_line":"                 {\u0027disk_name\u0027: stg_elem.name, \u0027vios_name\u0027: vios_wrap.name},"},{"line_number":329,"context_line":"                 instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_72a7fabe","line":326,"range":{"start_line":326,"start_character":28,"end_line":326,"end_character":36},"in_reply_to":"5f201791_194b902b","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        super(ExtendDisk, self).__init__(\u0027extend_disk_%s\u0027 % disk_info[\u0027type\u0027])"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    def execute(self):"},{"line_number":550,"context_line":"        LOG.info(\u0027Extending disk size of disk: %(disk)s size: %(size)s.\u0027,"},{"line_number":551,"context_line":"                 {\u0027disk\u0027: self.disk_info[\u0027type\u0027], \u0027size\u0027: self.size},"},{"line_number":552,"context_line":"                 instance\u003dself.instance)"},{"line_number":553,"context_line":"        self.disk_dvr.extend_disk(self.instance, self.disk_info, self.size)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_b9fdbcb2","line":550,"updated":"2017-06-23 12:46:44.000000000","message":"this needs to be reworded or at least throw a comma between the disk var and \u0027 size:\u0027","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        super(ExtendDisk, self).__init__(\u0027extend_disk_%s\u0027 % disk_info[\u0027type\u0027])"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    def execute(self):"},{"line_number":550,"context_line":"        LOG.info(\u0027Extending disk size of disk: %(disk)s size: %(size)s.\u0027,"},{"line_number":551,"context_line":"                 {\u0027disk\u0027: self.disk_info[\u0027type\u0027], \u0027size\u0027: self.size},"},{"line_number":552,"context_line":"                 instance\u003dself.instance)"},{"line_number":553,"context_line":"        self.disk_dvr.extend_disk(self.instance, self.disk_info, self.size)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_b2ed92b8","line":550,"in_reply_to":"5f201791_b9fdbcb2","updated":"2017-06-26 16:43:23.000000000","message":"Yeah, this is pretty awful.  %(disk)s is actually the disk type, which in current usage, is always \u0027boot\u0027.  This doesn\u0027t translate well no matter how you word it, so it\u0027s a good thing we\u0027re not translating ;-)","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"719c361226454d5ded1edd2f8efb734f5c71ea2e","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    def revert(self, result, flow_failures):"},{"line_number":102,"context_line":"        # The parameters have to match the execute method, plus the response +"},{"line_number":103,"context_line":"        # failures even if only a subset are used."},{"line_number":104,"context_line":"        LOG.warning(\u0027Volume %(vol)s to be re-connected.\u0027,"},{"line_number":105,"context_line":"                    {\u0027vol\u0027: self.vol_id}, instance\u003dself.vol_drv.instance)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # Note that the rollback is *instant*.  Resetting the FeedTask ensures"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_9d1bc77f","line":104,"updated":"2017-06-26 17:29:22.000000000","message":"Would you agree with something like \"Reconnecting volume %(vol)s on disconnect rollback.\"?","commit_id":"c61aada7f233338e51a4ef796aa543bd356cf470"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"6c8508b713eab0782fd090fb6b9bb78fe89b2083","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    def revert(self, result, flow_failures):"},{"line_number":102,"context_line":"        # The parameters have to match the execute method, plus the response +"},{"line_number":103,"context_line":"        # failures even if only a subset are used."},{"line_number":104,"context_line":"        LOG.warning(\u0027Volume %(vol)s to be re-connected.\u0027,"},{"line_number":105,"context_line":"                    {\u0027vol\u0027: self.vol_id}, instance\u003dself.vol_drv.instance)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # Note that the rollback is *instant*.  Resetting the FeedTask ensures"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_eb742c6a","line":104,"in_reply_to":"5f201791_9d1bc77f","updated":"2017-06-26 21:35:58.000000000","message":"Done","commit_id":"c61aada7f233338e51a4ef796aa543bd356cf470"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"719c361226454d5ded1edd2f8efb734f5c71ea2e","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        super(ExtendDisk, self).__init__(\u0027extend_disk_%s\u0027 % disk_info[\u0027type\u0027])"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    def execute(self):"},{"line_number":550,"context_line":"        LOG.info(\u0027Extending %(disk)s disk to %(size)s GB.\u0027,"},{"line_number":551,"context_line":"                 {\u0027disk\u0027: self.disk_info[\u0027type\u0027], \u0027size\u0027: self.size},"},{"line_number":552,"context_line":"                 instance\u003dself.instance)"},{"line_number":553,"context_line":"        self.disk_dvr.extend_disk(self.instance, self.disk_info, self.size)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_782eb992","line":550,"range":{"start_line":550,"start_character":30,"end_line":550,"end_character":34},"updated":"2017-06-26 17:29:22.000000000","message":"let\u0027s rename \"disk\" to \"disk_type\" to make it clearer what that is, or say \"disk of type %(type)s\" or something.","commit_id":"c61aada7f233338e51a4ef796aa543bd356cf470"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"6c8508b713eab0782fd090fb6b9bb78fe89b2083","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        super(ExtendDisk, self).__init__(\u0027extend_disk_%s\u0027 % disk_info[\u0027type\u0027])"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    def execute(self):"},{"line_number":550,"context_line":"        LOG.info(\u0027Extending %(disk)s disk to %(size)s GB.\u0027,"},{"line_number":551,"context_line":"                 {\u0027disk\u0027: self.disk_info[\u0027type\u0027], \u0027size\u0027: self.size},"},{"line_number":552,"context_line":"                 instance\u003dself.instance)"},{"line_number":553,"context_line":"        self.disk_dvr.extend_disk(self.instance, self.disk_info, self.size)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_ab6ab47d","line":550,"range":{"start_line":550,"start_character":30,"end_line":550,"end_character":34},"in_reply_to":"5f201791_782eb992","updated":"2017-06-26 21:35:58.000000000","message":"Done","commit_id":"c61aada7f233338e51a4ef796aa543bd356cf470"}],"nova_powervm/virt/powervm/tasks/vm.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    def execute(self):"},{"line_number":99,"context_line":"        data \u003d None"},{"line_number":100,"context_line":"        if self.nvram_mgr is not None:"},{"line_number":101,"context_line":"            LOG.info(\u0027Fetching instance NVRAM.\u0027, instance\u003dself.instance)"},{"line_number":102,"context_line":"            data \u003d self.nvram_mgr.fetch(self.instance)"},{"line_number":103,"context_line":"            LOG.debug(\u0027NVRAM data is: %s\u0027, data, instance\u003dself.instance)"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f91c5414","line":101,"range":{"start_line":101,"start_character":31,"end_line":101,"end_character":39},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027instance\u0027 seems unnecessary","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    def execute(self):"},{"line_number":99,"context_line":"        data \u003d None"},{"line_number":100,"context_line":"        if self.nvram_mgr is not None:"},{"line_number":101,"context_line":"            LOG.info(\u0027Fetching instance NVRAM.\u0027, instance\u003dself.instance)"},{"line_number":102,"context_line":"            data \u003d self.nvram_mgr.fetch(self.instance)"},{"line_number":103,"context_line":"            LOG.debug(\u0027NVRAM data is: %s\u0027, data, instance\u003dself.instance)"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_1229e6e4","line":101,"range":{"start_line":101,"start_character":31,"end_line":101,"end_character":39},"in_reply_to":"5f201791_f91c5414","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        vm.power_on(self.adapter, self.instance, opts\u003dself.pwr_opts)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    def revert(self, result, flow_failures):"},{"line_number":203,"context_line":"        LOG.warning(\u0027Powering off instance.\u0027, instance\u003dself.instance)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        if isinstance(result, task_fail.Failure):"},{"line_number":206,"context_line":"            # The power on itself failed...can\u0027t power off."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_d9f078cc","line":203,"updated":"2017-06-23 12:46:44.000000000","message":"As the following LOG.debug statement shows, this isn\u0027t really true... should say something like \u0027Rolling back power on\u0027","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        vm.power_on(self.adapter, self.instance, opts\u003dself.pwr_opts)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    def revert(self, result, flow_failures):"},{"line_number":203,"context_line":"        LOG.warning(\u0027Powering off instance.\u0027, instance\u003dself.instance)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        if isinstance(result, task_fail.Failure):"},{"line_number":206,"context_line":"            # The power on itself failed...can\u0027t power off."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_d2736e15","line":203,"in_reply_to":"5f201791_d9f078cc","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        try:"},{"line_number":256,"context_line":"            self.nvram_mgr.store(self.instance, immediate\u003dself.immediate)"},{"line_number":257,"context_line":"        except Exception:"},{"line_number":258,"context_line":"            LOG.exception(\u0027Unable to store instance NVRAM.\u0027,"},{"line_number":259,"context_line":"                          instance\u003dself.instance)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_99a1e0ac","line":258,"range":{"start_line":258,"start_character":43,"end_line":258,"end_character":51},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027instance\u0027 seems unnecessary","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        try:"},{"line_number":256,"context_line":"            self.nvram_mgr.store(self.instance, immediate\u003dself.immediate)"},{"line_number":257,"context_line":"        except Exception:"},{"line_number":258,"context_line":"            LOG.exception(\u0027Unable to store instance NVRAM.\u0027,"},{"line_number":259,"context_line":"                          instance\u003dself.instance)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_72681a1c","line":258,"range":{"start_line":258,"start_character":43,"end_line":258,"end_character":51},"in_reply_to":"5f201791_99a1e0ac","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            LOG.info(\"No op for NVRAM delete.\", instance\u003dself.instance)"},{"line_number":279,"context_line":"            return"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        LOG.info(\u0027Deleting instance NVRAM\u0027, instance\u003dself.instance)"},{"line_number":282,"context_line":"        try:"},{"line_number":283,"context_line":"            self.nvram_mgr.remove(self.instance)"},{"line_number":284,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_59ab4888","line":281,"range":{"start_line":281,"start_character":27,"end_line":281,"end_character":35},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027instance\u0027 seems unnecessary","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            LOG.info(\"No op for NVRAM delete.\", instance\u003dself.instance)"},{"line_number":279,"context_line":"            return"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        LOG.info(\u0027Deleting instance NVRAM\u0027, instance\u003dself.instance)"},{"line_number":282,"context_line":"        try:"},{"line_number":283,"context_line":"            self.nvram_mgr.remove(self.instance)"},{"line_number":284,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_92c85622","line":281,"range":{"start_line":281,"start_character":27,"end_line":281,"end_character":35},"in_reply_to":"5f201791_59ab4888","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        try:"},{"line_number":283,"context_line":"            self.nvram_mgr.remove(self.instance)"},{"line_number":284,"context_line":"        except Exception:"},{"line_number":285,"context_line":"            LOG.exception(\u0027Unable to delete instance NVRAM.\u0027,"},{"line_number":286,"context_line":"                          instance\u003dself.instance)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_1995d040","line":285,"range":{"start_line":285,"start_character":44,"end_line":285,"end_character":52},"updated":"2017-06-23 12:46:44.000000000","message":"\u0027instance\u0027 seems unnecessary","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        try:"},{"line_number":283,"context_line":"            self.nvram_mgr.remove(self.instance)"},{"line_number":284,"context_line":"        except Exception:"},{"line_number":285,"context_line":"            LOG.exception(\u0027Unable to delete instance NVRAM.\u0027,"},{"line_number":286,"context_line":"                          instance\u003dself.instance)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_72cdba2f","line":285,"range":{"start_line":285,"start_character":44,"end_line":285,"end_character":52},"in_reply_to":"5f201791_1995d040","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/vif.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        vnic \u003d vm.get_vnics("},{"line_number":687,"context_line":"            self.adapter, self.instance, mac\u003dmac, one_result\u003dTrue)"},{"line_number":688,"context_line":"        if not vnic:"},{"line_number":689,"context_line":"            LOG.warning(\u0027Unable to unplug VIF with mac %(mac)s.  No matching \u0027"},{"line_number":690,"context_line":"                        \u0027vNIC was found on the instance.  VIF: %(vif)s\u0027,"},{"line_number":691,"context_line":"                        {\u0027mac\u0027: mac, \u0027vif\u0027: vif}, instance\u003dself.instance)"},{"line_number":692,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_b9c01c2c","line":689,"updated":"2017-06-23 12:46:44.000000000","message":"double space","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        vnic \u003d vm.get_vnics("},{"line_number":687,"context_line":"            self.adapter, self.instance, mac\u003dmac, one_result\u003dTrue)"},{"line_number":688,"context_line":"        if not vnic:"},{"line_number":689,"context_line":"            LOG.warning(\u0027Unable to unplug VIF with mac %(mac)s.  No matching \u0027"},{"line_number":690,"context_line":"                        \u0027vNIC was found on the instance.  VIF: %(vif)s\u0027,"},{"line_number":691,"context_line":"                        {\u0027mac\u0027: mac, \u0027vif\u0027: vif}, instance\u003dself.instance)"},{"line_number":692,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_32d3c2d7","line":689,"in_reply_to":"5f201791_b9c01c2c","updated":"2017-06-26 16:43:23.000000000","message":"Done, under protest.  I am NOT going to find and \"fix\" all instances of this controversial and disputed typographical preference.","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":687,"context_line":"            self.adapter, self.instance, mac\u003dmac, one_result\u003dTrue)"},{"line_number":688,"context_line":"        if not vnic:"},{"line_number":689,"context_line":"            LOG.warning(\u0027Unable to unplug VIF with mac %(mac)s.  No matching \u0027"},{"line_number":690,"context_line":"                        \u0027vNIC was found on the instance.  VIF: %(vif)s\u0027,"},{"line_number":691,"context_line":"                        {\u0027mac\u0027: mac, \u0027vif\u0027: vif}, instance\u003dself.instance)"},{"line_number":692,"context_line":"            return None"},{"line_number":693,"context_line":"        vnic.delete()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_79e044cd","line":690,"updated":"2017-06-23 12:46:44.000000000","message":"ditto","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":687,"context_line":"            self.adapter, self.instance, mac\u003dmac, one_result\u003dTrue)"},{"line_number":688,"context_line":"        if not vnic:"},{"line_number":689,"context_line":"            LOG.warning(\u0027Unable to unplug VIF with mac %(mac)s.  No matching \u0027"},{"line_number":690,"context_line":"                        \u0027vNIC was found on the instance.  VIF: %(vif)s\u0027,"},{"line_number":691,"context_line":"                        {\u0027mac\u0027: mac, \u0027vif\u0027: vif}, instance\u003dself.instance)"},{"line_number":692,"context_line":"            return None"},{"line_number":693,"context_line":"        vnic.delete()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_12dc46e2","line":690,"in_reply_to":"5f201791_79e044cd","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":757,"context_line":"        # Find the CNA for this vif."},{"line_number":758,"context_line":"        cna_w \u003d self._find_cna_for_vif(cna_w_list, vif)"},{"line_number":759,"context_line":"        if not cna_w:"},{"line_number":760,"context_line":"            LOG.warning(\u0027Unable to unplug VIF with mac %(mac)s for.  The VIF \u0027"},{"line_number":761,"context_line":"                        \u0027was not found on the instance.\u0027,"},{"line_number":762,"context_line":"                        {\u0027mac\u0027: vif[\u0027address\u0027]}, instance\u003dself.instance)"},{"line_number":763,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_39eaccab","line":760,"updated":"2017-06-23 12:46:44.000000000","message":"double space","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":757,"context_line":"        # Find the CNA for this vif."},{"line_number":758,"context_line":"        cna_w \u003d self._find_cna_for_vif(cna_w_list, vif)"},{"line_number":759,"context_line":"        if not cna_w:"},{"line_number":760,"context_line":"            LOG.warning(\u0027Unable to unplug VIF with mac %(mac)s for.  The VIF \u0027"},{"line_number":761,"context_line":"                        \u0027was not found on the instance.\u0027,"},{"line_number":762,"context_line":"                        {\u0027mac\u0027: vif[\u0027address\u0027]}, instance\u003dself.instance)"},{"line_number":763,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_32a18247","line":760,"in_reply_to":"5f201791_39eaccab","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/volume/iscsi.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"            except Exception:"},{"line_number":164,"context_line":"                LOG.exception("},{"line_number":165,"context_line":"                    \"Disconnect Volume: Failed to find disk on Virtual I/O \""},{"line_number":166,"context_line":"                    \"Server %(vios_name)s for volume %(volume_id)s.\","},{"line_number":167,"context_line":"                    {\u0027vios_name\u0027: vios_w.name, \u0027volume_id\u0027: self.volume_id},"},{"line_number":168,"context_line":"                    instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_9978b22a","line":165,"range":{"start_line":165,"start_character":55,"end_line":165,"end_character":59},"updated":"2017-06-23 12:46:44.000000000","message":"s/disk/device/","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"            except Exception:"},{"line_number":164,"context_line":"                LOG.exception("},{"line_number":165,"context_line":"                    \"Disconnect Volume: Failed to find disk on Virtual I/O \""},{"line_number":166,"context_line":"                    \"Server %(vios_name)s for volume %(volume_id)s.\","},{"line_number":167,"context_line":"                    {\u0027vios_name\u0027: vios_w.name, \u0027volume_id\u0027: self.volume_id},"},{"line_number":168,"context_line":"                    instance\u003dself.instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_72c49af5","line":165,"range":{"start_line":165,"start_character":55,"end_line":165,"end_character":59},"in_reply_to":"5f201791_9978b22a","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/volume/npiv.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":464,"context_line":"        # set of VIOSs."},{"line_number":465,"context_line":"        if all(pvm_vfcm.find_vios_for_wwpn(vios_wraps, pm[0])[0]"},{"line_number":466,"context_line":"               for pm in npiv_port_maps):"},{"line_number":467,"context_line":"            LOG.debug(\"Physical ports check out - just return maps.\","},{"line_number":468,"context_line":"                      instance\u003dself.instance)"},{"line_number":469,"context_line":"            return npiv_port_maps"},{"line_number":470,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_59157a9b","line":467,"updated":"2017-06-23 12:46:44.000000000","message":"message could be improved","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":464,"context_line":"        # set of VIOSs."},{"line_number":465,"context_line":"        if all(pvm_vfcm.find_vios_for_wwpn(vios_wraps, pm[0])[0]"},{"line_number":466,"context_line":"               for pm in npiv_port_maps):"},{"line_number":467,"context_line":"            LOG.debug(\"Physical ports check out - just return maps.\","},{"line_number":468,"context_line":"                      instance\u003dself.instance)"},{"line_number":469,"context_line":"            return npiv_port_maps"},{"line_number":470,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_1261e605","line":467,"in_reply_to":"5f201791_59157a9b","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}],"nova_powervm/virt/powervm/volume/volume.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                         used when a volume is detached from the VM."},{"line_number":208,"context_line":"        \"\"\""},{"line_number":209,"context_line":"        def rm_func(vios_w):"},{"line_number":210,"context_line":"            LOG.info(\"Removing vSCSI mapping from Physical Volume %(dev)s.\","},{"line_number":211,"context_line":"                     {\u0027dev\u0027: device_name}, instance\u003dself.instance)"},{"line_number":212,"context_line":"            removed_maps \u003d tsk_map.remove_maps("},{"line_number":213,"context_line":"                vios_w, vm_uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_9950b25f","line":210,"range":{"start_line":210,"start_character":50,"end_line":210,"end_character":65},"updated":"2017-06-23 12:46:44.000000000","message":"unnecessary capitalization","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                         used when a volume is detached from the VM."},{"line_number":208,"context_line":"        \"\"\""},{"line_number":209,"context_line":"        def rm_func(vios_w):"},{"line_number":210,"context_line":"            LOG.info(\"Removing vSCSI mapping from Physical Volume %(dev)s.\","},{"line_number":211,"context_line":"                     {\u0027dev\u0027: device_name}, instance\u003dself.instance)"},{"line_number":212,"context_line":"            removed_maps \u003d tsk_map.remove_maps("},{"line_number":213,"context_line":"                vios_w, vm_uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_b2535239","line":210,"range":{"start_line":210,"start_character":50,"end_line":210,"end_character":65},"in_reply_to":"5f201791_9950b25f","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        :param stg_ftsk: The feed task to add to. If None, then self.stg_ftsk"},{"line_number":232,"context_line":"        \"\"\""},{"line_number":233,"context_line":"        def rm_hdisk():"},{"line_number":234,"context_line":"            LOG.info(\"Running remove for hdisk: \u0027%s\u0027\", device_name,"},{"line_number":235,"context_line":"                     instance\u003dself.instance)"},{"line_number":236,"context_line":"            try:"},{"line_number":237,"context_line":"                # Attempt to remove the hDisk"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_d9b2aa94","line":234,"updated":"2017-06-23 12:46:44.000000000","message":"log which vios","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        :param stg_ftsk: The feed task to add to. If None, then self.stg_ftsk"},{"line_number":232,"context_line":"        \"\"\""},{"line_number":233,"context_line":"        def rm_hdisk():"},{"line_number":234,"context_line":"            LOG.info(\"Running remove for hdisk: \u0027%s\u0027\", device_name,"},{"line_number":235,"context_line":"                     instance\u003dself.instance)"},{"line_number":236,"context_line":"            try:"},{"line_number":237,"context_line":"                # Attempt to remove the hDisk"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_52119e5c","line":234,"in_reply_to":"5f201791_d9b2aa94","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                # If there is a failure, log it, but don\u0027t stop the process"},{"line_number":242,"context_line":"                LOG.exception(\"There was an error removing the hdisk \""},{"line_number":243,"context_line":"                              \"%(disk)s from the Virtual I/O Server.\","},{"line_number":244,"context_line":"                              {\u0027disk\u0027: device_name}, instance\u003dself.instance)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        # Check if there are not multiple mapping for the device"},{"line_number":247,"context_line":"        if not self._check_host_mappings(vio_wrap, device_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_39cbde1e","line":244,"updated":"2017-06-23 12:46:44.000000000","message":"log which vios","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                # If there is a failure, log it, but don\u0027t stop the process"},{"line_number":242,"context_line":"                LOG.exception(\"There was an error removing the hdisk \""},{"line_number":243,"context_line":"                              \"%(disk)s from the Virtual I/O Server.\","},{"line_number":244,"context_line":"                              {\u0027disk\u0027: device_name}, instance\u003dself.instance)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        # Check if there are not multiple mapping for the device"},{"line_number":247,"context_line":"        if not self._check_host_mappings(vio_wrap, device_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f20b0a27","line":244,"in_reply_to":"5f201791_39cbde1e","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":250,"context_line":"            stg_ftsk.add_post_execute(task.FunctorTask(rm_hdisk, name\u003dname))"},{"line_number":251,"context_line":"        else:"},{"line_number":252,"context_line":"            LOG.info(\"hdisk %(disk)s is not removed because it has existing \""},{"line_number":253,"context_line":"                     \"storage mappings\", {\u0027disk\u0027: device_name},"},{"line_number":254,"context_line":"                     instance\u003dself.instance)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def _check_host_mappings(self, vios_wrap, device_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_b9848eb2","line":253,"updated":"2017-06-23 12:46:44.000000000","message":"log which vios","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":250,"context_line":"            stg_ftsk.add_post_execute(task.FunctorTask(rm_hdisk, name\u003dname))"},{"line_number":251,"context_line":"        else:"},{"line_number":252,"context_line":"            LOG.info(\"hdisk %(disk)s is not removed because it has existing \""},{"line_number":253,"context_line":"                     \"storage mappings\", {\u0027disk\u0027: device_name},"},{"line_number":254,"context_line":"                     instance\u003dself.instance)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def _check_host_mappings(self, vios_wrap, device_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_7d058b10","line":253,"in_reply_to":"5f201791_b9848eb2","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            vios_scsi_mappings, None,"},{"line_number":269,"context_line":"            tsk_map.gen_match_func(pvm_stor.PV, names\u003d[device_name]))"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        LOG.info(\"%(num)d Storage Mappings found for %(dev)s\","},{"line_number":272,"context_line":"                 {\u0027num\u0027: len(mappings), \u0027dev\u0027: device_name},"},{"line_number":273,"context_line":"                 instance\u003dself.instance)"},{"line_number":274,"context_line":"        # the mapping is still present as the task feed removes"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_39507e32","line":271,"range":{"start_line":271,"start_character":26,"end_line":271,"end_character":42},"updated":"2017-06-23 12:46:44.000000000","message":"unnecessary capitalization","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            vios_scsi_mappings, None,"},{"line_number":269,"context_line":"            tsk_map.gen_match_func(pvm_stor.PV, names\u003d[device_name]))"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        LOG.info(\"%(num)d Storage Mappings found for %(dev)s\","},{"line_number":272,"context_line":"                 {\u0027num\u0027: len(mappings), \u0027dev\u0027: device_name},"},{"line_number":273,"context_line":"                 instance\u003dself.instance)"},{"line_number":274,"context_line":"        # the mapping is still present as the task feed removes"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_3d0b9324","line":271,"range":{"start_line":271,"start_character":26,"end_line":271,"end_character":42},"in_reply_to":"5f201791_39507e32","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"719c361226454d5ded1edd2f8efb734f5c71ea2e","unresolved":false,"context_lines":[{"line_number":270,"context_line":"            vios_scsi_mappings, None,"},{"line_number":271,"context_line":"            tsk_map.gen_match_func(pvm_stor.PV, names\u003d[device_name]))"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        LOG.info(\"%(num)d storage mappings found for %(dev)s\","},{"line_number":274,"context_line":"                 {\u0027num\u0027: len(mappings), \u0027dev\u0027: device_name},"},{"line_number":275,"context_line":"                 instance\u003dself.instance)"},{"line_number":276,"context_line":"        # the mapping is still present as the task feed removes"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_b8c33157","line":273,"updated":"2017-06-26 17:29:22.000000000","message":"sorry, missed this in ps1, but as above we should log which vios","commit_id":"c61aada7f233338e51a4ef796aa543bd356cf470"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"6c8508b713eab0782fd090fb6b9bb78fe89b2083","unresolved":false,"context_lines":[{"line_number":270,"context_line":"            vios_scsi_mappings, None,"},{"line_number":271,"context_line":"            tsk_map.gen_match_func(pvm_stor.PV, names\u003d[device_name]))"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        LOG.info(\"%(num)d storage mappings found for %(dev)s\","},{"line_number":274,"context_line":"                 {\u0027num\u0027: len(mappings), \u0027dev\u0027: device_name},"},{"line_number":275,"context_line":"                 instance\u003dself.instance)"},{"line_number":276,"context_line":"        # the mapping is still present as the task feed removes"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_cbf610d8","line":273,"in_reply_to":"5f201791_b8c33157","updated":"2017-06-26 21:35:58.000000000","message":"Done","commit_id":"c61aada7f233338e51a4ef796aa543bd356cf470"}],"nova_powervm/virt/powervm/volume/vscsi.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        if slot_mgr.is_rebuild and not slot:"},{"line_number":223,"context_line":"            LOG.debug(\u0027Detected a device with UDID %s on VIOS %s on the \u0027"},{"line_number":224,"context_line":"                      \u0027rebuild that did not exist on the source.  \u0027"},{"line_number":225,"context_line":"                      \u0027Ignoring.\u0027, udid, vios_w.uuid, instance\u003dself.instance)"},{"line_number":226,"context_line":"            return False"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"        if hdisk.good_discovery(status, device_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_9403d9b8","line":225,"range":{"start_line":225,"start_character":35,"end_line":225,"end_character":52},"updated":"2017-06-23 12:46:44.000000000","message":"should use named substitution vars","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        if slot_mgr.is_rebuild and not slot:"},{"line_number":223,"context_line":"            LOG.debug(\u0027Detected a device with UDID %s on VIOS %s on the \u0027"},{"line_number":224,"context_line":"                      \u0027rebuild that did not exist on the source.  \u0027"},{"line_number":225,"context_line":"                      \u0027Ignoring.\u0027, udid, vios_w.uuid, instance\u003dself.instance)"},{"line_number":226,"context_line":"            return False"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"        if hdisk.good_discovery(status, device_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_5d540ffe","line":225,"range":{"start_line":225,"start_character":35,"end_line":225,"end_character":52},"in_reply_to":"5f201791_9403d9b8","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"0f1e37d1d9d3cca9a7837f5722492711db93d7a5","unresolved":false,"context_lines":[{"line_number":235,"context_line":"            # Save the UDID for the disk in the connection info.  It is"},{"line_number":236,"context_line":"            # used for the detach."},{"line_number":237,"context_line":"            self._set_udid(udid)"},{"line_number":238,"context_line":"            LOG.debug(\u0027Device attached: %s\u0027, device_name,"},{"line_number":239,"context_line":"                      instance\u003dself.instance)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"            # Valid attachment"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_d4d151fd","line":238,"updated":"2017-06-23 12:46:44.000000000","message":"the comment above says that we\u0027ve just added an action to do this later... so it seems like either the comment or the log message are incorrect.","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fa279000b43505f07969a3b558fd632a130ef2b5","unresolved":false,"context_lines":[{"line_number":235,"context_line":"            # Save the UDID for the disk in the connection info.  It is"},{"line_number":236,"context_line":"            # used for the detach."},{"line_number":237,"context_line":"            self._set_udid(udid)"},{"line_number":238,"context_line":"            LOG.debug(\u0027Device attached: %s\u0027, device_name,"},{"line_number":239,"context_line":"                      instance\u003dself.instance)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"            # Valid attachment"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_5d6d2fca","line":238,"in_reply_to":"5f201791_d4d151fd","updated":"2017-06-26 16:43:23.000000000","message":"Done","commit_id":"e160f9cd28c9200cac24917eb03eb6ee08801aca"}]}
