)]}'
{"nova/tests/virt/libvirt/test_libvirt_blockinfo.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7d1d370dbce25b2054e2a83b4e421abf4eb1920d","unresolved":false,"context_lines":[{"line_number":467,"context_line":"                          image_meta)"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    def test_get_config_drive_type_no_image_meta(self):"},{"line_number":470,"context_line":"        image_meta \u003d None"},{"line_number":471,"context_line":"        config_drive_type \u003d blockinfo.get_config_drive_type(image_meta)"},{"line_number":472,"context_line":"        expect \u003d \u0027disk\u0027"},{"line_number":473,"context_line":"        self.assertEqual(config_drive_type, expect)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2FkbE%3D","line":470,"updated":"2013-07-16 13:36:23.000000000","message":"Nit: defining a var here isn\u0027t necessary, just pass None to the method.","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7d1d370dbce25b2054e2a83b4e421abf4eb1920d","unresolved":false,"context_lines":[{"line_number":469,"context_line":"    def test_get_config_drive_type_no_image_meta(self):"},{"line_number":470,"context_line":"        image_meta \u003d None"},{"line_number":471,"context_line":"        config_drive_type \u003d blockinfo.get_config_drive_type(image_meta)"},{"line_number":472,"context_line":"        expect \u003d \u0027disk\u0027"},{"line_number":473,"context_line":"        self.assertEqual(config_drive_type, expect)"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    def test_get_config_drive_type_no_property(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2FkbA%3D","line":472,"updated":"2013-07-16 13:36:23.000000000","message":"Nit: defining a var here isn\u0027t necessary.","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7d1d370dbce25b2054e2a83b4e421abf4eb1920d","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        image_meta \u003d None"},{"line_number":471,"context_line":"        config_drive_type \u003d blockinfo.get_config_drive_type(image_meta)"},{"line_number":472,"context_line":"        expect \u003d \u0027disk\u0027"},{"line_number":473,"context_line":"        self.assertEqual(config_drive_type, expect)"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    def test_get_config_drive_type_no_property(self):"},{"line_number":476,"context_line":"        image_meta \u003d {\u0027test_key\u0027: \u0027test_val\u0027}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fkas%3D","line":473,"updated":"2013-07-16 13:36:23.000000000","message":"Nit: the assertEqual args go (expected, actual) so really this is backwards, but it doesn\u0027t cause any difference in the test output.","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"f1e189c27e8e46f742eba38cd03e3a6902710131","unresolved":false,"context_lines":[{"line_number":494,"context_line":"        image_meta \u003d {\u0027properties\u0027: {\u0027hw_config_drive_type\u0027: \u0027cdrom\u0027}}"},{"line_number":495,"context_line":"        config_drive_type \u003d blockinfo.get_config_drive_type(image_meta)"},{"line_number":496,"context_line":"        expect \u003d \u0027cdrom\u0027"},{"line_number":497,"context_line":"        self.assertEqual(config_drive_type, expect)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2FfI4%3D","line":497,"updated":"2013-07-17 15:00:17.000000000","message":"Should a test be added here for the case where \u0027disk\u0027 is passed in for \u0027hw_config_drive_type\u0027?","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"adb9ddaf272beb72399ce5b37db13e3966c3c6d5","unresolved":false,"context_lines":[{"line_number":494,"context_line":"        image_meta \u003d {\u0027properties\u0027: {\u0027hw_config_drive_type\u0027: \u0027cdrom\u0027}}"},{"line_number":495,"context_line":"        config_drive_type \u003d blockinfo.get_config_drive_type(image_meta)"},{"line_number":496,"context_line":"        expect \u003d \u0027cdrom\u0027"},{"line_number":497,"context_line":"        self.assertEqual(config_drive_type, expect)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fe0c%3D","line":497,"in_reply_to":"AAAAP3%2F%2Fe9E%3D","updated":"2013-07-17 16:10:20.000000000","message":"Thanks, Matt.  That addresses my question.","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6b74411b58eeacb3e77ca64c00a10217f82d2174","unresolved":false,"context_lines":[{"line_number":494,"context_line":"        image_meta \u003d {\u0027properties\u0027: {\u0027hw_config_drive_type\u0027: \u0027cdrom\u0027}}"},{"line_number":495,"context_line":"        config_drive_type \u003d blockinfo.get_config_drive_type(image_meta)"},{"line_number":496,"context_line":"        expect \u003d \u0027cdrom\u0027"},{"line_number":497,"context_line":"        self.assertEqual(config_drive_type, expect)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fe9E%3D","line":497,"in_reply_to":"AAAAP3%2F%2FfI4%3D","updated":"2013-07-17 15:44:04.000000000","message":"Brad, it already is here: test_get_disk_mapping_simple_configdrive\n\nLine 237","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"}],"nova/virt/libvirt/blockinfo.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7ca903cc0d8eba7a5bb76ce9c706003ffb953fb3","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                                        \u0027type\u0027: \u0027disk\u0027}"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    if configdrive.required_by(instance):"},{"line_number":415,"context_line":"        if CONF.config_drive_cdrom:"},{"line_number":416,"context_line":"            config_info \u003d get_next_disk_info(mapping,"},{"line_number":417,"context_line":"                                             cdrom_bus,"},{"line_number":418,"context_line":"                                             \u0027cdrom\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fr24%3D","line":415,"updated":"2013-07-13 01:23:50.000000000","message":"See line 344 - can you get rid of the config option and just check if root_device_type \u003d\u003d \u0027cdrom\u0027 here instead?","commit_id":"45d90e35921457b8bdc7d4d785e6044369482418"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"4a635e20c714a63deee35f52c41db867e39f2278","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                                        \u0027type\u0027: \u0027disk\u0027}"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    if configdrive.required_by(instance):"},{"line_number":415,"context_line":"        if CONF.config_drive_cdrom:"},{"line_number":416,"context_line":"            config_info \u003d get_next_disk_info(mapping,"},{"line_number":417,"context_line":"                                             cdrom_bus,"},{"line_number":418,"context_line":"                                             \u0027cdrom\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FrRM%3D","line":415,"in_reply_to":"AAAAP3%2F%2Fr24%3D","updated":"2013-07-13 21:45:31.000000000","message":"The option is actually necessary since we are dealing with a somewhat different situation here. For guest OSes like Windows, the config drive needs to be a cdrom device for the iso9660 filesystem to be accessed by the OS, regardless of the root image being iso or raw or qcow2. Plus the option itself is not something newly invented, it\u0027s documented at http://docs.openstack.org/grizzly/openstack-compute/admin/content/config-drive.html and already implemented on hyper-v.","commit_id":"45d90e35921457b8bdc7d4d785e6044369482418"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"399ac59b7bcc2309e304eec85e115f3d26fc3813","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                                        \u0027type\u0027: \u0027disk\u0027}"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    if configdrive.required_by(instance):"},{"line_number":415,"context_line":"        if CONF.config_drive_cdrom:"},{"line_number":416,"context_line":"            config_info \u003d get_next_disk_info(mapping,"},{"line_number":417,"context_line":"                                             cdrom_bus,"},{"line_number":418,"context_line":"                                             \u0027cdrom\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FrI8%3D","line":415,"in_reply_to":"AAAAP3%2F%2FrRM%3D","updated":"2013-07-14 02:52:34.000000000","message":"OK, I see it\u0027s an existing property now and the hyperv driver is using it, so I feel more comfortable with that now.","commit_id":"45d90e35921457b8bdc7d4d785e6044369482418"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"399ac59b7bcc2309e304eec85e115f3d26fc3813","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        if CONF.config_drive_cdrom:"},{"line_number":416,"context_line":"            config_info \u003d get_next_disk_info(mapping,"},{"line_number":417,"context_line":"                                             cdrom_bus,"},{"line_number":418,"context_line":"                                             \u0027cdrom\u0027)"},{"line_number":419,"context_line":"        else:"},{"line_number":420,"context_line":"            config_info \u003d get_next_disk_info(mapping,"},{"line_number":421,"context_line":"                                             disk_bus,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FrI4%3D","line":418,"updated":"2013-07-14 02:52:34.000000000","message":"Should you be passing last_device\u003dTrue here?","commit_id":"45d90e35921457b8bdc7d4d785e6044369482418"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"1cc1c599f949519c01dfdc8c2052f56b3c5a4b4d","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        if CONF.config_drive_cdrom:"},{"line_number":416,"context_line":"            config_info \u003d get_next_disk_info(mapping,"},{"line_number":417,"context_line":"                                             cdrom_bus,"},{"line_number":418,"context_line":"                                             \u0027cdrom\u0027)"},{"line_number":419,"context_line":"        else:"},{"line_number":420,"context_line":"            config_info \u003d get_next_disk_info(mapping,"},{"line_number":421,"context_line":"                                             disk_bus,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fq60%3D","line":418,"in_reply_to":"AAAAP3%2F%2FrI4%3D","updated":"2013-07-14 12:07:36.000000000","message":"I could have done that but I don\u0027t think that\u0027s necessary. The method find_disk_dev_for_disk_bus, which is called by get_next_disk_info, figures out a proper device name for a given bus, so there won\u0027t be any conflict.","commit_id":"45d90e35921457b8bdc7d4d785e6044369482418"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"f52ee6274d4c21cbde6a681b75d5f9de7b52dd99","unresolved":false,"context_lines":[{"line_number":304,"context_line":"       Returns a string indicating the config drive type."},{"line_number":305,"context_line":"    \"\"\""},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    device_types \u003d (\u0027disk\u0027, \u0027cdrom\u0027)"},{"line_number":308,"context_line":"    config_drive_type \u003d \u0027disk\u0027"},{"line_number":309,"context_line":"    key \u003d \u0027hw_config_drive_type\u0027"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2FlFc%3D","line":307,"updated":"2013-07-16 10:32:10.000000000","message":"I don\u0027t really think you need a variable for a value that is only used once.","commit_id":"607b1b719b1abf9f8335df2c6af3c8790fb12adc"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"f52ee6274d4c21cbde6a681b75d5f9de7b52dd99","unresolved":false,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    device_types \u003d (\u0027disk\u0027, \u0027cdrom\u0027)"},{"line_number":308,"context_line":"    config_drive_type \u003d \u0027disk\u0027"},{"line_number":309,"context_line":"    key \u003d \u0027hw_config_drive_type\u0027"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    if image_meta:"},{"line_number":312,"context_line":"        prop \u003d image_meta.get(\u0027properties\u0027, {}).get(key)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2FlFg%3D","line":309,"updated":"2013-07-16 10:32:10.000000000","message":"Likewise this variable is pointless.","commit_id":"607b1b719b1abf9f8335df2c6af3c8790fb12adc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"84367b91efb793e51f74f1e8f17242e53087a51e","unresolved":false,"context_lines":[{"line_number":309,"context_line":"    if image_meta:"},{"line_number":310,"context_line":"        prop \u003d image_meta.get(\u0027properties\u0027, {}).get(\u0027hw_config_drive_type\u0027)"},{"line_number":311,"context_line":"        if prop in (\u0027disk\u0027, \u0027cdrom\u0027):"},{"line_number":312,"context_line":"            config_drive_type \u003d prop"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    return config_drive_type"},{"line_number":315,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fedw%3D","line":312,"updated":"2013-07-17 17:17:06.000000000","message":"Um, attaching a FAT disk as a cdrom isn\u0027t going to be very good, is it? Doesn\u0027t this need to check the config variable that dictates how the config drive is going to be created instead of a property of the image?\n\nSee nova/virt/configdrive\u0027s config_drive_format option.","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"92983db39f2c4e0c7325462587b50699c11c2ec5","unresolved":false,"context_lines":[{"line_number":309,"context_line":"    if image_meta:"},{"line_number":310,"context_line":"        prop \u003d image_meta.get(\u0027properties\u0027, {}).get(\u0027hw_config_drive_type\u0027)"},{"line_number":311,"context_line":"        if prop in (\u0027disk\u0027, \u0027cdrom\u0027):"},{"line_number":312,"context_line":"            config_drive_type \u003d prop"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    return config_drive_type"},{"line_number":315,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2F%2BJg%3D","line":312,"in_reply_to":"AAAAP3%2F%2Fedw%3D","updated":"2013-07-18 08:52:00.000000000","message":"Err, that does not matter at all. The fact that CDROM\u0027s use ISO and disks use FAT is merely a usage convention, not any kind of technical requirement. It is perfectly possible to use FAT formatted CDROMs and ISO on disks.","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"4805fab1df723bfa126f63f2499c1a337afa9b09","unresolved":false,"context_lines":[{"line_number":309,"context_line":"    if image_meta:"},{"line_number":310,"context_line":"        prop \u003d image_meta.get(\u0027properties\u0027, {}).get(\u0027hw_config_drive_type\u0027)"},{"line_number":311,"context_line":"        if prop in (\u0027disk\u0027, \u0027cdrom\u0027):"},{"line_number":312,"context_line":"            config_drive_type \u003d prop"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    return config_drive_type"},{"line_number":315,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQH%2F%2F%2F%2FM%3D","line":312,"in_reply_to":"AAAAP3%2F%2Fedw%3D","updated":"2013-07-17 18:01:21.000000000","message":"I think it needs to check both, even if config_drive_format option is iso, it defaults to virtio disk on libvirt which would brake windows images. I would always use CD for config drive if iso, just not sure the rationale behind defaulting to virtio disk, maybe performance?","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0b92277d0f489b1b7900c4a2faa449bb0713cd16","unresolved":false,"context_lines":[{"line_number":309,"context_line":"    if image_meta:"},{"line_number":310,"context_line":"        prop \u003d image_meta.get(\u0027properties\u0027, {}).get(\u0027hw_config_drive_type\u0027)"},{"line_number":311,"context_line":"        if prop in (\u0027disk\u0027, \u0027cdrom\u0027):"},{"line_number":312,"context_line":"            config_drive_type \u003d prop"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    return config_drive_type"},{"line_number":315,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2F%2F%2B4%3D","line":312,"in_reply_to":"AAAAQH%2F%2F%2F%2FM%3D","updated":"2013-07-17 18:22:00.000000000","message":"No. If the contents are iso9660, then you must attach as a CDROM. If they\u0027re not, you must not. The contents are decided (AFAICT) only by the config variable, which means this should follow.\n\nYou can\u0027t change a .jpg file to a .gif by renaming the extension :)","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"de6b5e704e3d75b465c128906b2adcfdec59a325","unresolved":false,"context_lines":[{"line_number":309,"context_line":"    if image_meta:"},{"line_number":310,"context_line":"        prop \u003d image_meta.get(\u0027properties\u0027, {}).get(\u0027hw_config_drive_type\u0027)"},{"line_number":311,"context_line":"        if prop in (\u0027disk\u0027, \u0027cdrom\u0027):"},{"line_number":312,"context_line":"            config_drive_type \u003d prop"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    return config_drive_type"},{"line_number":315,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2F%2BxM%3D","line":312,"in_reply_to":"AAAAQn%2F%2F%2F%2B4%3D","updated":"2013-07-18 03:12:29.000000000","message":"Yeah it would be simpler just to have config_drive_format also control the device type (cdrom/disk) of config drive, but that would change the current behavior of config drive, and break things that work on the assumption of config drive being a disk device even for iso9660 filesystem. Would that be an issue?","commit_id":"f5fac77945e14ade0ab228d01a3ede86738134c0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5e8d292dedbbbd1dd42245f355c1d5541f8a8df4","unresolved":false,"context_lines":[{"line_number":303,"context_line":"       Returns a string indicating the config drive type."},{"line_number":304,"context_line":"    \"\"\""},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    if CONF.config_drive_format \u003d\u003d \u0027iso9660\u0027:"},{"line_number":307,"context_line":"        config_drive_type \u003d \u0027cdrom\u0027"},{"line_number":308,"context_line":"    elif CONF.config_drive_format \u003d\u003d \u0027vfat\u0027:"},{"line_number":309,"context_line":"        config_drive_type \u003d \u0027disk\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F82s%3D","line":306,"updated":"2013-07-18 16:08:12.000000000","message":"I was worried about the hard-coded values but this is consistent with the configdrive module so that\u0027s good:\n\nhttps://github.com/openstack/nova/blob/master/nova/virt/configdrive.py#L155","commit_id":"cc2c4e04ba14d2b0f686f5692822624f7bfeac9a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5e8d292dedbbbd1dd42245f355c1d5541f8a8df4","unresolved":false,"context_lines":[{"line_number":434,"context_line":"    if configdrive.required_by(instance):"},{"line_number":435,"context_line":"        device_type \u003d get_config_drive_type()"},{"line_number":436,"context_line":"        disk_bus \u003d get_disk_bus_for_device_type(virt_type,"},{"line_number":437,"context_line":"                                                None,"},{"line_number":438,"context_line":"                                                device_type)"},{"line_number":439,"context_line":"        config_info \u003d get_next_disk_info(mapping,"},{"line_number":440,"context_line":"                                         disk_bus,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F810%3D","line":437,"updated":"2013-07-18 16:08:12.000000000","message":"Why aren\u0027t you passing image_meta in here? You have it available.","commit_id":"cc2c4e04ba14d2b0f686f5692822624f7bfeac9a"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"4268551eaa46bbe0183b3d829b4323d335b1b57d","unresolved":false,"context_lines":[{"line_number":434,"context_line":"    if configdrive.required_by(instance):"},{"line_number":435,"context_line":"        device_type \u003d get_config_drive_type()"},{"line_number":436,"context_line":"        disk_bus \u003d get_disk_bus_for_device_type(virt_type,"},{"line_number":437,"context_line":"                                                None,"},{"line_number":438,"context_line":"                                                device_type)"},{"line_number":439,"context_line":"        config_info \u003d get_next_disk_info(mapping,"},{"line_number":440,"context_line":"                                         disk_bus,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F8AE%3D","line":437,"in_reply_to":"AAAAQn%2F%2F810%3D","updated":"2013-07-18 20:10:31.000000000","message":"I thought disk bus was only decided by device type without regard to image_meta. But having a second thought, yeah, it\u0027s better to have it respect image_meta here.","commit_id":"cc2c4e04ba14d2b0f686f5692822624f7bfeac9a"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7ca903cc0d8eba7a5bb76ce9c706003ffb953fb3","unresolved":false,"context_lines":[{"line_number":217,"context_line":"                help\u003d\u0027Which pcpus can be used by vcpus of instance \u0027"},{"line_number":218,"context_line":"                     \u0027e.g: \"4-12,^8,15\"\u0027),"},{"line_number":219,"context_line":"    cfg.BoolOpt(\u0027config_drive_cdrom\u0027,"},{"line_number":220,"context_line":"                default\u003dFalse,"},{"line_number":221,"context_line":"                help\u003d\u0027Attaches the config drive image as a cdrom drive \u0027"},{"line_number":222,"context_line":"                     \u0027instead of a disk drive\u0027),"},{"line_number":223,"context_line":"    ]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fr2w%3D","line":220,"updated":"2013-07-13 01:23:50.000000000","message":"Alignment seems a bit off here but maybe it\u0027s just my browser.","commit_id":"45d90e35921457b8bdc7d4d785e6044369482418"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"4a635e20c714a63deee35f52c41db867e39f2278","unresolved":false,"context_lines":[{"line_number":217,"context_line":"                help\u003d\u0027Which pcpus can be used by vcpus of instance \u0027"},{"line_number":218,"context_line":"                     \u0027e.g: \"4-12,^8,15\"\u0027),"},{"line_number":219,"context_line":"    cfg.BoolOpt(\u0027config_drive_cdrom\u0027,"},{"line_number":220,"context_line":"                default\u003dFalse,"},{"line_number":221,"context_line":"                help\u003d\u0027Attaches the config drive image as a cdrom drive \u0027"},{"line_number":222,"context_line":"                     \u0027instead of a disk drive\u0027),"},{"line_number":223,"context_line":"    ]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FrQo%3D","line":220,"in_reply_to":"AAAAP3%2F%2Fr2w%3D","updated":"2013-07-13 21:45:31.000000000","message":"If you are referring to the default line being aligned with the quote mark in the above line or the first letter in the quote mark (the letter c), I think it\u0027s fine being the way it is since most of the option lines in the libvirt_opts list are presented this way.","commit_id":"45d90e35921457b8bdc7d4d785e6044369482418"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bf115dd16fcf90859ed8bd701c3a1ff8f09ea7dd","unresolved":false,"context_lines":[{"line_number":219,"context_line":"    cfg.BoolOpt(\u0027config_drive_cdrom\u0027,"},{"line_number":220,"context_line":"                default\u003dFalse,"},{"line_number":221,"context_line":"                help\u003d\u0027Attaches the config drive image as a cdrom drive \u0027"},{"line_number":222,"context_line":"                     \u0027instead of a disk drive\u0027),"},{"line_number":223,"context_line":"    ]"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FpFI%3D","line":222,"updated":"2013-07-15 14:10:08.000000000","message":"Using a global config parameter for switching between disk \u0026 cdrom for the config driver is an *awful* solution for something which needs to vary according to the OS being run. \n\nYou should define a standard glance image property to control this choice, so it can be set per-image uploaded. We already have precedent for this kind of approach\nfrom commit 2c9eba280a78e4159267d4a56a09df9076c844d3 \u0026 66a7f044f5143feaf7046cebafea3df3ea95e04b\n\nYou can do this to choose disk/nic models\n\n    # glance image-update \\\n                   --property hw_disk_bus\u003dide \\\n                   --property hw_cdrom_bus\u003dide \\\n                   --property hw_vif_model\u003de1000 \\\n                   f16-x86_64-openstack-sda\n    \n\nI\u0027d suggest we consider something like\n\n  hw_config_drive\u003ddisk|cdrom|floppy","commit_id":"45d90e35921457b8bdc7d4d785e6044369482418"}]}
