)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"437223ad08b9f8ae0d400d51bfbec053d1ed43e0","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Blueprint: xenapi-boot-from-volume"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Ensure boot from volume works for the Xen (tested using XenServer)."},{"line_number":12,"context_line":"Run as:"},{"line_number":13,"context_line":"Use --block_device_mapping /dev/sda\u003d\u003cvolid\u003e to make volume the root disk."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAIH%2F%2F%2FXk%3D","line":11,"updated":"2012-06-07 11:15:37.000000000","message":"You mean XenAPI not Xen right?","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"360339bf179e3bc06d1e0f818672ab12c2b940c6","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Blueprint: xenapi-boot-from-volume"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Ensure boot from volume works for the Xen (tested using XenServer)."},{"line_number":12,"context_line":"Run as:"},{"line_number":13,"context_line":"Use --block_device_mapping /dev/sda\u003d\u003cvolid\u003e to make volume the root disk."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAIX%2F%2F%2Bos%3D","line":11,"in_reply_to":"AAAAIH%2F%2F%2FXk%3D","updated":"2012-06-14 02:19:04.000000000","message":"Done","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"}],"nova/compute/manager.py":[{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"cf333d3e186b79d42cd5c6026333318d31cd0e6f","unresolved":false,"context_lines":[{"line_number":425,"context_line":"                                             \u0027mount_device\u0027:"},{"line_number":426,"context_line":"                                             bdm[\u0027device_name\u0027],"},{"line_number":427,"context_line":"                                             \u0027delete_on_termination\u0027:"},{"line_number":428,"context_line":"                                             bdm[\u0027delete_on_termination\u0027]})"},{"line_number":429,"context_line":"                LOG.debug(_(\"%s\"), block_device_mapping)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        return {"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9V0%3D","line":428,"updated":"2012-06-04 22:12:36.000000000","message":"The indentation level is making this difficult to read. Can you build the dict before this statement and then pass it to the append?\n\n    mapping \u003d {\u0027connection_info\u0027: cinfo,\n               ...}\n    block_device_mapping.append(mapping)","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"ad1ee5e38def0d82863bfb2f17fcfb539a80965f","unresolved":false,"context_lines":[{"line_number":425,"context_line":"                                             \u0027mount_device\u0027:"},{"line_number":426,"context_line":"                                             bdm[\u0027device_name\u0027],"},{"line_number":427,"context_line":"                                             \u0027delete_on_termination\u0027:"},{"line_number":428,"context_line":"                                             bdm[\u0027delete_on_termination\u0027]})"},{"line_number":429,"context_line":"                LOG.debug(_(\"%s\"), block_device_mapping)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        return {"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9TU%3D","line":428,"in_reply_to":"AAAAHn%2F%2F9V0%3D","updated":"2012-06-04 23:39:54.000000000","message":"Done","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"20d0fc78997aaed6ad0a3c450a6665c90e20d2d9","unresolved":false,"context_lines":[{"line_number":426,"context_line":"                                             bdm[\u0027device_name\u0027],"},{"line_number":427,"context_line":"                                             \u0027delete_on_termination\u0027:"},{"line_number":428,"context_line":"                                             bdm[\u0027delete_on_termination\u0027]})"},{"line_number":429,"context_line":"                LOG.debug(_(\"%s\"), block_device_mapping)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        return {"},{"line_number":432,"context_line":"            \u0027root_device_name\u0027: instance[\u0027root_device_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9V4%3D","line":429,"updated":"2012-06-04 22:03:16.000000000","message":"translating this seems wrong.  Also is the debug necessary at all?","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"ad1ee5e38def0d82863bfb2f17fcfb539a80965f","unresolved":false,"context_lines":[{"line_number":426,"context_line":"                                             bdm[\u0027device_name\u0027],"},{"line_number":427,"context_line":"                                             \u0027delete_on_termination\u0027:"},{"line_number":428,"context_line":"                                             bdm[\u0027delete_on_termination\u0027]})"},{"line_number":429,"context_line":"                LOG.debug(_(\"%s\"), block_device_mapping)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        return {"},{"line_number":432,"context_line":"            \u0027root_device_name\u0027: instance[\u0027root_device_name\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9Tg%3D","line":429,"in_reply_to":"AAAAHn%2F%2F9V4%3D","updated":"2012-06-04 23:39:54.000000000","message":"Done","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"cf333d3e186b79d42cd5c6026333318d31cd0e6f","unresolved":false,"context_lines":[{"line_number":683,"context_line":"                                             \u0027mount_device\u0027:"},{"line_number":684,"context_line":"                                             bdm[\u0027device_name\u0027],"},{"line_number":685,"context_line":"                                             \u0027delete_on_termination\u0027:"},{"line_number":686,"context_line":"                                             bdm[\u0027delete_on_termination\u0027]})"},{"line_number":687,"context_line":"            except TypeError:"},{"line_number":688,"context_line":"                # if the block_device_mapping has no value in connection_info"},{"line_number":689,"context_line":"                # (returned as None), don\u0027t include in the mapping"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9Vw%3D","line":686,"updated":"2012-06-04 22:12:36.000000000","message":"Samething here","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"ad1ee5e38def0d82863bfb2f17fcfb539a80965f","unresolved":false,"context_lines":[{"line_number":683,"context_line":"                                             \u0027mount_device\u0027:"},{"line_number":684,"context_line":"                                             bdm[\u0027device_name\u0027],"},{"line_number":685,"context_line":"                                             \u0027delete_on_termination\u0027:"},{"line_number":686,"context_line":"                                             bdm[\u0027delete_on_termination\u0027]})"},{"line_number":687,"context_line":"            except TypeError:"},{"line_number":688,"context_line":"                # if the block_device_mapping has no value in connection_info"},{"line_number":689,"context_line":"                # (returned as None), don\u0027t include in the mapping"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9TM%3D","line":686,"in_reply_to":"AAAAHn%2F%2F9Vw%3D","updated":"2012-06-04 23:39:54.000000000","message":"Done","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"}],"nova/virt/xenapi/vm_utils.py":[{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"cf333d3e186b79d42cd5c6026333318d31cd0e6f","unresolved":false,"context_lines":[{"line_number":353,"context_line":"        else:"},{"line_number":354,"context_line":"            LOG.debug(_(\"We should not reach here on singlehost!\"))"},{"line_number":355,"context_line":"        session.call_xenapi(\"SR.scan\", sr_ref)"},{"line_number":356,"context_line":"        vdi_return_list.append(dict(vdi_type\u003d\"os\","},{"line_number":357,"context_line":"                               vdi_uuid\u003ddev_params[\u0027vdi_uuid\u0027]))"},{"line_number":358,"context_line":"        return vdi_return_list"},{"line_number":359,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9Vc%3D","line":356,"updated":"2012-06-04 22:12:36.000000000","message":"vdi_type should be \u0027root\u0027 here","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"ad1ee5e38def0d82863bfb2f17fcfb539a80965f","unresolved":false,"context_lines":[{"line_number":353,"context_line":"        else:"},{"line_number":354,"context_line":"            LOG.debug(_(\"We should not reach here on singlehost!\"))"},{"line_number":355,"context_line":"        session.call_xenapi(\"SR.scan\", sr_ref)"},{"line_number":356,"context_line":"        vdi_return_list.append(dict(vdi_type\u003d\"os\","},{"line_number":357,"context_line":"                               vdi_uuid\u003ddev_params[\u0027vdi_uuid\u0027]))"},{"line_number":358,"context_line":"        return vdi_return_list"},{"line_number":359,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9TI%3D","line":356,"in_reply_to":"AAAAHn%2F%2F9Vc%3D","updated":"2012-06-04 23:39:54.000000000","message":"Done","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"cf333d3e186b79d42cd5c6026333318d31cd0e6f","unresolved":false,"context_lines":[{"line_number":1072,"context_line":"                except session.XenAPI.Failure, exc:"},{"line_number":1073,"context_line":"                    LOG.exception(exc)"},{"line_number":1074,"context_line":"                else:"},{"line_number":1075,"context_line":"                    if not record or record[\u0027uuid\u0027] not in nodestroys:"},{"line_number":1076,"context_line":"                        vdi_refs.append(vdi_ref)"},{"line_number":1077,"context_line":"        return vdi_refs"},{"line_number":1078,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9Vk%3D","line":1075,"updated":"2012-06-04 22:12:36.000000000","message":"This will fail if nodestroys is not passed to lookup_vm_vdis (since NoneType isn\u0027t iterable and doesn\u0027t implement the in operator).","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"ad1ee5e38def0d82863bfb2f17fcfb539a80965f","unresolved":false,"context_lines":[{"line_number":1072,"context_line":"                except session.XenAPI.Failure, exc:"},{"line_number":1073,"context_line":"                    LOG.exception(exc)"},{"line_number":1074,"context_line":"                else:"},{"line_number":1075,"context_line":"                    if not record or record[\u0027uuid\u0027] not in nodestroys:"},{"line_number":1076,"context_line":"                        vdi_refs.append(vdi_ref)"},{"line_number":1077,"context_line":"        return vdi_refs"},{"line_number":1078,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9Sg%3D","line":1075,"in_reply_to":"AAAAHn%2F%2F9Vk%3D","updated":"2012-06-04 23:39:54.000000000","message":"Done","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9e7d8e6ed0280775faf38524d1b3f3d178bfab92","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        return vdi_ref"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    @classmethod"},{"line_number":347,"context_line":"    def get_vdi_for_boot_from_vol(cls, session, instance, dev_params):"},{"line_number":348,"context_line":"        vdi_return_list \u003d []"},{"line_number":349,"context_line":"        sr_ref \u003d volume_utils.VolumeHelper.find_sr_by_uuid(session,"},{"line_number":350,"context_line":"                                                       dev_params[\u0027sr_uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHn%2F%2F8dM%3D","line":347,"updated":"2012-06-06 02:22:39.000000000","message":"if this returns a list, shouldn\u0027t this method be called get_vdis_for_boot_from_vol?","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"360339bf179e3bc06d1e0f818672ab12c2b940c6","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        return vdi_ref"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    @classmethod"},{"line_number":347,"context_line":"    def get_vdi_for_boot_from_vol(cls, session, instance, dev_params):"},{"line_number":348,"context_line":"        vdi_return_list \u003d []"},{"line_number":349,"context_line":"        sr_ref \u003d volume_utils.VolumeHelper.find_sr_by_uuid(session,"},{"line_number":350,"context_line":"                                                       dev_params[\u0027sr_uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAIX%2F%2F%2BoQ%3D","line":347,"in_reply_to":"AAAAHn%2F%2F8dM%3D","updated":"2012-06-14 02:19:04.000000000","message":"Done","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9e7d8e6ed0280775faf38524d1b3f3d178bfab92","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    def get_vdi_for_boot_from_vol(cls, session, instance, dev_params):"},{"line_number":348,"context_line":"        vdi_return_list \u003d []"},{"line_number":349,"context_line":"        sr_ref \u003d volume_utils.VolumeHelper.find_sr_by_uuid(session,"},{"line_number":350,"context_line":"                                                       dev_params[\u0027sr_uuid\u0027])"},{"line_number":351,"context_line":"        if sr_ref:"},{"line_number":352,"context_line":"            LOG.debug(_(\"SR found on host\"))"},{"line_number":353,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHn%2F%2F8dU%3D","line":350,"updated":"2012-06-06 02:22:39.000000000","message":"this looks like a pep8 alignment violation","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"360339bf179e3bc06d1e0f818672ab12c2b940c6","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    def get_vdi_for_boot_from_vol(cls, session, instance, dev_params):"},{"line_number":348,"context_line":"        vdi_return_list \u003d []"},{"line_number":349,"context_line":"        sr_ref \u003d volume_utils.VolumeHelper.find_sr_by_uuid(session,"},{"line_number":350,"context_line":"                                                       dev_params[\u0027sr_uuid\u0027])"},{"line_number":351,"context_line":"        if sr_ref:"},{"line_number":352,"context_line":"            LOG.debug(_(\"SR found on host\"))"},{"line_number":353,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAIX%2F%2F%2BoM%3D","line":350,"in_reply_to":"AAAAHn%2F%2F8dU%3D","updated":"2012-06-14 02:19:04.000000000","message":"Done","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9e7d8e6ed0280775faf38524d1b3f3d178bfab92","unresolved":false,"context_lines":[{"line_number":351,"context_line":"        if sr_ref:"},{"line_number":352,"context_line":"            LOG.debug(_(\"SR found on host\"))"},{"line_number":353,"context_line":"        else:"},{"line_number":354,"context_line":"            LOG.debug(_(\"We should not reach here on singlehost!\"))"},{"line_number":355,"context_line":"        session.call_xenapi(\"SR.scan\", sr_ref)"},{"line_number":356,"context_line":"        vdi_return_list.append(dict(vdi_type\u003d\"root\","},{"line_number":357,"context_line":"                               vdi_uuid\u003ddev_params[\u0027vdi_uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHn%2F%2F8dQ%3D","line":354,"updated":"2012-06-06 02:22:39.000000000","message":"are we sure these log likes are actually needed? If so, it might be worth adding info on the uuids.","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"360339bf179e3bc06d1e0f818672ab12c2b940c6","unresolved":false,"context_lines":[{"line_number":351,"context_line":"        if sr_ref:"},{"line_number":352,"context_line":"            LOG.debug(_(\"SR found on host\"))"},{"line_number":353,"context_line":"        else:"},{"line_number":354,"context_line":"            LOG.debug(_(\"We should not reach here on singlehost!\"))"},{"line_number":355,"context_line":"        session.call_xenapi(\"SR.scan\", sr_ref)"},{"line_number":356,"context_line":"        vdi_return_list.append(dict(vdi_type\u003d\"root\","},{"line_number":357,"context_line":"                               vdi_uuid\u003ddev_params[\u0027vdi_uuid\u0027]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAIX%2F%2F%2Bnw%3D","line":354,"in_reply_to":"AAAAHn%2F%2F8dQ%3D","updated":"2012-06-14 02:19:04.000000000","message":"Done","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"6e8f68351a0b4556f5292a1cbcc1553cae86b31c","unresolved":false,"context_lines":[{"line_number":1057,"context_line":"            except session.XenAPI.Failure, exc:"},{"line_number":1058,"context_line":"                LOG.exception(exc)"},{"line_number":1059,"context_line":"            else:"},{"line_number":1060,"context_line":"                if record:"},{"line_number":1061,"context_line":"                    if not nodestroys or record[\u0027uuid\u0027] not in nodestroys:"},{"line_number":1062,"context_line":"                        vdi_refs.append(vdi_ref)"},{"line_number":1063,"context_line":"    return vdi_refs"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAIn%2F%2F%2BLc%3D","line":1060,"updated":"2012-06-18 16:07:06.000000000","message":"When would this ever evaluate to False?\n\nIf the vdi_ref is invalid, the call to xenapi should raise an exception, right?","commit_id":"1e4439c86856a60cff955b60195fb38437b0ca17"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"34d2267673e8229a2ddc25470f424d5255f3cc60","unresolved":false,"context_lines":[{"line_number":1057,"context_line":"            except session.XenAPI.Failure, exc:"},{"line_number":1058,"context_line":"                LOG.exception(exc)"},{"line_number":1059,"context_line":"            else:"},{"line_number":1060,"context_line":"                if record:"},{"line_number":1061,"context_line":"                    if not nodestroys or record[\u0027uuid\u0027] not in nodestroys:"},{"line_number":1062,"context_line":"                        vdi_refs.append(vdi_ref)"},{"line_number":1063,"context_line":"    return vdi_refs"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAIn%2F%2F9WE%3D","line":1060,"in_reply_to":"AAAAIn%2F%2F%2BLc%3D","updated":"2012-06-19 21:02:38.000000000","message":"Done","commit_id":"1e4439c86856a60cff955b60195fb38437b0ca17"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"367b4b3651da2949cf0747956ee7b603304a048d","unresolved":false,"context_lines":[{"line_number":361,"context_line":"def _volume_in_mapping(mount_device, block_device_info):"},{"line_number":362,"context_line":"    block_device_list \u003d [block_device.strip_prefix(vol[\u0027mount_device\u0027])"},{"line_number":363,"context_line":"                         for vol in"},{"line_number":364,"context_line":"                         driver.block_device_info_get_mapping("},{"line_number":365,"context_line":"                         block_device_info)]"},{"line_number":366,"context_line":"    swap \u003d driver.block_device_info_get_swap(block_device_info)"},{"line_number":367,"context_line":"    if driver.swap_is_usable(swap):"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAKX%2F%2F%2FF0%3D","line":364,"updated":"2012-07-10 02:23:17.000000000","message":"virt/driver.py seems like an odd place for \u0027block_device_info_get_mapping\u0027 and other related calls.  Seems like these should move to nova/block_device.py.  But since they were there before this patch, I won\u0027t hold this up on that.","commit_id":"ed118dfd6ebe06a095620e93f4318c4e7ac9cfed"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"367b4b3651da2949cf0747956ee7b603304a048d","unresolved":false,"context_lines":[{"line_number":372,"context_line":"                          driver.block_device_info_get_ephemerals("},{"line_number":373,"context_line":"                          block_device_info)]"},{"line_number":374,"context_line":"    LOG.debug(_(\"block_device_list %s\"), block_device_list)"},{"line_number":375,"context_line":"    return block_device.strip_prefix(mount_device) in block_device_list"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"def get_vdis_for_instance(context, session, instance, image,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAKX%2F%2F%2FFw%3D","line":375,"updated":"2012-07-10 02:23:17.000000000","message":"NOTE: There\u0027s a lot of unnecessary list building if the mount_device happens to be the first entry returned by driver.block_device_info_get_mapping().","commit_id":"ed118dfd6ebe06a095620e93f4318c4e7ac9cfed"}],"nova/virt/xenapi/vmops.py":[{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"cf333d3e186b79d42cd5c6026333318d31cd0e6f","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        @step"},{"line_number":344,"context_line":"        def bdev_set_default_root(undo_mgr):"},{"line_number":345,"context_line":"            if block_device_info:"},{"line_number":346,"context_line":"                LOG.debug(block_device_info)"},{"line_number":347,"context_line":"            if block_device_info and not block_device_info[\u0027root_device_name\u0027]:"},{"line_number":348,"context_line":"                block_device_info[\u0027root_device_name\u0027] \u003d self.default_root_dev"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9VQ%3D","line":346,"updated":"2012-06-04 22:12:36.000000000","message":"This should probably pass instance\u003dinstance as well so the log message can be connected to a particular instance.\n\nEven better if it had some text to go along with it.","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"ad1ee5e38def0d82863bfb2f17fcfb539a80965f","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        @step"},{"line_number":344,"context_line":"        def bdev_set_default_root(undo_mgr):"},{"line_number":345,"context_line":"            if block_device_info:"},{"line_number":346,"context_line":"                LOG.debug(block_device_info)"},{"line_number":347,"context_line":"            if block_device_info and not block_device_info[\u0027root_device_name\u0027]:"},{"line_number":348,"context_line":"                block_device_info[\u0027root_device_name\u0027] \u003d self.default_root_dev"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHn%2F%2F9Rg%3D","line":346,"in_reply_to":"AAAAHn%2F%2F9VQ%3D","updated":"2012-06-04 23:39:54.000000000","message":"Done","commit_id":"daf42f6807b11acc4cece024e37328b2e51d4649"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9e7d8e6ed0280775faf38524d1b3f3d178bfab92","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self.firewall_driver \u003d fw_class(xenapi_session\u003dself._session)"},{"line_number":162,"context_line":"        vif_impl \u003d importutils.import_class(FLAGS.xenapi_vif_driver)"},{"line_number":163,"context_line":"        self.vif_driver \u003d vif_impl(xenapi_session\u003dself._session)"},{"line_number":164,"context_line":"        self.default_root_dev \u003d \u0027/dev/sda\u0027"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def list_instances(self):"},{"line_number":167,"context_line":"        \"\"\"List VM instances.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHn%2F%2F8dE%3D","line":164,"updated":"2012-06-06 02:22:39.000000000","message":"hard-coding this label seems rather wrong. Besides, what if the instance is para-virtualized?","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"360339bf179e3bc06d1e0f818672ab12c2b940c6","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self.firewall_driver \u003d fw_class(xenapi_session\u003dself._session)"},{"line_number":162,"context_line":"        vif_impl \u003d importutils.import_class(FLAGS.xenapi_vif_driver)"},{"line_number":163,"context_line":"        self.vif_driver \u003d vif_impl(xenapi_session\u003dself._session)"},{"line_number":164,"context_line":"        self.default_root_dev \u003d \u0027/dev/sda\u0027"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def list_instances(self):"},{"line_number":167,"context_line":"        \"\"\"List VM instances.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAIn%2F%2F%2F1c%3D","line":164,"in_reply_to":"AAAAHn%2F%2F8dE%3D","updated":"2012-06-14 02:19:04.000000000","message":"Not sure what to set this to...","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9e7d8e6ed0280775faf38524d1b3f3d178bfab92","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        def bdev_set_default_root(undo_mgr):"},{"line_number":345,"context_line":"            if block_device_info:"},{"line_number":346,"context_line":"                LOG.debug(_(\"Block device information present: %s\")"},{"line_number":347,"context_line":"                          % block_device_info, instance\u003dinstance)"},{"line_number":348,"context_line":"            if block_device_info and not block_device_info[\u0027root_device_name\u0027]:"},{"line_number":349,"context_line":"                block_device_info[\u0027root_device_name\u0027] \u003d self.default_root_dev"},{"line_number":350,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHn%2F%2F8dA%3D","line":347,"updated":"2012-06-06 02:22:39.000000000","message":"are you sure this trace is correct?","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":2535,"name":"renukaapte","email":"renuka.apte@citrix.com","username":"renukaapte"},"change_message_id":"360339bf179e3bc06d1e0f818672ab12c2b940c6","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        def bdev_set_default_root(undo_mgr):"},{"line_number":345,"context_line":"            if block_device_info:"},{"line_number":346,"context_line":"                LOG.debug(_(\"Block device information present: %s\")"},{"line_number":347,"context_line":"                          % block_device_info, instance\u003dinstance)"},{"line_number":348,"context_line":"            if block_device_info and not block_device_info[\u0027root_device_name\u0027]:"},{"line_number":349,"context_line":"                block_device_info[\u0027root_device_name\u0027] \u003d self.default_root_dev"},{"line_number":350,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAIn%2F%2F%2F1Y%3D","line":347,"in_reply_to":"AAAAHn%2F%2F8dA%3D","updated":"2012-06-14 02:19:04.000000000","message":"Works for me","commit_id":"e691c5bc76a767fbde349e86e3fcdef2534d3e30"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"367b4b3651da2949cf0747956ee7b603304a048d","unresolved":false,"context_lines":[{"line_number":340,"context_line":"            if block_device_info:"},{"line_number":341,"context_line":"                LOG.debug(_(\"Block device information present: %s\")"},{"line_number":342,"context_line":"                          % block_device_info, instance\u003dinstance)"},{"line_number":343,"context_line":"            if block_device_info and not block_device_info[\u0027root_device_name\u0027]:"},{"line_number":344,"context_line":"                block_device_info[\u0027root_device_name\u0027] \u003d self.default_root_dev"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        undo_mgr \u003d utils.UndoManager()"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAKX%2F%2F%2FFo%3D","line":343,"updated":"2012-07-10 02:23:17.000000000","message":"If you indent this inside of the previous \u0027if\u0027, this can just be \u0027if not block_device_info[\u0027root_device_name\u0027]:\u0027","commit_id":"ed118dfd6ebe06a095620e93f4318c4e7ac9cfed"}]}
