)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"dc54c1fe8da023eda478c59a5fb7f7a4eb30fc22","unresolved":false,"context_lines":[{"line_number":7,"context_line":"libvirt: rename parallels driver to virtuozzo"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As Parallels Cloud Server product was renamed within Parallels company rebranding procedure"},{"line_number":10,"context_line":"we need to change its reference in nova/lbvirt driver accordinly."},{"line_number":11,"context_line":"Libvirt section in nova.conf will change \u0027virt_type\u0027 from \u0027parallels\u0027 to \u0027vz\u0027."},{"line_number":12,"context_line":"Since libvirt version that supports \u0027vz\u0027 uri is going to be 1.2.17, we bump"},{"line_number":13,"context_line":"minimal required version of it here too."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3afb71cf_6c07131d","line":10,"updated":"2015-06-07 11:25:19.000000000","message":"accordinly \u003d\u003e accordingly","commit_id":"6ed0cff0a0cbbc6d62ecb775ef5e040c382c3230"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"dc54c1fe8da023eda478c59a5fb7f7a4eb30fc22","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Since libvirt version that supports \u0027vz\u0027 uri is going to be 1.2.17, we bump"},{"line_number":13,"context_line":"minimal required version of it here too."},{"line_number":14,"context_line":"To make the process smoother we are going to keep both virt types for at least"},{"line_number":15,"context_line":"one relese cycle."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I536e4284927508a813edd05f185f7ba0ed76d38c"},{"line_number":18,"context_line":"implements: blueprint rename-pcs-to-virtuozzo"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3afb71cf_2f00ed00","line":15,"updated":"2015-06-07 11:25:19.000000000","message":"relese \u003d\u003e release","commit_id":"6ed0cff0a0cbbc6d62ecb775ef5e040c382c3230"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"dc54c1fe8da023eda478c59a5fb7f7a4eb30fc22","unresolved":false,"context_lines":[{"line_number":13,"context_line":"minimal required version of it here too."},{"line_number":14,"context_line":"To make the process smoother we are going to keep both virt types for at least"},{"line_number":15,"context_line":"one relese cycle."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I536e4284927508a813edd05f185f7ba0ed76d38c"},{"line_number":18,"context_line":"implements: blueprint rename-pcs-to-virtuozzo"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3afb71cf_4c02170d","line":16,"updated":"2015-06-07 11:25:19.000000000","message":"This should have a DocImpact flag as this needs to be documented","commit_id":"6ed0cff0a0cbbc6d62ecb775ef5e040c382c3230"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"f3ecd8b77567366f51667bfa91d20d187d0f122e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"minimal required version of it here too."},{"line_number":14,"context_line":"To make the process smoother we are going to keep both virt types for at least"},{"line_number":15,"context_line":"one relese cycle."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I536e4284927508a813edd05f185f7ba0ed76d38c"},{"line_number":18,"context_line":"implements: blueprint rename-pcs-to-virtuozzo"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3afb71cf_277da2b1","line":16,"in_reply_to":"3afb71cf_4c02170d","updated":"2015-06-08 10:33:20.000000000","message":"Ok. In the nect version I\u0027ll correct this.","commit_id":"6ed0cff0a0cbbc6d62ecb775ef5e040c382c3230"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":18,"context_line":"To make the process smoother we are going to keep both virt types for at least"},{"line_number":19,"context_line":"one release cycle."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DOCImpact."},{"line_number":22,"context_line":"Change-Id: I536e4284927508a813edd05f185f7ba0ed76d38c"},{"line_number":23,"context_line":"implements: blueprint rename-pcs-to-virtuozzo"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"fa32b979_f4c0ebe1","line":21,"updated":"2015-06-25 16:55:04.000000000","message":"Technically the tag is \"DocImpact\":\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Including_external_references","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"5d756beed9618dde5129a203f705e9480734f857","unresolved":false,"context_lines":[{"line_number":18,"context_line":"To make the process smoother we are going to keep both virt types for at least"},{"line_number":19,"context_line":"one release cycle."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DOCImpact."},{"line_number":22,"context_line":"Change-Id: I536e4284927508a813edd05f185f7ba0ed76d38c"},{"line_number":23,"context_line":"implements: blueprint rename-pcs-to-virtuozzo"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"fa32b979_e067c122","line":21,"in_reply_to":"fa32b979_caef3e85","updated":"2015-06-25 18:25:05.000000000","message":"I\u0027m afraid we\u0027re dealing here with trademark issue. I\u0027ll double check.","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"68431ea5b68ff3b706c460559120ed90462dc19f","unresolved":false,"context_lines":[{"line_number":18,"context_line":"To make the process smoother we are going to keep both virt types for at least"},{"line_number":19,"context_line":"one release cycle."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DOCImpact."},{"line_number":22,"context_line":"Change-Id: I536e4284927508a813edd05f185f7ba0ed76d38c"},{"line_number":23,"context_line":"implements: blueprint rename-pcs-to-virtuozzo"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"fa32b979_08152b9a","line":21,"in_reply_to":"fa32b979_caef3e85","updated":"2015-06-25 19:35:47.000000000","message":"UpgradeImpact added.","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"68431ea5b68ff3b706c460559120ed90462dc19f","unresolved":false,"context_lines":[{"line_number":18,"context_line":"To make the process smoother we are going to keep both virt types for at least"},{"line_number":19,"context_line":"one release cycle."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DOCImpact."},{"line_number":22,"context_line":"Change-Id: I536e4284927508a813edd05f185f7ba0ed76d38c"},{"line_number":23,"context_line":"implements: blueprint rename-pcs-to-virtuozzo"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"fa32b979_28d90f23","line":21,"in_reply_to":"fa32b979_f4c0ebe1","updated":"2015-06-25 19:35:47.000000000","message":"Done","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8760b2391d683be997ef3a4cbe61692dae947275","unresolved":false,"context_lines":[{"line_number":18,"context_line":"To make the process smoother we are going to keep both virt types for at least"},{"line_number":19,"context_line":"one release cycle."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DOCImpact."},{"line_number":22,"context_line":"Change-Id: I536e4284927508a813edd05f185f7ba0ed76d38c"},{"line_number":23,"context_line":"implements: blueprint rename-pcs-to-virtuozzo"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"fa32b979_caef3e85","line":21,"in_reply_to":"fa32b979_f4c0ebe1","updated":"2015-06-25 17:10:06.000000000","message":"This would also be UpgradeImpact so it\u0027s in the release notes that there is a time table for deprecation and usage of the parallels virt_type value.\n\nHowever, I also agree with dansmith in that I don\u0027t think we really need to go to this length with a rename on a product change.\n\nFor example, IBM renamed GPFS a couple of times since it\u0027s been in nova and cinder but they aren\u0027t renaming the thing since that\u0027s what people know it as - and that\u0027s how it\u0027s written all over the code.","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"}],"doc/source/support-matrix.ini":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b33b2629ed670239e089b1b3f4e6bbbfae610ba","unresolved":false,"context_lines":[{"line_number":78,"context_line":"driver-impl-libvirt-qemu-x86\u003dLibvirt QEMU (x86)"},{"line_number":79,"context_line":"driver-impl-libvirt-lxc\u003dLibvirt LXC"},{"line_number":80,"context_line":"driver-impl-libvirt-xen\u003dLibvirt Xen"},{"line_number":81,"context_line":"driver-impl-libvirt-vz-vm\u003dLibvirt Virtuozzo VM"},{"line_number":82,"context_line":"driver-impl-libvirt-vz-ct\u003dLibvirt Virtuozzo CT"},{"line_number":83,"context_line":"driver-impl-vmware\u003dVMware vCenter"},{"line_number":84,"context_line":"driver-impl-hyperv\u003dHyper-V"}],"source_content_type":"text/x-properties","patch_set":16,"id":"ba3cc151_cdc3aa56","line":81,"updated":"2015-07-10 19:16:09.000000000","message":"If the rest of the code is going to have \u0027parallels\u0027 in it, I feel like we should add a new \"Notes\" section to the bottom of the hypervisor support matrix doc page which is just a bullet list of general notes, and one of those would be mentioning that Virtuozzo was formerly named Parallels.  A new Notes section could be added in the docs here:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/doc/ext/support_matrix.py#n261\n\nAdd a _build_notes() method similar to the _build_summary and _build_details, only much simpler since it\u0027s just hard-coded notes (or the notes could live in the ini file somewhere under a [notes] section.","commit_id":"899489d7cc34b9d315533e55d30420861c1946c7"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"425c22d0f7e836366e2ede8a401aff63101796d6","unresolved":false,"context_lines":[{"line_number":78,"context_line":"driver-impl-libvirt-qemu-x86\u003dLibvirt QEMU (x86)"},{"line_number":79,"context_line":"driver-impl-libvirt-lxc\u003dLibvirt LXC"},{"line_number":80,"context_line":"driver-impl-libvirt-xen\u003dLibvirt Xen"},{"line_number":81,"context_line":"driver-impl-libvirt-vz-vm\u003dLibvirt Virtuozzo VM"},{"line_number":82,"context_line":"driver-impl-libvirt-vz-ct\u003dLibvirt Virtuozzo CT"},{"line_number":83,"context_line":"driver-impl-vmware\u003dVMware vCenter"},{"line_number":84,"context_line":"driver-impl-hyperv\u003dHyper-V"}],"source_content_type":"text/x-properties","patch_set":16,"id":"9a41bdd9_3e733317","line":81,"in_reply_to":"ba3cc151_cdc3aa56","updated":"2015-07-13 19:23:13.000000000","message":"Ok","commit_id":"899489d7cc34b9d315533e55d30420861c1946c7"}],"nova/compute/hv_type.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":36,"context_line":"KQEMU \u003d \"kqemu\""},{"line_number":37,"context_line":"KVM \u003d \"kvm\""},{"line_number":38,"context_line":"LXC \u003d \"lxc\""},{"line_number":39,"context_line":"OPENVZ \u003d \"openvz\""},{"line_number":40,"context_line":"VIRTUOZZO \u003d \"vz\""},{"line_number":41,"context_line":"PARALLELS \u003d \"parallels\""},{"line_number":42,"context_line":"PHYP \u003d \"phyp\""}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_4fe900e5","line":39,"updated":"2015-06-25 16:55:04.000000000","message":"What is the difference between \u0027vz\u0027 and \u0027openvz\u0027?  Is \u0027vz\u0027 proprietary but based on \u0027openvz\u0027?","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"5d756beed9618dde5129a203f705e9480734f857","unresolved":false,"context_lines":[{"line_number":36,"context_line":"KQEMU \u003d \"kqemu\""},{"line_number":37,"context_line":"KVM \u003d \"kvm\""},{"line_number":38,"context_line":"LXC \u003d \"lxc\""},{"line_number":39,"context_line":"OPENVZ \u003d \"openvz\""},{"line_number":40,"context_line":"VIRTUOZZO \u003d \"vz\""},{"line_number":41,"context_line":"PARALLELS \u003d \"parallels\""},{"line_number":42,"context_line":"PHYP \u003d \"phyp\""}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_007505f8","line":39,"in_reply_to":"fa32b979_4fe900e5","updated":"2015-06-25 18:25:05.000000000","message":"Technically it wasn\u0027t completely true by now because they differed a bit. But with Virtuozzo7 it will be so, i.e. vz is proprietary products based on openvz.","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":38,"context_line":"LXC \u003d \"lxc\""},{"line_number":39,"context_line":"OPENVZ \u003d \"openvz\""},{"line_number":40,"context_line":"VIRTUOZZO \u003d \"vz\""},{"line_number":41,"context_line":"PARALLELS \u003d \"parallels\""},{"line_number":42,"context_line":"PHYP \u003d \"phyp\""},{"line_number":43,"context_line":"QEMU \u003d \"qemu\""},{"line_number":44,"context_line":"TEST \u003d \"test\""}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_af41ac0b","line":41,"updated":"2015-06-25 16:55:04.000000000","message":"Shouldn\u0027t we remove this and in canonicalize(), if \u0027parallels\u0027 is passed in we translate that to \u0027vz\u0027 like was done for powervm?  BTW, this change needs to be rebased it looks like since the powervm translation was removed.","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b33b2629ed670239e089b1b3f4e6bbbfae610ba","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    if newname \u003d\u003d \"xapi\":"},{"line_number":99,"context_line":"        newname \u003d XEN"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    if newname \u003d\u003d \"vz\":"},{"line_number":102,"context_line":"        newname \u003d PARALLELS"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    if not is_valid(newname):"}],"source_content_type":"text/x-python","patch_set":16,"id":"ba3cc151_2dc816a8","line":101,"updated":"2015-07-10 19:16:09.000000000","message":"I\u0027m not sure why this is needed.  You have the new constant VIRTUOZZO in ALL which is what is_valid is checking, so this is conversion for no real reason.","commit_id":"899489d7cc34b9d315533e55d30420861c1946c7"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"425c22d0f7e836366e2ede8a401aff63101796d6","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    if newname \u003d\u003d \"xapi\":"},{"line_number":99,"context_line":"        newname \u003d XEN"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    if newname \u003d\u003d \"vz\":"},{"line_number":102,"context_line":"        newname \u003d PARALLELS"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    if not is_valid(newname):"}],"source_content_type":"text/x-python","patch_set":16,"id":"9a41bdd9_1ec98f78","line":101,"in_reply_to":"ba3cc151_2dc816a8","updated":"2015-07-13 19:23:13.000000000","message":"My intention was just to show explicitly they are exactly the same","commit_id":"899489d7cc34b9d315533e55d30420861c1946c7"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"12b8b506b770bfc2419c6809ae374592cec5332d","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    LXC,"},{"line_number":61,"context_line":"    OPENVZ,"},{"line_number":62,"context_line":"    PARALLELS,"},{"line_number":63,"context_line":"    VIRTUOZZO,"},{"line_number":64,"context_line":"    PHYP,"},{"line_number":65,"context_line":"    QEMU,"},{"line_number":66,"context_line":"    TEST,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a50d1a3_e6a039f6","line":63,"updated":"2015-07-23 19:12:12.000000000","message":"this was an alphabetical list, might be nice to keep that alphabetical in the future.","commit_id":"44dce76a7e214bfe8d54177c2fd4fb27f8acd37f"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"a58e49160d1cbe3770ccf0c35f54851ad4aa14ce","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    LXC,"},{"line_number":61,"context_line":"    OPENVZ,"},{"line_number":62,"context_line":"    PARALLELS,"},{"line_number":63,"context_line":"    VIRTUOZZO,"},{"line_number":64,"context_line":"    PHYP,"},{"line_number":65,"context_line":"    QEMU,"},{"line_number":66,"context_line":"    TEST,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a50d1a3_2670613f","line":63,"in_reply_to":"3a50d1a3_e6a039f6","updated":"2015-07-23 19:48:41.000000000","message":"Ok. I\u0027ll change it in case a rebase will be necessary, which is possible after recent patches got merged.","commit_id":"44dce76a7e214bfe8d54177c2fd4fb27f8acd37f"}],"nova/objects/hv_spec.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"38382a19a2e58af6f9bccbaf0e817b30f240039a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(HVSpec, self).obj_make_compatible(primitive, target_version)"},{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 in primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027].remove(\u0027vz\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_802c369a","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":42},"updated":"2015-07-27 20:00:35.000000000","message":"Why isn\u0027t this:\n\n \u0027vz\u0027 \u003d\u003d primitive[\u0027hv_type\u0027]\n\n?","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"7f69fda8704c72e3d3581009a2aa635c55ceabb9","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(HVSpec, self).obj_make_compatible(primitive, target_version)"},{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 in primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027].remove(\u0027vz\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_80d99659","line":50,"in_reply_to":"3a50d1a3_802c369a","updated":"2015-07-27 20:12:59.000000000","message":"As far as I inderstood primitive is a list. No?","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"23267edcd2a38bf6bafb991956933699b3df52f2","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(HVSpec, self).obj_make_compatible(primitive, target_version)"},{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 in primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027].remove(\u0027vz\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_8694278b","line":50,"in_reply_to":"3a50d1a3_80d99659","updated":"2015-07-28 14:59:43.000000000","message":"No, primitive is a dict. So, this would match both \"vz\" and \"ahvthatisnotvz\" which would be bad.","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"38382a19a2e58af6f9bccbaf0e817b30f240039a","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 in primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027].remove(\u0027vz\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_b529729d","line":51,"range":{"start_line":51,"start_character":12,"end_line":51,"end_character":45},"updated":"2015-07-27 20:00:35.000000000","message":"Don\u0027t you want to convert vz -\u003e parallels?\n\nWill removing this actually make things work or just fail later? IMHO, you need to either raise an exception here to signal the incompatibility, or you should convert vz-\u003eparallels.","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"23267edcd2a38bf6bafb991956933699b3df52f2","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 in primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027].remove(\u0027vz\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_c6ac6fa1","line":51,"in_reply_to":"3a50d1a3_60d48a1f","updated":"2015-07-28 14:59:43.000000000","message":"That\u0027s not the point. This object method is concerned with over-the-wire RPC compatibility, not knowing anything about libvirt. Since you\u0027re not adding the hv_type field in this version, just removing it if the value is vz breaks the object for the recipient in an unexpected way.\n\nAlso, primitive[\u0027hv_type\u0027] is not a list, it\u0027s a string, so the above should fail if it\u0027s run. Please write a test for your new obj_make_compatible() method and I think you\u0027ll see that.","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"7f69fda8704c72e3d3581009a2aa635c55ceabb9","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 in primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027].remove(\u0027vz\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_60d48a1f","line":51,"in_reply_to":"3a50d1a3_b529729d","updated":"2015-07-27 20:12:59.000000000","message":"Why? There is no need in convertin it because libvirt which supports \u0027vz\u0027 will also report \u0027parallels\u0027, we will simply ignore new reported hypervisor where we don\u0027t expect it.","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"b1ab6f127dae3e691804c2568edb7d3ed4bf844f","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 in primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027].remove(\u0027vz\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_f60b52d3","line":51,"in_reply_to":"3a50d1a3_c6ac6fa1","updated":"2015-07-28 16:45:52.000000000","message":"Oh, It seemed to me that it is a dict with a list as an item like {\u0027hv_type\u0027 : [\u0027docker\u0027, \u0027vz\u0027]}, anyway I\u0027ll see better. Thanks","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e7f0d518dcd1dba7ecf5fab5fdcb561f3cda957b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(HVSpec, self).obj_make_compatible(primitive, target_version)"},{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 \u003d\u003d primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027] \u003d \u0027parallels\u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_e25b5e52","line":50,"updated":"2015-07-29 14:25:15.000000000","message":"I\u0027d use the hv_type constants here and below, that\u0027s why we have the constants.","commit_id":"5f4992064f447635a515c4f8388623116e8a3187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a7ccf12ccee827aa78b37465fd930ab19d50ef7a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(HVSpec, self).obj_make_compatible(primitive, target_version)"},{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 \u003d\u003d primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027] \u003d \u0027parallels\u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_9d519b32","line":50,"in_reply_to":"3a50d1a3_5d09d393","updated":"2015-07-29 14:38:09.000000000","message":"The import should be fine.","commit_id":"5f4992064f447635a515c4f8388623116e8a3187"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"67421f143f882fe9423907bc9f3ef680ed206ace","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(HVSpec, self).obj_make_compatible(primitive, target_version)"},{"line_number":48,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":49,"context_line":"        if (target_version \u003c (1, 1) and \u0027hv_type\u0027 in primitive and"},{"line_number":50,"context_line":"            \u0027vz\u0027 \u003d\u003d primitive[\u0027hv_type\u0027]):"},{"line_number":51,"context_line":"            primitive[\u0027hv_type\u0027] \u003d \u0027parallels\u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_5d09d393","line":50,"in_reply_to":"3a50d1a3_e25b5e52","updated":"2015-07-29 14:32:20.000000000","message":"ok. didn\u0027t want importing","commit_id":"5f4992064f447635a515c4f8388623116e8a3187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a73cfd3f150470b0e069b6f5aecf3b4fcbaee9dc","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from nova.objects import base"},{"line_number":17,"context_line":"from nova.objects import fields"},{"line_number":18,"context_line":"from nova import utils"},{"line_number":19,"context_line":"from nova.compute import hv_type"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# TODO(berrange): Remove NovaObjectDictCompat"}],"source_content_type":"text/x-python","patch_set":28,"id":"3a50d1a3_cfc76a96","line":19,"updated":"2015-07-29 14:42:25.000000000","message":"pep8 - this is out of order.","commit_id":"2398c740039e0cdb517d094270c58ac1d7e54444"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"7fc59b876502b3cdaa89960452154a49fce7ca11","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from nova.objects import base"},{"line_number":17,"context_line":"from nova.objects import fields"},{"line_number":18,"context_line":"from nova import utils"},{"line_number":19,"context_line":"from nova.compute import hv_type"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# TODO(berrange): Remove NovaObjectDictCompat"}],"source_content_type":"text/x-python","patch_set":28,"id":"3a50d1a3_e809fc2b","line":19,"in_reply_to":"3a50d1a3_cfc76a96","updated":"2015-07-29 15:48:33.000000000","message":"oops. didn\u0027t check","commit_id":"2398c740039e0cdb517d094270c58ac1d7e54444"}],"nova/tests/unit/objects/test_hv_spec.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e7f0d518dcd1dba7ecf5fab5fdcb561f3cda957b","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        # check 1.1-\u003e1.0 compatibility"},{"line_number":66,"context_line":"        objects.HVSpec().obj_make_compatible(spec_dict_vz_copy, \u00271.0\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(spec_dict_vz_copy, spec_dict_parallels)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # check 1.0-\u003e1.1 compatibility"},{"line_number":70,"context_line":"        objects.HVSpec().obj_make_compatible(spec_dict_vz_copy, \u00271.1\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_3d9de7bb","line":67,"updated":"2015-07-29 14:25:15.000000000","message":"nit: args are (expected, observed) which impacts the output of the MismatchError.","commit_id":"5f4992064f447635a515c4f8388623116e8a3187"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"67421f143f882fe9423907bc9f3ef680ed206ace","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        # check 1.1-\u003e1.0 compatibility"},{"line_number":66,"context_line":"        objects.HVSpec().obj_make_compatible(spec_dict_vz_copy, \u00271.0\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(spec_dict_vz_copy, spec_dict_parallels)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # check 1.0-\u003e1.1 compatibility"},{"line_number":70,"context_line":"        objects.HVSpec().obj_make_compatible(spec_dict_vz_copy, \u00271.1\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_fd09bf84","line":67,"in_reply_to":"3a50d1a3_3d9de7bb","updated":"2015-07-29 14:32:20.000000000","message":"ok","commit_id":"5f4992064f447635a515c4f8388623116e8a3187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e7f0d518dcd1dba7ecf5fab5fdcb561f3cda957b","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.assertEqual(spec_dict_vz_copy, spec_dict_parallels)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # check 1.0-\u003e1.1 compatibility"},{"line_number":70,"context_line":"        objects.HVSpec().obj_make_compatible(spec_dict_vz_copy, \u00271.1\u0027)"},{"line_number":71,"context_line":"        self.assertEqual(spec_dict_vz_copy, spec_dict_parallels)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_3d3967a4","line":70,"updated":"2015-07-29 14:25:15.000000000","message":"I\u0027m confused with this test, why would the vz primitive be converted to using parallels when the check is target_version \u003c 1.1 and you\u0027re passing in 1.1 here - so I\u0027d think it wouldn\u0027t do any compat, unless I guess spec_dict_vz_copy is 1.0 since it\u0027s mutated from the first conversion above, in which case this is really just testing that nothing changes.","commit_id":"5f4992064f447635a515c4f8388623116e8a3187"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"67421f143f882fe9423907bc9f3ef680ed206ace","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.assertEqual(spec_dict_vz_copy, spec_dict_parallels)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # check 1.0-\u003e1.1 compatibility"},{"line_number":70,"context_line":"        objects.HVSpec().obj_make_compatible(spec_dict_vz_copy, \u00271.1\u0027)"},{"line_number":71,"context_line":"        self.assertEqual(spec_dict_vz_copy, spec_dict_parallels)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a50d1a3_7d47efbb","line":70,"in_reply_to":"3a50d1a3_3d3967a4","updated":"2015-07-29 14:32:20.000000000","message":"Exactly. It tests that nothing changed.","commit_id":"5f4992064f447635a515c4f8388623116e8a3187"}],"nova/tests/unit/objects/test_objects.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"dc54c1fe8da023eda478c59a5fb7f7a4eb30fc22","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"    \u0027FlavorList\u0027: \u00271.1-ab3f242e0db21db87285f2ac2ddc5c72\u0027,"},{"line_number":1125,"context_line":"    \u0027FloatingIP\u0027: \u00271.6-24c614d2c3d4887254a679be65c11de5\u0027,"},{"line_number":1126,"context_line":"    \u0027FloatingIPList\u0027: \u00271.7-e61a470ab21d7422f6bb703f86d99b53\u0027,"},{"line_number":1127,"context_line":"    \u0027HVSpec\u0027: \u00271.0-3aa59bc776fe224e12f21c01daa612ec\u0027,"},{"line_number":1128,"context_line":"    \u0027ImageMeta\u0027: \u00271.0-dbbf573f58eb5f874e2a10aee54394dd\u0027,"},{"line_number":1129,"context_line":"    \u0027ImageMetaProps\u0027: \u00271.0-5da0eea4eeca04fcd9c7f255c2a43eaa\u0027,"},{"line_number":1130,"context_line":"    \u0027Instance\u0027: \u00271.20-0991d6bd300ebf35ec19d7d68922e69b\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3afb71cf_0f03f10e","line":1127,"updated":"2015-06-07 11:25:19.000000000","message":"This should have a version bump due to the change?","commit_id":"6ed0cff0a0cbbc6d62ecb775ef5e040c382c3230"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8396eb93289d9fda9746135e6c58b082d1af2369","unresolved":false,"context_lines":[{"line_number":1107,"context_line":"    \u0027FloatingIP\u0027: \u00271.7-52a67d52d85eb8b3f324a5b7935a335b\u0027,"},{"line_number":1108,"context_line":"    \u0027FloatingIPList\u0027: \u00271.8-9a9fe191dc694ea4ff08946be9460718\u0027,"},{"line_number":1109,"context_line":"    \u0027HostMapping\u0027: \u00271.0-1a3390a696792a552ab7bd31a77ba9ac\u0027,"},{"line_number":1110,"context_line":"    \u0027HVSpec\u0027: \u00271.0-6b4f7c0f688cbd03e24142a44eb9010d\u0027,"},{"line_number":1111,"context_line":"    \u0027ImageMeta\u0027: \u00271.2-642d1b2eb3e880a367f37d72dd76162d\u0027,"},{"line_number":1112,"context_line":"    \u0027ImageMetaProps\u0027: \u00271.2-bcd6a0c4324319982eac3147e10bcf6f\u0027,"},{"line_number":1113,"context_line":"    \u0027Instance\u0027: \u00271.21-260d385315d4868b6397c61a13109841\u0027,"}],"source_content_type":"text/x-python","patch_set":22,"id":"3a50d1a3_b6c3bf56","line":1110,"updated":"2015-07-27 18:16:49.000000000","message":"This hash change is indicating that you need to bump the version. That\u0027s because the object encodes the list of options in the Enum field for the hypervisor type. If you don\u0027t bump this, then if we send a newer object to an older compute with that field set to virtuozzo, it will fail.\n\nSo, please bump HVSpec to 1.1 and any other objects that depend on it.\n\nYou will also need an obj_make_compatible() method in HVSpec that can convert back to 1.0. Since you are just adding an alias, you can probably just have that method convert virtuozzo -\u003e parallels without having to fail.","commit_id":"b5e6c9d6e6a69a88433e0a2d7650b2c2990472fe"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"78985f75b141cee2f89abfb02a6f38d0e5e705cb","unresolved":false,"context_lines":[{"line_number":1107,"context_line":"    \u0027FloatingIP\u0027: \u00271.7-52a67d52d85eb8b3f324a5b7935a335b\u0027,"},{"line_number":1108,"context_line":"    \u0027FloatingIPList\u0027: \u00271.8-9a9fe191dc694ea4ff08946be9460718\u0027,"},{"line_number":1109,"context_line":"    \u0027HostMapping\u0027: \u00271.0-1a3390a696792a552ab7bd31a77ba9ac\u0027,"},{"line_number":1110,"context_line":"    \u0027HVSpec\u0027: \u00271.0-6b4f7c0f688cbd03e24142a44eb9010d\u0027,"},{"line_number":1111,"context_line":"    \u0027ImageMeta\u0027: \u00271.2-642d1b2eb3e880a367f37d72dd76162d\u0027,"},{"line_number":1112,"context_line":"    \u0027ImageMetaProps\u0027: \u00271.2-bcd6a0c4324319982eac3147e10bcf6f\u0027,"},{"line_number":1113,"context_line":"    \u0027Instance\u0027: \u00271.21-260d385315d4868b6397c61a13109841\u0027,"}],"source_content_type":"text/x-python","patch_set":22,"id":"3a50d1a3_00402633","line":1110,"in_reply_to":"3a50d1a3_b6c3bf56","updated":"2015-07-28 08:50:48.000000000","message":"Done","commit_id":"b5e6c9d6e6a69a88433e0a2d7650b2c2990472fe"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"38382a19a2e58af6f9bccbaf0e817b30f240039a","unresolved":false,"context_lines":[{"line_number":1109,"context_line":"    \u0027HostMapping\u0027: \u00271.0-1a3390a696792a552ab7bd31a77ba9ac\u0027,"},{"line_number":1110,"context_line":"    \u0027HVSpec\u0027: \u00271.1-6b4f7c0f688cbd03e24142a44eb9010d\u0027,"},{"line_number":1111,"context_line":"    \u0027ImageMeta\u0027: \u00271.2-642d1b2eb3e880a367f37d72dd76162d\u0027,"},{"line_number":1112,"context_line":"    \u0027ImageMetaProps\u0027: \u00271.2-bcd6a0c4324319982eac3147e10bcf6f\u0027,"},{"line_number":1113,"context_line":"    \u0027Instance\u0027: \u00271.21-260d385315d4868b6397c61a13109841\u0027,"},{"line_number":1114,"context_line":"    \u0027InstanceAction\u0027: \u00271.1-f9f293e526b66fca0d05c3b3a2d13914\u0027,"},{"line_number":1115,"context_line":"    \u0027InstanceActionEvent\u0027: \u00271.1-e56a64fa4710e43ef7af2ad9d6028b33\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_205442fc","line":1112,"updated":"2015-07-27 20:00:35.000000000","message":"Hmm, why is ImageMetaProps changing? Perhaps it needs a bump too?","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"93a7940d9867063bc11451d060dfb8db0a291d30","unresolved":false,"context_lines":[{"line_number":1109,"context_line":"    \u0027HostMapping\u0027: \u00271.0-1a3390a696792a552ab7bd31a77ba9ac\u0027,"},{"line_number":1110,"context_line":"    \u0027HVSpec\u0027: \u00271.1-6b4f7c0f688cbd03e24142a44eb9010d\u0027,"},{"line_number":1111,"context_line":"    \u0027ImageMeta\u0027: \u00271.2-642d1b2eb3e880a367f37d72dd76162d\u0027,"},{"line_number":1112,"context_line":"    \u0027ImageMetaProps\u0027: \u00271.2-bcd6a0c4324319982eac3147e10bcf6f\u0027,"},{"line_number":1113,"context_line":"    \u0027Instance\u0027: \u00271.21-260d385315d4868b6397c61a13109841\u0027,"},{"line_number":1114,"context_line":"    \u0027InstanceAction\u0027: \u00271.1-f9f293e526b66fca0d05c3b3a2d13914\u0027,"},{"line_number":1115,"context_line":"    \u0027InstanceActionEvent\u0027: \u00271.1-e56a64fa4710e43ef7af2ad9d6028b33\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_a05ff20d","line":1112,"in_reply_to":"3a50d1a3_205442fc","updated":"2015-07-27 20:02:03.000000000","message":"Ah, yep, it has the same field in it as well for img_hv_type, so you need to do the same bump for it as well.","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"7f69fda8704c72e3d3581009a2aa635c55ceabb9","unresolved":false,"context_lines":[{"line_number":1109,"context_line":"    \u0027HostMapping\u0027: \u00271.0-1a3390a696792a552ab7bd31a77ba9ac\u0027,"},{"line_number":1110,"context_line":"    \u0027HVSpec\u0027: \u00271.1-6b4f7c0f688cbd03e24142a44eb9010d\u0027,"},{"line_number":1111,"context_line":"    \u0027ImageMeta\u0027: \u00271.2-642d1b2eb3e880a367f37d72dd76162d\u0027,"},{"line_number":1112,"context_line":"    \u0027ImageMetaProps\u0027: \u00271.2-bcd6a0c4324319982eac3147e10bcf6f\u0027,"},{"line_number":1113,"context_line":"    \u0027Instance\u0027: \u00271.21-260d385315d4868b6397c61a13109841\u0027,"},{"line_number":1114,"context_line":"    \u0027InstanceAction\u0027: \u00271.1-f9f293e526b66fca0d05c3b3a2d13914\u0027,"},{"line_number":1115,"context_line":"    \u0027InstanceActionEvent\u0027: \u00271.1-e56a64fa4710e43ef7af2ad9d6028b33\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_20a8c28b","line":1112,"in_reply_to":"3a50d1a3_a05ff20d","updated":"2015-07-27 20:12:59.000000000","message":"Ah, right. Will do.","commit_id":"1704ffdce148cc5604f8dc3f7733169b27b18b36"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":11073,"context_line":"            self.assertRaises(exception.NovaException,"},{"line_number":11074,"context_line":"                              driver.init_host, \u0027wibble\u0027)"},{"line_number":11075,"context_line":""},{"line_number":11076,"context_line":"    def _test_vz_min_version_ok(self, version):"},{"line_number":11077,"context_line":"        driver \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":11078,"context_line":"        with mock.patch.object(driver._conn, \u0027getLibVersion\u0027,"},{"line_number":11079,"context_line":"                               return_value\u003dversion):"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_efc014e2","line":11076,"updated":"2015-06-25 16:55:04.000000000","message":"This isn\u0027t used anywhere.","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"}],"nova/virt/libvirt/blockinfo.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":"       Config drive will be:"},{"line_number":348,"context_line":"       \u0027cdrom\u0027 in case of config_drive is set to iso9660;"},{"line_number":349,"context_line":"       \u0027disk\u0027 in case of config_drive is set to vfat;"},{"line_number":350,"context_line":"       \u0027fs\u0027 in case of os_type is EXE and virt_type is parallels;"},{"line_number":351,"context_line":"       Autodetected from (cdrom, disk, fs) in case of config_drive is None;"},{"line_number":352,"context_line":"       Otherwise, an exception of unknown format will be thrown."}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_8fa8688d","line":349,"updated":"2015-06-25 16:55:04.000000000","message":"(parallels|vz) right?","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"68431ea5b68ff3b706c460559120ed90462dc19f","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":"       Config drive will be:"},{"line_number":348,"context_line":"       \u0027cdrom\u0027 in case of config_drive is set to iso9660;"},{"line_number":349,"context_line":"       \u0027disk\u0027 in case of config_drive is set to vfat;"},{"line_number":350,"context_line":"       \u0027fs\u0027 in case of os_type is EXE and virt_type is parallels;"},{"line_number":351,"context_line":"       Autodetected from (cdrom, disk, fs) in case of config_drive is None;"},{"line_number":352,"context_line":"       Otherwise, an exception of unknown format will be thrown."}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_4853333a","line":349,"in_reply_to":"fa32b979_8fa8688d","updated":"2015-06-25 19:35:47.000000000","message":"Done","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"5d756beed9618dde5129a203f705e9480734f857","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":"       Config drive will be:"},{"line_number":348,"context_line":"       \u0027cdrom\u0027 in case of config_drive is set to iso9660;"},{"line_number":349,"context_line":"       \u0027disk\u0027 in case of config_drive is set to vfat;"},{"line_number":350,"context_line":"       \u0027fs\u0027 in case of os_type is EXE and virt_type is parallels;"},{"line_number":351,"context_line":"       Autodetected from (cdrom, disk, fs) in case of config_drive is None;"},{"line_number":352,"context_line":"       Otherwise, an exception of unknown format will be thrown."}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_c0195d89","line":349,"in_reply_to":"fa32b979_8fa8688d","updated":"2015-06-25 18:25:05.000000000","message":"right","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        config_drive_type \u003d \u0027cdrom\u0027"},{"line_number":359,"context_line":"    elif CONF.config_drive_format \u003d\u003d \u0027vfat\u0027:"},{"line_number":360,"context_line":"        config_drive_type \u003d \u0027disk\u0027"},{"line_number":361,"context_line":"    elif CONF.config_drive_format is None:"},{"line_number":362,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":363,"context_line":"            if os_type \u003d\u003d vm_mode.HVM:"},{"line_number":364,"context_line":"                config_drive_type \u003d \u0027cdrom\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_6f92c458","line":361,"updated":"2015-06-25 16:55:04.000000000","message":"What about this?\n\nAnd the test:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/tests/unit/virt/libvirt/test_blockinfo.py#n686","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"68431ea5b68ff3b706c460559120ed90462dc19f","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        config_drive_type \u003d \u0027cdrom\u0027"},{"line_number":359,"context_line":"    elif CONF.config_drive_format \u003d\u003d \u0027vfat\u0027:"},{"line_number":360,"context_line":"        config_drive_type \u003d \u0027disk\u0027"},{"line_number":361,"context_line":"    elif CONF.config_drive_format is None:"},{"line_number":362,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":363,"context_line":"            if os_type \u003d\u003d vm_mode.HVM:"},{"line_number":364,"context_line":"                config_drive_type \u003d \u0027cdrom\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_a838bfef","line":361,"in_reply_to":"fa32b979_6f92c458","updated":"2015-06-25 19:35:47.000000000","message":"Done","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"78d50d8eb0c164a79dd853d12d678838ac9bd5e9","unresolved":false,"context_lines":[{"line_number":379,"context_line":"MIN_QEMU_HYPERV_FEATURE_VERSION \u003d (1, 1, 0)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"# parallels driver support"},{"line_number":382,"context_line":"MIN_LIBVIRT_PARALLELS_VERSION \u003d (1, 2, 12)"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"class LibvirtDriver(driver.ComputeDriver):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_a34c9442","side":"PARENT","line":382,"updated":"2015-05-29 11:49:12.000000000","message":"We should handle the gap between 1.2.12  to 1.2.17 working with virt_type set as parallels.","commit_id":"0fce05b27c8fc80042c0afd65aa38ebe3334f72e"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"411b2bfa2afebfe9a95a74fa51b386a076dbfe46","unresolved":false,"context_lines":[{"line_number":379,"context_line":"MIN_QEMU_HYPERV_FEATURE_VERSION \u003d (1, 1, 0)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"# parallels driver support"},{"line_number":382,"context_line":"MIN_LIBVIRT_PARALLELS_VERSION \u003d (1, 2, 12)"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"class LibvirtDriver(driver.ComputeDriver):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_4b7a8b89","side":"PARENT","line":382,"in_reply_to":"7a016987_a34c9442","updated":"2015-05-29 17:30:28.000000000","message":"ok.","commit_id":"0fce05b27c8fc80042c0afd65aa38ebe3334f72e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"78d50d8eb0c164a79dd853d12d678838ac9bd5e9","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    cfg.StrOpt(\u0027virt_type\u0027,"},{"line_number":120,"context_line":"               default\u003d\u0027kvm\u0027,"},{"line_number":121,"context_line":"               help\u003d\u0027Libvirt domain type (valid options are: \u0027"},{"line_number":122,"context_line":"                    \u0027kvm, lxc, qemu, uml, xen and vz)\u0027),"},{"line_number":123,"context_line":"    cfg.StrOpt(\u0027connection_uri\u0027,"},{"line_number":124,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":125,"context_line":"               help\u003d\u0027Override the default libvirt URI \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_e3ef2c1b","line":122,"updated":"2015-05-29 11:49:12.000000000","message":"We need backward compatibility, operator can have set virt_type as parallels and we should to support it for a least one release.\n\nYou also need to add a log warning to refer the change","commit_id":"f6cf5a97011101d760a26d90902d4e9d8edf737d"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"411b2bfa2afebfe9a95a74fa51b386a076dbfe46","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    cfg.StrOpt(\u0027virt_type\u0027,"},{"line_number":120,"context_line":"               default\u003d\u0027kvm\u0027,"},{"line_number":121,"context_line":"               help\u003d\u0027Libvirt domain type (valid options are: \u0027"},{"line_number":122,"context_line":"                    \u0027kvm, lxc, qemu, uml, xen and vz)\u0027),"},{"line_number":123,"context_line":"    cfg.StrOpt(\u0027connection_uri\u0027,"},{"line_number":124,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":125,"context_line":"               help\u003d\u0027Override the default libvirt URI \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_8b452344","line":122,"in_reply_to":"7a016987_e3ef2c1b","updated":"2015-05-29 17:30:28.000000000","message":"Maybe you are right.","commit_id":"f6cf5a97011101d760a26d90902d4e9d8edf737d"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"dc54c1fe8da023eda478c59a5fb7f7a4eb30fc22","unresolved":false,"context_lines":[{"line_number":562,"context_line":"                  \u0027libvirt version %s\u0027) %"},{"line_number":563,"context_line":"                self._version_to_string(MIN_LIBVIRT_PARALLELS_VERSION))"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":566,"context_line":"            CONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"}],"source_content_type":"text/x-python","patch_set":8,"id":"3afb71cf_cf0cb93d","line":565,"updated":"2015-06-07 11:25:19.000000000","message":"I think that you should have a log warning here - this will at least enable the admin to try and see that they must update their config.\n\nI know in the past that using set_override is frowned upon. This is meant to be just for tests. But I am not sure how one would update the flag.\n\nMaybe you should continue to support the parallels value too. That is:\n\nelif (CONF.libvirt.virt_type \u003d\u003d \u0027vz\u0027 or\n      CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027):\n\nThen when the code is deprecated you drop all of the parallels...","commit_id":"6ed0cff0a0cbbc6d62ecb775ef5e040c382c3230"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"f3ecd8b77567366f51667bfa91d20d187d0f122e","unresolved":false,"context_lines":[{"line_number":562,"context_line":"                  \u0027libvirt version %s\u0027) %"},{"line_number":563,"context_line":"                self._version_to_string(MIN_LIBVIRT_PARALLELS_VERSION))"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":566,"context_line":"            CONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"}],"source_content_type":"text/x-python","patch_set":8,"id":"3afb71cf_e7666a28","line":565,"in_reply_to":"3afb71cf_cf0cb93d","updated":"2015-06-08 10:33:20.000000000","message":"Agree. It is worth adding a log message here. Will do it in the next version.\n\nAs for \nelif (CONF.libvirt.virt_type \u003d\u003d \u0027vz\u0027 or\n      CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027):\nIt was in the previous version of the patch but I changed it addressing comment of Dan Smith.","commit_id":"6ed0cff0a0cbbc6d62ecb775ef5e040c382c3230"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f1ac6c1439e80ae1793e03c9428da2bce7f262df","unresolved":false,"context_lines":[{"line_number":384,"context_line":"MIN_LIBVIRT_HYPERV_FEATURE_EXTRA_VERSION \u003d (1, 1, 0)"},{"line_number":385,"context_line":"MIN_QEMU_HYPERV_FEATURE_VERSION \u003d (1, 1, 0)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"# parallels driver support"},{"line_number":388,"context_line":"MIN_LIBVIRT_PARALLELS_VERSION \u003d (1, 2, 12)"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_083de7c3","side":"PARENT","line":387,"updated":"2015-06-09 08:55:33.000000000","message":"This line does not have to be removed, just moved","commit_id":"6677c21710cff93fc2df6a6063be062efe330ad0"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"bc1c588e57ad964e0bc690bc184d2dd0ca9474d1","unresolved":false,"context_lines":[{"line_number":384,"context_line":"MIN_LIBVIRT_HYPERV_FEATURE_EXTRA_VERSION \u003d (1, 1, 0)"},{"line_number":385,"context_line":"MIN_QEMU_HYPERV_FEATURE_VERSION \u003d (1, 1, 0)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"# parallels driver support"},{"line_number":388,"context_line":"MIN_LIBVIRT_PARALLELS_VERSION \u003d (1, 2, 12)"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_54e5b1d9","side":"PARENT","line":387,"in_reply_to":"3afb71cf_083de7c3","updated":"2015-06-09 12:08:04.000000000","message":"ok","commit_id":"6677c21710cff93fc2df6a6063be062efe330ad0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f1ac6c1439e80ae1793e03c9428da2bce7f262df","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027xen:///\u0027"},{"line_number":585,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027lxc\u0027:"},{"line_number":586,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027lxc:///\u0027"},{"line_number":587,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":588,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027parallels:///system\u0027"},{"line_number":589,"context_line":"        else:"},{"line_number":590,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027qemu:///system\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_2829c337","side":"PARENT","line":587,"updated":"2015-06-09 08:55:33.000000000","message":"You should not to remove this. We still support it for libvirt \u003e 1.2.12.\n\nSame comments for the rest of your change.","commit_id":"6677c21710cff93fc2df6a6063be062efe330ad0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"39a5a38e17409330863e6299ea027052a08de898","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027xen:///\u0027"},{"line_number":585,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027lxc\u0027:"},{"line_number":586,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027lxc:///\u0027"},{"line_number":587,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":588,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027parallels:///system\u0027"},{"line_number":589,"context_line":"        else:"},{"line_number":590,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027qemu:///system\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_9a546bff","side":"PARENT","line":587,"in_reply_to":"3afb71cf_094ddfc3","updated":"2015-06-09 14:11:37.000000000","message":"We do not expect operator have to update conection_uri to make parallels working with libvirt less 1.2.17","commit_id":"6677c21710cff93fc2df6a6063be062efe330ad0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"591cde312ff1593c7af7961359fcaa27710928f7","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027xen:///\u0027"},{"line_number":585,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027lxc\u0027:"},{"line_number":586,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027lxc:///\u0027"},{"line_number":587,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":588,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027parallels:///system\u0027"},{"line_number":589,"context_line":"        else:"},{"line_number":590,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027qemu:///system\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_713e7f8d","side":"PARENT","line":587,"in_reply_to":"3afb71cf_235a042b","updated":"2015-06-09 11:04:53.000000000","message":"I understand your point about to maintain less code but I do not believe we can do that. We already have merged code for parallels so we need at least one release to clean the code. As I said operator can have configured virt_type as \u0027parallels\u0027 with a version under MIN_LIBVIRT_VIRTUOZZO_VERSION: We should to continue to support that case.","commit_id":"6677c21710cff93fc2df6a6063be062efe330ad0"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"f35ec1f86f30908f9fbd1da2730d58474f01175d","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027xen:///\u0027"},{"line_number":585,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027lxc\u0027:"},{"line_number":586,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027lxc:///\u0027"},{"line_number":587,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":588,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027parallels:///system\u0027"},{"line_number":589,"context_line":"        else:"},{"line_number":590,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027qemu:///system\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_235a042b","side":"PARENT","line":587,"in_reply_to":"3afb71cf_2829c337","updated":"2015-06-09 09:34:29.000000000","message":"This change as well as the rest relies on\nCONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)  piece of code where we  just replace \u0027parallels\u0027-\u003e\u0027vz\u0027 in CONF.libvirt.virt_type and able to use only \u0027vz\u0027 string. I was told that using CONF.set_override isn\u0027t honored much here in the project but from my point of view it minimizes any later changes and makes code look more clear as soon as we want to make \u0027parallels\u0027 and \u0027vz\u0027 become synonyms.","commit_id":"6677c21710cff93fc2df6a6063be062efe330ad0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"dff82864748e8b4ddb5d846d540ec8537611ff7f","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027xen:///\u0027"},{"line_number":585,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027lxc\u0027:"},{"line_number":586,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027lxc:///\u0027"},{"line_number":587,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":588,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027parallels:///system\u0027"},{"line_number":589,"context_line":"        else:"},{"line_number":590,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027qemu:///system\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_2a577059","side":"PARENT","line":587,"in_reply_to":"3afb71cf_2a441048","updated":"2015-06-09 12:20:01.000000000","message":"What do you mean by we do support it?","commit_id":"6677c21710cff93fc2df6a6063be062efe330ad0"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"35e17213186fa8046100c4773483efb84836becd","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027xen:///\u0027"},{"line_number":585,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027lxc\u0027:"},{"line_number":586,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027lxc:///\u0027"},{"line_number":587,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":588,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027parallels:///system\u0027"},{"line_number":589,"context_line":"        else:"},{"line_number":590,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027qemu:///system\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_094ddfc3","side":"PARENT","line":587,"in_reply_to":"3afb71cf_2a577059","updated":"2015-06-09 13:36:06.000000000","message":"I mean that \"parallels\" virt_type can be specified in nova.conf and it works with this change for libvirt version \u003e\u003d 1.2.12 as it was before.","commit_id":"6677c21710cff93fc2df6a6063be062efe330ad0"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"bc1c588e57ad964e0bc690bc184d2dd0ca9474d1","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027xen:///\u0027"},{"line_number":585,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027lxc\u0027:"},{"line_number":586,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027lxc:///\u0027"},{"line_number":587,"context_line":"        elif CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":588,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027parallels:///system\u0027"},{"line_number":589,"context_line":"        else:"},{"line_number":590,"context_line":"            uri \u003d CONF.libvirt.connection_uri or \u0027qemu:///system\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_2a441048","side":"PARENT","line":587,"in_reply_to":"3afb71cf_713e7f8d","updated":"2015-06-09 12:08:04.000000000","message":"And we do support it.","commit_id":"6677c21710cff93fc2df6a6063be062efe330ad0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f1ac6c1439e80ae1793e03c9428da2bce7f262df","unresolved":false,"context_lines":[{"line_number":567,"context_line":"                            \u0027overriden by virt_type\u003dvz.\u0027"},{"line_number":568,"context_line":"                            \u0027Using virt_type\u003dparallels is depricated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":"            CONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"},{"line_number":573,"context_line":"        # libvirt 0.10.2 in the 2016.1 \u0027M\u0027 release so if we\u0027re running with"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_a867f3b5","line":570,"updated":"2015-06-09 08:55:33.000000000","message":"This will not work since at this step you do not verify whether the version of libvirt is more than MIN_LIBVIRT_VIRTUOZZO_VERSION.\n\nActually i do not believe you should to override virt_type here. At this step we know that libvirt is able to handle virt_type as parallels so keep your warning and let the process goes forward.","commit_id":"6217f75abad7e735c09e1e39a2384f71eb2b26d4"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"35e17213186fa8046100c4773483efb84836becd","unresolved":false,"context_lines":[{"line_number":567,"context_line":"                            \u0027overriden by virt_type\u003dvz.\u0027"},{"line_number":568,"context_line":"                            \u0027Using virt_type\u003dparallels is depricated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":"            CONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"},{"line_number":573,"context_line":"        # libvirt 0.10.2 in the 2016.1 \u0027M\u0027 release so if we\u0027re running with"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_6c290137","line":570,"in_reply_to":"3afb71cf_4a5bccf6","updated":"2015-06-09 13:36:06.000000000","message":"You can specify \u0027parallels\u0027 for any libvirt starting from 1.2.12 and this is checked on line 558.\nYou can specify \u0027vz\u0027 for libvirt \u003e\u003d 1.2.17 and we make sure of this on line 550.\nlibvirt \u003e\u003d 1.2.17 still support \u0027parallels\u0027 driver name and will support it for backward compatibility.\nAfter making sure we have necessary libvirt version we override internal representaion of CONF.libvirt.virt_type just to deal with the only string.","commit_id":"6217f75abad7e735c09e1e39a2384f71eb2b26d4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"39a5a38e17409330863e6299ea027052a08de898","unresolved":false,"context_lines":[{"line_number":567,"context_line":"                            \u0027overriden by virt_type\u003dvz.\u0027"},{"line_number":568,"context_line":"                            \u0027Using virt_type\u003dparallels is depricated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":"            CONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"},{"line_number":573,"context_line":"        # libvirt 0.10.2 in the 2016.1 \u0027M\u0027 release so if we\u0027re running with"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_daa54347","line":570,"in_reply_to":"3afb71cf_6c290137","updated":"2015-06-09 14:11:37.000000000","message":"As discussed on IRC. Please do not override the virt_type here and make the code working for both.","commit_id":"6217f75abad7e735c09e1e39a2384f71eb2b26d4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"591cde312ff1593c7af7961359fcaa27710928f7","unresolved":false,"context_lines":[{"line_number":567,"context_line":"                            \u0027overriden by virt_type\u003dvz.\u0027"},{"line_number":568,"context_line":"                            \u0027Using virt_type\u003dparallels is depricated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":"            CONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"},{"line_number":573,"context_line":"        # libvirt 0.10.2 in the 2016.1 \u0027M\u0027 release so if we\u0027re running with"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_d132d3f1","line":570,"in_reply_to":"3afb71cf_8333f813","updated":"2015-06-09 11:04:53.000000000","message":"From what i understand you will break the process for operators with virt_type already configured to parallels and a version of libvirt less than MIN_LIBVIRT_VIRTUOZZO_VERSION.","commit_id":"6217f75abad7e735c09e1e39a2384f71eb2b26d4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"dff82864748e8b4ddb5d846d540ec8537611ff7f","unresolved":false,"context_lines":[{"line_number":567,"context_line":"                            \u0027overriden by virt_type\u003dvz.\u0027"},{"line_number":568,"context_line":"                            \u0027Using virt_type\u003dparallels is depricated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":"            CONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"},{"line_number":573,"context_line":"        # libvirt 0.10.2 in the 2016.1 \u0027M\u0027 release so if we\u0027re running with"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_4a5bccf6","line":570,"in_reply_to":"3afb71cf_947b29f5","updated":"2015-06-09 12:20:01.000000000","message":"On the host:\n\n  libvirt version\n    1.2.12\n\n  in nova.conf\n    [libvirt]\n    virt_type \u003d parallels\n\nIt seems to me the condition you have added line 565 will change virt_type to \u0027vz\u0027 and so since libvirt does not support Virtuozzo before 1.2.17 results that the process will be broken.","commit_id":"6217f75abad7e735c09e1e39a2384f71eb2b26d4"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"f35ec1f86f30908f9fbd1da2730d58474f01175d","unresolved":false,"context_lines":[{"line_number":567,"context_line":"                            \u0027overriden by virt_type\u003dvz.\u0027"},{"line_number":568,"context_line":"                            \u0027Using virt_type\u003dparallels is depricated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":"            CONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"},{"line_number":573,"context_line":"        # libvirt 0.10.2 in the 2016.1 \u0027M\u0027 release so if we\u0027re running with"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_8333f813","line":570,"in_reply_to":"3afb71cf_a867f3b5","updated":"2015-06-09 09:34:29.000000000","message":"Why? The point is that I just want to replace \u0027parallels\u0027 with \u0027vz\u0027 for ANY libvirt version here. Correctnes of libvirt version is made above.","commit_id":"6217f75abad7e735c09e1e39a2384f71eb2b26d4"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"bc1c588e57ad964e0bc690bc184d2dd0ca9474d1","unresolved":false,"context_lines":[{"line_number":567,"context_line":"                            \u0027overriden by virt_type\u003dvz.\u0027"},{"line_number":568,"context_line":"                            \u0027Using virt_type\u003dparallels is depricated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":"            CONF.set_override(\u0027virt_type\u0027, \u0027vz\u0027, \u0027libvirt\u0027)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"},{"line_number":573,"context_line":"        # libvirt 0.10.2 in the 2016.1 \u0027M\u0027 release so if we\u0027re running with"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_947b29f5","line":570,"in_reply_to":"3afb71cf_d132d3f1","updated":"2015-06-09 12:08:04.000000000","message":"No. You will be able to successfully work with virt_type\u003d\u0027parallels\u0027 set in conf file after the change. I\u0027m changing our internal representation in the code only.","commit_id":"6217f75abad7e735c09e1e39a2384f71eb2b26d4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"7bd8e4ee2ae075b947a64b9e013eb6c25e0a5fb3","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                self._version_to_string(MIN_LIBVIRT_PARALLELS_VERSION))"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":568,"context_line":"            LOG.warning(_LW(\u0027Using virt_type\u003dparallels is depricated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_c005a8c2","line":568,"updated":"2015-06-15 14:19:53.000000000","message":"s/depricated/deprecated","commit_id":"3856d44e3f824f0bf0ab1893189be696478930b7"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"ba4f016a189545f4cfb018fb0e5b0fe9b8804d3f","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                self._version_to_string(MIN_LIBVIRT_PARALLELS_VERSION))"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":568,"context_line":"            LOG.warning(_LW(\u0027Using virt_type\u003dparallels is depricated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_25031f0f","line":568,"in_reply_to":"fa32b979_c005a8c2","updated":"2015-06-16 08:04:41.000000000","message":"will fix in next patch set","commit_id":"3856d44e3f824f0bf0ab1893189be696478930b7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"db3c99d6531406a272947d8779b8e47a2a4c7ed7","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    cfg.StrOpt(\u0027virt_type\u0027,"},{"line_number":122,"context_line":"               default\u003d\u0027kvm\u0027,"},{"line_number":123,"context_line":"               choices\u003d(\u0027kvm\u0027, \u0027lxc\u0027, \u0027qemu\u0027, \u0027uml\u0027, \u0027xen\u0027, \u0027parallels\u0027, \u0027vz\u0027),"},{"line_number":124,"context_line":"               help\u003d\u0027Libvirt domain type\u0027),"},{"line_number":125,"context_line":"    cfg.StrOpt(\u0027connection_uri\u0027,"},{"line_number":126,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":127,"context_line":"               help\u003d\u0027Override the default libvirt URI \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_05867465","line":124,"updated":"2015-06-19 08:18:46.000000000","message":"I wonder if we want to add a note about parallels option being deprecated in the help text?","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"aaf0149d1a494940658ae073e768d8b734900d28","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    cfg.StrOpt(\u0027virt_type\u0027,"},{"line_number":122,"context_line":"               default\u003d\u0027kvm\u0027,"},{"line_number":123,"context_line":"               choices\u003d(\u0027kvm\u0027, \u0027lxc\u0027, \u0027qemu\u0027, \u0027uml\u0027, \u0027xen\u0027, \u0027parallels\u0027, \u0027vz\u0027),"},{"line_number":124,"context_line":"               help\u003d\u0027Libvirt domain type\u0027),"},{"line_number":125,"context_line":"    cfg.StrOpt(\u0027connection_uri\u0027,"},{"line_number":126,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":127,"context_line":"               help\u003d\u0027Override the default libvirt URI \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_c5e08cfd","line":124,"in_reply_to":"fa32b979_05867465","updated":"2015-06-19 08:23:21.000000000","message":"Sounds reasonable but I don\u0027t know if it is a common practice? Maybe just mention it in comments?","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    cfg.StrOpt(\u0027virt_type\u0027,"},{"line_number":122,"context_line":"               default\u003d\u0027kvm\u0027,"},{"line_number":123,"context_line":"               choices\u003d(\u0027kvm\u0027, \u0027lxc\u0027, \u0027qemu\u0027, \u0027uml\u0027, \u0027xen\u0027, \u0027parallels\u0027, \u0027vz\u0027),"},{"line_number":124,"context_line":"               help\u003d\u0027Libvirt domain type\u0027),"},{"line_number":125,"context_line":"    cfg.StrOpt(\u0027connection_uri\u0027,"},{"line_number":126,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":127,"context_line":"               help\u003d\u0027Override the default libvirt URI \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_6f79642e","line":124,"in_reply_to":"fa32b979_c5e08cfd","updated":"2015-06-25 16:55:04.000000000","message":"On startup, check if virt_type is configured \u0027parallels\u0027 and log a deprecation warning saying it\u0027s going to be removed in the 13.0.0 \u0027M\u0027 release and you should change your configs to use \u0027vz\u0027 instead, which you\u0027re doing below, just need to fix the version.","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":386,"context_line":"MIN_QEMU_HYPERV_FEATURE_VERSION \u003d (1, 1, 0)"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"# Virtuozzo driver support"},{"line_number":389,"context_line":"MIN_LIBVIRT_VIRTUOZZO_VERSION \u003d (1, 3, 00)"},{"line_number":390,"context_line":"# Parallels driver support"},{"line_number":391,"context_line":"MIN_LIBVIRT_PARALLELS_VERSION \u003d (1, 2, 12)"},{"line_number":392,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_8f96283c","line":389,"updated":"2015-06-25 16:55:04.000000000","message":"00?","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"68431ea5b68ff3b706c460559120ed90462dc19f","unresolved":false,"context_lines":[{"line_number":386,"context_line":"MIN_QEMU_HYPERV_FEATURE_VERSION \u003d (1, 1, 0)"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"# Virtuozzo driver support"},{"line_number":389,"context_line":"MIN_LIBVIRT_VIRTUOZZO_VERSION \u003d (1, 3, 00)"},{"line_number":390,"context_line":"# Parallels driver support"},{"line_number":391,"context_line":"MIN_LIBVIRT_PARALLELS_VERSION \u003d (1, 2, 12)"},{"line_number":392,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_282d8fa8","line":389,"in_reply_to":"fa32b979_8f96283c","updated":"2015-06-25 19:35:47.000000000","message":"Done","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                self._version_to_string(MIN_LIBVIRT_PARALLELS_VERSION))"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":568,"context_line":"            LOG.warning(_LW(\u0027Using virt_type\u003dparallels is deprecated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_4fd34004","line":568,"updated":"2015-06-25 16:55:04.000000000","message":"s/virt_type/libvirt.virt_type/","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"68431ea5b68ff3b706c460559120ed90462dc19f","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                self._version_to_string(MIN_LIBVIRT_PARALLELS_VERSION))"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":568,"context_line":"            LOG.warning(_LW(\u0027Using virt_type\u003dparallels is deprecated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_482a5392","line":568,"in_reply_to":"fa32b979_4fd34004","updated":"2015-06-25 19:35:47.000000000","message":"Done","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":566,"context_line":""},{"line_number":567,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":568,"context_line":"            LOG.warning(_LW(\u0027Using virt_type\u003dparallels is deprecated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"},{"line_number":572,"context_line":"        # libvirt 0.10.2 in the 2016.1 \u0027M\u0027 release so if we\u0027re running with"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_8fadc885","line":569,"updated":"2015-06-25 16:55:04.000000000","message":"2016.1 is now actually 13.0.0.","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"68431ea5b68ff3b706c460559120ed90462dc19f","unresolved":false,"context_lines":[{"line_number":566,"context_line":""},{"line_number":567,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027parallels\u0027:"},{"line_number":568,"context_line":"            LOG.warning(_LW(\u0027Using virt_type\u003dparallels is deprecated and \u0027"},{"line_number":569,"context_line":"                            \u0027will be removed in the 2016.1 release.\u0027))"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        # TODO(mriedem): We plan to move to a minimum required version of"},{"line_number":572,"context_line":"        # libvirt 0.10.2 in the 2016.1 \u0027M\u0027 release so if we\u0027re running with"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_e815674c","line":569,"in_reply_to":"fa32b979_8fadc885","updated":"2015-06-25 19:35:47.000000000","message":"Done","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc4dba83d4b04c7fe4945dd075efdd1a7eb96946","unresolved":false,"context_lines":[{"line_number":2923,"context_line":""},{"line_number":2924,"context_line":"                try:"},{"line_number":2925,"context_line":"                    os_type \u003d vm_mode.get_from_instance(instance)"},{"line_number":2926,"context_line":"                    if (os_type \u003d\u003d vm_mode.EXE and"},{"line_number":2927,"context_line":"                        CONF.libvirt.virt_type \u003d\u003d \"parallels\"):"},{"line_number":2928,"context_line":"                        cdb.make_drive(configdrive_path,"},{"line_number":2929,"context_line":"                                configdrive.IMAGE_TYPE_PLOOP)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_4f4100a8","line":2926,"updated":"2015-06-25 16:55:04.000000000","message":"what about this?","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"68431ea5b68ff3b706c460559120ed90462dc19f","unresolved":false,"context_lines":[{"line_number":2923,"context_line":""},{"line_number":2924,"context_line":"                try:"},{"line_number":2925,"context_line":"                    os_type \u003d vm_mode.get_from_instance(instance)"},{"line_number":2926,"context_line":"                    if (os_type \u003d\u003d vm_mode.EXE and"},{"line_number":2927,"context_line":"                        CONF.libvirt.virt_type \u003d\u003d \"parallels\"):"},{"line_number":2928,"context_line":"                        cdb.make_drive(configdrive_path,"},{"line_number":2929,"context_line":"                                configdrive.IMAGE_TYPE_PLOOP)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_081beb81","line":2926,"in_reply_to":"fa32b979_4f4100a8","updated":"2015-06-25 19:35:47.000000000","message":"Done","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"5d756beed9618dde5129a203f705e9480734f857","unresolved":false,"context_lines":[{"line_number":2923,"context_line":""},{"line_number":2924,"context_line":"                try:"},{"line_number":2925,"context_line":"                    os_type \u003d vm_mode.get_from_instance(instance)"},{"line_number":2926,"context_line":"                    if (os_type \u003d\u003d vm_mode.EXE and"},{"line_number":2927,"context_line":"                        CONF.libvirt.virt_type \u003d\u003d \"parallels\"):"},{"line_number":2928,"context_line":"                        cdb.make_drive(configdrive_path,"},{"line_number":2929,"context_line":"                                configdrive.IMAGE_TYPE_PLOOP)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_e27106ad","line":2926,"in_reply_to":"fa32b979_4f4100a8","updated":"2015-06-25 18:25:05.000000000","message":"Heh, forgot to update here after my own patches got merged.","commit_id":"ede7c1592b2ba4900bb7534051ce433d37d19bac"}]}
