)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"703dd22adfedefc6963c0e211429ce8ac3f0e328","unresolved":false,"context_lines":[{"line_number":337,"context_line":"# delete it \u0026 corresponding code using it"},{"line_number":338,"context_line":"MIN_LIBVIRT_DEVICE_CALLBACK_VERSION \u003d (1, 1, 1)"},{"line_number":339,"context_line":"# Live snapshot requirements"},{"line_number":340,"context_line":"REQ_HYPERVISOR_LIVESNAPSHOT \u003d \"QEMU\""},{"line_number":341,"context_line":"MIN_LIBVIRT_LIVESNAPSHOT_VERSION \u003d (1, 0, 0)"},{"line_number":342,"context_line":"MIN_QEMU_LIVESNAPSHOT_VERSION \u003d (1, 3, 0)"},{"line_number":343,"context_line":"# block size tuning requirements"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_d1ced159","side":"PARENT","line":340,"updated":"2015-04-23 07:24:11.000000000","message":"You can probably remove this one too","commit_id":"e8ce5480a661234fb25a29b8d9ffba945780d3a1"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"7a57aa645df354ed87e5c3c68949c8855c3454fc","unresolved":false,"context_lines":[{"line_number":337,"context_line":"# delete it \u0026 corresponding code using it"},{"line_number":338,"context_line":"MIN_LIBVIRT_DEVICE_CALLBACK_VERSION \u003d (1, 1, 1)"},{"line_number":339,"context_line":"# Live snapshot requirements"},{"line_number":340,"context_line":"REQ_HYPERVISOR_LIVESNAPSHOT \u003d \"QEMU\""},{"line_number":341,"context_line":"MIN_LIBVIRT_LIVESNAPSHOT_VERSION \u003d (1, 0, 0)"},{"line_number":342,"context_line":"MIN_QEMU_LIVESNAPSHOT_VERSION \u003d (1, 3, 0)"},{"line_number":343,"context_line":"# block size tuning requirements"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_eadaec77","side":"PARENT","line":340,"in_reply_to":"bab921fb_d1ced159","updated":"2015-04-23 15:38:06.000000000","message":"Done","commit_id":"e8ce5480a661234fb25a29b8d9ffba945780d3a1"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"703dd22adfedefc6963c0e211429ce8ac3f0e328","unresolved":false,"context_lines":[{"line_number":332,"context_line":"    VIR_DOMAIN_PMSUSPENDED: power_state.SUSPENDED,"},{"line_number":333,"context_line":"}"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"HYPERVISOR_QEMU \u003d \"QEMU\""},{"line_number":336,"context_line":"MIN_LIBVIRT_VERSION \u003d (0, 9, 11)"},{"line_number":337,"context_line":"# When the above version matches/exceeds this version"},{"line_number":338,"context_line":"# delete it \u0026 corresponding code using it"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_d1513164","line":335,"updated":"2015-04-23 07:24:11.000000000","message":"Actually we have a module that define hypervisors, We can probably reuse it instead of define new constant here.\n\n  nova.compute.hv_type.QEMU\n\nThe method _version_check needs to be updated to formalize the name:\n  ...\n  hypervisor_type.lower() !\u003d hv_type\n  ...","commit_id":"ca6c5144e189def8d1f9d97521a38f45f5e6e162"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"7a57aa645df354ed87e5c3c68949c8855c3454fc","unresolved":false,"context_lines":[{"line_number":332,"context_line":"    VIR_DOMAIN_PMSUSPENDED: power_state.SUSPENDED,"},{"line_number":333,"context_line":"}"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"HYPERVISOR_QEMU \u003d \"QEMU\""},{"line_number":336,"context_line":"MIN_LIBVIRT_VERSION \u003d (0, 9, 11)"},{"line_number":337,"context_line":"# When the above version matches/exceeds this version"},{"line_number":338,"context_line":"# delete it \u0026 corresponding code using it"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_cae7283f","line":335,"in_reply_to":"bab921fb_d1513164","updated":"2015-04-23 15:38:06.000000000","message":"Done","commit_id":"ca6c5144e189def8d1f9d97521a38f45f5e6e162"}],"nova/virt/libvirt/host.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"ef669502b2adf6a3267bf29e40873c0739dad224","unresolved":false,"context_lines":[{"line_number":553,"context_line":"        \"\"\"Check libvirt version, hypervisor version, and hypervisor"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"        The hypervisor is expected to be specified as one of the"},{"line_number":556,"context_line":"        hypervisors in nova.compute.hv_type"},{"line_number":557,"context_line":"        \"\"\""},{"line_number":558,"context_line":"        conn \u003d self.get_connection()"},{"line_number":559,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab921fb_66d95083","line":556,"updated":"2015-04-24 07:09:57.000000000","message":"nit; usually we use some specifics rules to explain the inputs\n\n  :param hv_type: nova.compute.hv_type","commit_id":"705a4209034cad9656a274f0b92fb50ea2358eb8"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"82ea38fa34a473aabd8419fe8992e30706ed72e2","unresolved":false,"context_lines":[{"line_number":553,"context_line":"        \"\"\"Check libvirt version, hypervisor version, and hypervisor"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"        The hypervisor is expected to be specified as one of the"},{"line_number":556,"context_line":"        hypervisors in nova.compute.hv_type"},{"line_number":557,"context_line":"        \"\"\""},{"line_number":558,"context_line":"        conn \u003d self.get_connection()"},{"line_number":559,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ad32947_5049b4cf","line":556,"in_reply_to":"bab921fb_66d95083","updated":"2015-04-27 15:50:43.000000000","message":"Done","commit_id":"705a4209034cad9656a274f0b92fb50ea2358eb8"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"e4d6c047560805f794a0ffe6fe429a9090ea553f","unresolved":false,"context_lines":[{"line_number":568,"context_line":"                    return False"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"            if hv_type is not None:"},{"line_number":571,"context_line":"                hypervisor_type \u003d hv_canonicalize(conn.getType())"},{"line_number":572,"context_line":"                if hypervisor_type !\u003d hv_type:"},{"line_number":573,"context_line":"                    return False"},{"line_number":574,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1aca2d91_78d1f056","line":571,"updated":"2015-05-07 14:18:22.000000000","message":"No, this is really very wrong.\n\nThe nova.compute.hv_type constants are referring to hypervisor names.\n\nThe libvirt  getType() API is returning the libvirt *driver* name. \n\nThese are *not* the same thing.\n\nA single libvirt driver can support multiple hypervisor types. ie \"QEMU\" driver supports \"qemu\", \"kqemu\" and \"kvm\" hypervisors.","commit_id":"4002c5a44de9b6daa06055ef711b6b266163a9fd"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"5e429c4ea22df13e93cfa1dc05e8a31b4a9b63ef","unresolved":false,"context_lines":[{"line_number":568,"context_line":"                    return False"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"            if hv_type is not None:"},{"line_number":571,"context_line":"                hypervisor_type \u003d hv_canonicalize(conn.getType())"},{"line_number":572,"context_line":"                if hypervisor_type !\u003d hv_type:"},{"line_number":573,"context_line":"                    return False"},{"line_number":574,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1aca2d91_f397638e","line":571,"in_reply_to":"1aca2d91_78d1f056","updated":"2015-05-07 14:39:36.000000000","message":"Thanks for the clarification.  Is there a list of libvirt hypervisor driver names defined somewhere or should I just go back to like I had it in patch version 2 and hardcode the \"QEMU\" string in virt/libvirt/driver.py?","commit_id":"4002c5a44de9b6daa06055ef711b6b266163a9fd"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"00cd49469d7fd9cacb46f7a1efb63d8e396cda57","unresolved":false,"context_lines":[{"line_number":568,"context_line":"                    return False"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"            if hv_type is not None:"},{"line_number":571,"context_line":"                hypervisor_type \u003d hv_canonicalize(conn.getType())"},{"line_number":572,"context_line":"                if hypervisor_type !\u003d hv_type:"},{"line_number":573,"context_line":"                    return False"},{"line_number":574,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1aca2d91_13d53fb8","line":571,"in_reply_to":"1aca2d91_f397638e","updated":"2015-05-07 14:51:56.000000000","message":"There\u0027s no list of libvirt driver names recorded in nova currently, so i\u0027d ust use the string format, or define some constants on the Host() class.","commit_id":"4002c5a44de9b6daa06055ef711b6b266163a9fd"}]}
