)]}'
{"nova/exception.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"c330011d4afcdeaa5e7b3b6cdc1762b90185a5f8","unresolved":false,"context_lines":[{"line_number":246,"context_line":"    message \u003d _(\"Keypair data is invalid\")"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"class InvalidConfiguration(Invalid):"},{"line_number":250,"context_line":"    message \u003d _(\"The configuration option %(option)s has an invalid value.\")"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F%2FDM%3D","line":249,"updated":"2013-06-15 11:54:02.000000000","message":"it would be nice to list what that invalid value is.","commit_id":"e5aec32bc0132bc0708bef65553cb58bf4908b07"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"4c496ccb13d37c374aa00811e86d980c76778c1d","unresolved":false,"context_lines":[{"line_number":246,"context_line":"    message \u003d _(\"Keypair data is invalid\")"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"class InvalidConfiguration(Invalid):"},{"line_number":250,"context_line":"    message \u003d _(\"The configuration option %(option)s has an invalid value.\")"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F9yE%3D","line":249,"in_reply_to":"AAAAPn%2F%2F%2FDM%3D","updated":"2013-06-17 08:59:00.000000000","message":"Done","commit_id":"e5aec32bc0132bc0708bef65553cb58bf4908b07"}],"nova/tests/virt/libvirt/test_libvirt.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"c21592cc47ec9c02d8e54d95b71c4c05626949f3","unresolved":false,"context_lines":[{"line_number":4560,"context_line":"    def test_pick_disk_driver_name_xen(self):"},{"line_number":4561,"context_line":"        map_ \u003d ((\"blktap\", \"tap\"),"},{"line_number":4562,"context_line":"                (\"blktap2\", \"tap2\"),"},{"line_number":4563,"context_line":"                (\"file\", \"file\"))"},{"line_number":4564,"context_line":""},{"line_number":4565,"context_line":"        self.flags(libvirt_type\u003d\"xen\")"},{"line_number":4566,"context_line":"        for driver, expected_result in map_:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fvtk%3D","line":4563,"updated":"2013-06-11 14:41:09.000000000","message":"You\u0027re not testing invalid names.","commit_id":"18b711f6ee8c32064123e727108655c4f1cbc5d0"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"168a294c3566028c9f382611d19be644d7ae6012","unresolved":false,"context_lines":[{"line_number":4560,"context_line":"    def test_pick_disk_driver_name_xen(self):"},{"line_number":4561,"context_line":"        map_ \u003d ((\"blktap\", \"tap\"),"},{"line_number":4562,"context_line":"                (\"blktap2\", \"tap2\"),"},{"line_number":4563,"context_line":"                (\"file\", \"file\"))"},{"line_number":4564,"context_line":""},{"line_number":4565,"context_line":"        self.flags(libvirt_type\u003d\"xen\")"},{"line_number":4566,"context_line":"        for driver, expected_result in map_:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FtjY%3D","line":4563,"in_reply_to":"AAAAPX%2F%2Fvtk%3D","updated":"2013-06-12 07:32:09.000000000","message":"Done","commit_id":"18b711f6ee8c32064123e727108655c4f1cbc5d0"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"aa0c294b6e2dc8f0ff3a1be363fbdde3dfbd097a","unresolved":false,"context_lines":[{"line_number":2097,"context_line":"                                  disk_info[\u0027type\u0027],"},{"line_number":2098,"context_line":"                                  self.disk_cachemode,"},{"line_number":2099,"context_line":"                                  inst_type[\u0027extra_specs\u0027],"},{"line_number":2100,"context_line":"                                  self.get_hypervisor_version())"},{"line_number":2101,"context_line":""},{"line_number":2102,"context_line":"    def get_guest_storage_config(self, instance, image_meta,"},{"line_number":2103,"context_line":"                                 disk_info,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2FfJU%3D","line":2100,"updated":"2013-06-30 10:36:38.000000000","message":"Would it be better to call the get_hypervisor_version() in the __init__ method? It could save a function call if we have self.hypervisor_version.","commit_id":"9502f7644207b7e88ebd78d1856458961da2ad51"}],"nova/virt/libvirt/utils.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"c21592cc47ec9c02d8e54d95b71c4c05626949f3","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            return \"tap2\""},{"line_number":387,"context_line":"        elif CONF.libvirt_xen_disk_driver \u003d\u003d \"blktap\":"},{"line_number":388,"context_line":"            return \"tap\""},{"line_number":389,"context_line":"        else:"},{"line_number":390,"context_line":"            return \"file\""},{"line_number":391,"context_line":"    elif CONF.libvirt_type in (\u0027kvm\u0027, \u0027qemu\u0027):"},{"line_number":392,"context_line":"        return \"qemu\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fvto%3D","line":389,"updated":"2013-06-11 14:41:09.000000000","message":"I don\u0027t think any random value should default to \"file\".  What about a typo like \"bllktp2\"?  I would check for \"file\" and raise if a non-allowed value is used.","commit_id":"18b711f6ee8c32064123e727108655c4f1cbc5d0"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"168a294c3566028c9f382611d19be644d7ae6012","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            return \"tap2\""},{"line_number":387,"context_line":"        elif CONF.libvirt_xen_disk_driver \u003d\u003d \"blktap\":"},{"line_number":388,"context_line":"            return \"tap\""},{"line_number":389,"context_line":"        else:"},{"line_number":390,"context_line":"            return \"file\""},{"line_number":391,"context_line":"    elif CONF.libvirt_type in (\u0027kvm\u0027, \u0027qemu\u0027):"},{"line_number":392,"context_line":"        return \"qemu\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FtjM%3D","line":389,"in_reply_to":"AAAAPX%2F%2Fvto%3D","updated":"2013-06-12 07:32:09.000000000","message":"David, you\u0027re totally right.","commit_id":"18b711f6ee8c32064123e727108655c4f1cbc5d0"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"79c4f2ca01a4a383c14012eb51d73db49dfe0be6","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"libvirt_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027libvirt_xen_disk_driver\u0027,"},{"line_number":37,"context_line":"                default\u003d\"blktap2\","},{"line_number":38,"context_line":"                help\u003d\"Which driver should be used. Valid \""},{"line_number":39,"context_line":"                     \"values are \u0027blktap\u0027, \u0027blktap2\u0027 and \u0027file\u0027 \""},{"line_number":40,"context_line":"                     \"(default is \u0027blktap2\u0027)\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2Ftfc%3D","line":37,"updated":"2013-06-12 08:08:53.000000000","message":"Apologies I should have caught this in the first patch. In the original the default return is tap not tap2. It\u0027s best to retain the default when introducing new config options.","commit_id":"a5b9cced1ad39ad778aaeb334627a072a5d5a978"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"c9c2b97ae4fcaf3ff4f66ac945f254bc14ed3f04","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"libvirt_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027libvirt_xen_disk_driver\u0027,"},{"line_number":37,"context_line":"                default\u003d\"blktap2\","},{"line_number":38,"context_line":"                help\u003d\"Which driver should be used. Valid \""},{"line_number":39,"context_line":"                     \"values are \u0027blktap\u0027, \u0027blktap2\u0027 and \u0027file\u0027 \""},{"line_number":40,"context_line":"                     \"(default is \u0027blktap2\u0027)\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2FtVE%3D","line":37,"in_reply_to":"AAAAPX%2F%2FtXs%3D","updated":"2013-06-12 10:14:12.000000000","message":"Done.","commit_id":"a5b9cced1ad39ad778aaeb334627a072a5d5a978"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"627d71451c28c74a424d786ed9235f999d79ba48","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"libvirt_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027libvirt_xen_disk_driver\u0027,"},{"line_number":37,"context_line":"                default\u003d\"blktap2\","},{"line_number":38,"context_line":"                help\u003d\"Which driver should be used. Valid \""},{"line_number":39,"context_line":"                     \"values are \u0027blktap\u0027, \u0027blktap2\u0027 and \u0027file\u0027 \""},{"line_number":40,"context_line":"                     \"(default is \u0027blktap2\u0027)\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2FtXs%3D","line":37,"in_reply_to":"AAAAPX%2F%2FtbE%3D","updated":"2013-06-12 09:11:54.000000000","message":"I understand your point but if anyone is currently relying on this behaviour this will break for them while anyone who can\u0027t use this option because tap isn\u0027t supported in their system currently will probably need to make changes to their configuration no matter what once this change comes in.","commit_id":"a5b9cced1ad39ad778aaeb334627a072a5d5a978"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"92b4951d3e65f6c20efe69c141f87ae1976342f7","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"libvirt_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027libvirt_xen_disk_driver\u0027,"},{"line_number":37,"context_line":"                default\u003d\"blktap2\","},{"line_number":38,"context_line":"                help\u003d\"Which driver should be used. Valid \""},{"line_number":39,"context_line":"                     \"values are \u0027blktap\u0027, \u0027blktap2\u0027 and \u0027file\u0027 \""},{"line_number":40,"context_line":"                     \"(default is \u0027blktap2\u0027)\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2FtbE%3D","line":37,"in_reply_to":"AAAAPX%2F%2Ftfc%3D","updated":"2013-06-12 08:47:06.000000000","message":"I also thought about this, and I agree with you that we sould retain the same default, but AFAIK, the \"tap\" driver won\u0027t work in the majority of systems (the \"tap\" driver is deprecated and it is not included in may distributions such as ubuntu and debian). Maybe I am completely wrong, so I am ok to change it to tap instead of tap2.","commit_id":"a5b9cced1ad39ad778aaeb334627a072a5d5a978"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"c330011d4afcdeaa5e7b3b6cdc1762b90185a5f8","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            return \"file\""},{"line_number":392,"context_line":"        else:"},{"line_number":393,"context_line":"            raise exception.InvalidConfiguration("},{"line_number":394,"context_line":"                    option\u003d\"libvirt_xen_disk_driver\")"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    elif CONF.libvirt_type in (\u0027kvm\u0027, \u0027qemu\u0027):"},{"line_number":397,"context_line":"        return \"qemu\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F%2FDI%3D","line":394,"updated":"2013-06-15 11:54:02.000000000","message":"As an opperator I\u0027d really like to see what the invalid value is, so I could see that I did something stupid like typed bkltap and not go blind looking for it.","commit_id":"e5aec32bc0132bc0708bef65553cb58bf4908b07"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"4c496ccb13d37c374aa00811e86d980c76778c1d","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            return \"file\""},{"line_number":392,"context_line":"        else:"},{"line_number":393,"context_line":"            raise exception.InvalidConfiguration("},{"line_number":394,"context_line":"                    option\u003d\"libvirt_xen_disk_driver\")"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    elif CONF.libvirt_type in (\u0027kvm\u0027, \u0027qemu\u0027):"},{"line_number":397,"context_line":"        return \"qemu\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F9yI%3D","line":394,"in_reply_to":"AAAAPn%2F%2F%2FDI%3D","updated":"2013-06-17 08:59:00.000000000","message":"Done","commit_id":"e5aec32bc0132bc0708bef65553cb58bf4908b07"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"08b043361444fdf1faf209d1d583f276ae9e11db","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                default\u003d\"blktap\","},{"line_number":38,"context_line":"                help\u003d\"Which driver should be used. Valid \""},{"line_number":39,"context_line":"                     \"values are \u0027blktap\u0027, \u0027blktap2\u0027 and \u0027file\u0027 \""},{"line_number":40,"context_line":"                     \"(default is \u0027blktap2\u0027)\"),"},{"line_number":41,"context_line":"    cfg.BoolOpt(\u0027libvirt_snapshot_compression\u0027,"},{"line_number":42,"context_line":"                default\u003dFalse,"},{"line_number":43,"context_line":"                help\u003d\u0027Compress snapshot images when possible. This \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2Fiaw%3D","line":40,"updated":"2013-06-28 08:53:07.000000000","message":"Config prameters like this are a disease. By requiring a config parameter you\u0027re guaranteeing the default config will be broken for some non-trivial % of installs. We should ask libvirt what version of Xen we are talking to, and then pick the right blktap driver that is best for that version automatically. There is also never any reason to use the \u0027file\u0027 driver either - that is known to result in data loss on host crash \u0026 its use is strongly discouraged","commit_id":"716b609a5ba44945ea5a4eb593a33f02b9a095d5"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"8aeb4153863c143e508f9ed525888d0a85a7a24f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                default\u003d\"blktap\","},{"line_number":38,"context_line":"                help\u003d\"Which driver should be used. Valid \""},{"line_number":39,"context_line":"                     \"values are \u0027blktap\u0027, \u0027blktap2\u0027 and \u0027file\u0027 \""},{"line_number":40,"context_line":"                     \"(default is \u0027blktap2\u0027)\"),"},{"line_number":41,"context_line":"    cfg.BoolOpt(\u0027libvirt_snapshot_compression\u0027,"},{"line_number":42,"context_line":"                default\u003dFalse,"},{"line_number":43,"context_line":"                help\u003d\u0027Compress snapshot images when possible. This \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FiJs%3D","line":40,"in_reply_to":"AAAAPn%2F%2Fiaw%3D","updated":"2013-06-28 11:31:49.000000000","message":"Done, what you\u0027re exposing is quite reasonable.","commit_id":"716b609a5ba44945ea5a4eb593a33f02b9a095d5"}],"nova/virt/libvirt/volume.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"aa0c294b6e2dc8f0ff3a1be363fbdde3dfbd097a","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        conf \u003d vconfig.LibvirtConfigGuestDisk()"},{"line_number":91,"context_line":"        conf.driver_name \u003d virtutils.pick_disk_driver_name("},{"line_number":92,"context_line":"            self.connection.get_hypervisor_version(),"},{"line_number":93,"context_line":"            self.is_block_dev"},{"line_number":94,"context_line":"        )"},{"line_number":95,"context_line":"        conf.device_type \u003d disk_info[\u0027type\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2FfJQ%3D","line":92,"updated":"2013-06-30 10:36:38.000000000","message":"same point here.","commit_id":"9502f7644207b7e88ebd78d1856458961da2ad51"}]}
