)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"45cd67e8220d6537c284524a90abae5e8cb65f5b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lee Yarwood \u003clyarwood@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-11-17 14:57:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP libvirt: Allow the default machine type to be changed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Co-authored-by: Kashyap Chamarthy \u003ckchamart@redhat.com\u003e"},{"line_number":10,"context_line":"Change-Id: Ia2fcd46f372ac02a15bbce34cd81739ff6aa3cf1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f621f24_03906394","line":7,"range":{"start_line":7,"start_character":13,"end_line":7,"end_character":57},"updated":"2020-11-17 15:17:39.000000000","message":"nit: This implies currently we don\u0027t allow it to be changed\n\nDoes this read any better?\n\n\"Allow changing machine type without breaking guest ABI\"","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"}],"specs/wallaby/approved/libvirt-stash-instance-machine-type.rst":[{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"45cd67e8220d6537c284524a90abae5e8cb65f5b","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The libvirt virt driver has long supported the configuration of a per compute"},{"line_number":32,"context_line":"host `default machine type`_ via the ``[libvirt]/hw_machine_type`` configurable"},{"line_number":33,"context_line":"for use by QEMU or kvm based instances. This configurable provides a default"},{"line_number":34,"context_line":"machine type per host architecture to be used when no corresponding"},{"line_number":35,"context_line":"``hw_machine_type`` image property is provided for the instance."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_a0aec52a","line":33,"range":{"start_line":33,"start_character":19,"end_line":33,"end_character":22},"updated":"2020-11-17 15:17:39.000000000","message":"super-nit: \"QEMU- and KVM-based\"","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"8e5e13d8ee3d2be4eccfc3731fe0ea542ca717a7","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The libvirt virt driver has long supported the configuration of a per compute"},{"line_number":32,"context_line":"host `default machine type`_ via the ``[libvirt]/hw_machine_type`` configurable"},{"line_number":33,"context_line":"for use by QEMU or kvm based instances. This configurable provides a default"},{"line_number":34,"context_line":"machine type per host architecture to be used when no corresponding"},{"line_number":35,"context_line":"``hw_machine_type`` image property is provided for the instance."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_19045014","line":33,"range":{"start_line":33,"start_character":19,"end_line":33,"end_character":22},"in_reply_to":"1f621f24_a0aec52a","updated":"2020-11-23 18:58:28.000000000","message":"Done","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"45cd67e8220d6537c284524a90abae5e8cb65f5b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"libvirt driver must remain consistent between hosts in an environment *and* can"},{"line_number":54,"context_line":"never be changed without changing the emulated hardware exposed to the guest,"},{"line_number":55,"context_line":"breaking the application binary interface (ABI) of the instances after hard"},{"line_number":56,"context_line":"reboots, move or recreation operations."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"This spec aims to outline how we can avoid this by always storing the machine"},{"line_number":59,"context_line":"type for the lifetime of the instance. This will allow both operators and"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_e315673e","line":56,"range":{"start_line":56,"start_character":17,"end_line":56,"end_character":27},"updated":"2020-11-17 15:17:39.000000000","message":"We know you appreciate having fun ;-), might want to hyphenate: s/recreation/re-creation/","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"8e5e13d8ee3d2be4eccfc3731fe0ea542ca717a7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"libvirt driver must remain consistent between hosts in an environment *and* can"},{"line_number":54,"context_line":"never be changed without changing the emulated hardware exposed to the guest,"},{"line_number":55,"context_line":"breaking the application binary interface (ABI) of the instances after hard"},{"line_number":56,"context_line":"reboots, move or recreation operations."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"This spec aims to outline how we can avoid this by always storing the machine"},{"line_number":59,"context_line":"type for the lifetime of the instance. This will allow both operators and"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_de00fe04","line":56,"range":{"start_line":56,"start_character":17,"end_line":56,"end_character":27},"in_reply_to":"1f621f24_e315673e","updated":"2020-11-23 18:58:28.000000000","message":"Done","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"45cd67e8220d6537c284524a90abae5e8cb65f5b","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  spawn of the instance *or* init_host of the compute service for all running"},{"line_number":85,"context_line":"  instances."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Ensure the stored machine type is used during a hard reboots, moves or any"},{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a rebuild"},{"line_number":89,"context_line":"  of the instance."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_c0b30197","line":87,"range":{"start_line":87,"start_character":48,"end_line":87,"end_character":62},"updated":"2020-11-17 15:17:39.000000000","message":"a hard reboot (or hard reboots)","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"8e5e13d8ee3d2be4eccfc3731fe0ea542ca717a7","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  spawn of the instance *or* init_host of the compute service for all running"},{"line_number":85,"context_line":"  instances."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Ensure the stored machine type is used during a hard reboots, moves or any"},{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a rebuild"},{"line_number":89,"context_line":"  of the instance."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_fe05fa14","line":87,"range":{"start_line":87,"start_character":48,"end_line":87,"end_character":62},"in_reply_to":"1f621f24_c0b30197","updated":"2020-11-23 18:58:28.000000000","message":"Done","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"473bb76cedb6364fc2d97193280dec6819d58610","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Ensure the stored machine type is used during a hard reboots, moves or any"},{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a rebuild"},{"line_number":89,"context_line":"  of the instance."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Alternatives"},{"line_number":92,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_031a2315","line":89,"updated":"2020-11-17 15:24:09.000000000","message":"Do we support multi-arch deployments? I suspect they\u0027re few and far between but if so, this new found persistence will break cold migration (live migration was presumably already broken) of guests from one host arch to another, since we\u0027ll no longer default to the value from \u0027default_mtypes\u0027 and will instead use the stored value.\n\nOne possible solution is to report the host architecture as a trait and filter on that (via an initially optional pre-filter?) for move operations? We could also consider this out of scope, but we should call it out regardless","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"8e5e13d8ee3d2be4eccfc3731fe0ea542ca717a7","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Ensure the stored machine type is used during a hard reboots, moves or any"},{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a rebuild"},{"line_number":89,"context_line":"  of the instance."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Alternatives"},{"line_number":92,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_fe74daff","line":89,"in_reply_to":"1f621f24_031a2315","updated":"2020-11-23 18:58:28.000000000","message":"I don\u0027t think we support moving instances between hosts with different architectures no. I\u0027ll call it out here.","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"473bb76cedb6364fc2d97193280dec6819d58610","unresolved":false,"context_lines":[{"line_number":97,"context_line":"-----------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The ``Instance`` object will be extended to include a nullable ``machine_type``"},{"line_number":100,"context_line":"attribute that maps to a simple ``StringField`` stored in the instance extras"},{"line_number":101,"context_line":"table."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_23ee3f21","line":100,"range":{"start_line":100,"start_character":34,"end_line":100,"end_character":45},"updated":"2020-11-17 15:24:09.000000000","message":"Any reason not to enumerate the possible machine types?","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"8e5e13d8ee3d2be4eccfc3731fe0ea542ca717a7","unresolved":false,"context_lines":[{"line_number":97,"context_line":"-----------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The ``Instance`` object will be extended to include a nullable ``machine_type``"},{"line_number":100,"context_line":"attribute that maps to a simple ``StringField`` stored in the instance extras"},{"line_number":101,"context_line":"table."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_be0f0235","line":100,"range":{"start_line":100,"start_character":34,"end_line":100,"end_character":45},"in_reply_to":"1f621f24_23ee3f21","updated":"2020-11-23 18:58:28.000000000","message":"Unfortunately the machine types are versioned differently between various distros at the moment. RHEL provides machine types versioned by each RHEL release, Fedora provides machine types versioned by each QEMU release etc. The resulting matrix would be a total PITA to enumerate IMHO so I went with a simple StringField.","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"473bb76cedb6364fc2d97193280dec6819d58610","unresolved":false,"context_lines":[{"line_number":188,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"The ``grenade`` job will be extended to ensure the ``machine_type`` field is"},{"line_number":191,"context_line":"being populated during compute service startup when using the libvirt driver. "},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Functional tests should also be written to assert the above and failure"},{"line_number":194,"context_line":"behaviour when attempting to change the default before a ``machine_type`` has"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_e3df2763","line":191,"range":{"start_line":191,"start_character":77,"end_line":191,"end_character":78},"updated":"2020-11-17 15:24:09.000000000","message":"nit","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"45cd67e8220d6537c284524a90abae5e8cb65f5b","unresolved":false,"context_lines":[{"line_number":200,"context_line":"Deployer/Operator documentation covering the upgrade impact and use of the"},{"line_number":201,"context_line":"configurable will be written."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"References"},{"line_number":204,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":".. _`default machine type`: https://review.opendev.org/#/c/100664/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_e08b9dbc","line":203,"range":{"start_line":203,"start_character":0,"end_line":203,"end_character":10},"updated":"2020-11-17 15:17:39.000000000","message":"Perhaps it\u0027s worth adding a reference to this[1] original (but now-not-required-anymore, as Nova itself will not be changing the default) spec which this is based on, as a historical artifact.\n\nIt[1] has some parts that needs to be cleaved off into separate docuemntation.  E.g. the \"Live migration and versioned machine types\" section which was based on upstream discussions on #openstack-nova.\n\n[1] https://review.opendev.org/#/c/631154/7/specs/victoria/approved/q35_qemu_machine_type_as_the_default.rst","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"473bb76cedb6364fc2d97193280dec6819d58610","unresolved":false,"context_lines":[{"line_number":209,"context_line":"History"},{"line_number":210,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Optional section intended to be used each time the spec is updated to describe"},{"line_number":213,"context_line":"new design, API or any database schema updated. Useful to let reader understand"},{"line_number":214,"context_line":"what\u0027s happened along the time."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":".. list-table:: Revisions"},{"line_number":217,"context_line":"   :header-rows: 1"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_83cab39d","line":214,"range":{"start_line":212,"start_character":0,"end_line":214,"end_character":31},"updated":"2020-11-17 15:24:09.000000000","message":"This can be removed","commit_id":"ee9b016de38738374ef4537255c0c079384c4411"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"56c61ba5ecf12ee2cde3ff508a6db8c88f57bac7","unresolved":true,"context_lines":[{"line_number":77,"context_line":"Proposed change"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* Move the hardcoded machine type defaults from the libvirt driver into the"},{"line_number":81,"context_line":"  ``[libvirt]/hw_machine_type`` configurable."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Store the used machine type in the instance extras table during the initial"},{"line_number":84,"context_line":"  spawn of the instance *or* init_host of the compute service for all running"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ac8a70d7_1a5a6caf","line":81,"range":{"start_line":80,"start_character":0,"end_line":81,"end_character":45},"updated":"2020-12-01 10:59:44.000000000","message":"fwiw, this is one of those config values that will have to be done on all hosts, otherwise you\u0027ll get different behavior depending on where the instance lands. tbf, that applies to many \u0027[libvirt]\u0027 config values.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Proposed change"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* Move the hardcoded machine type defaults from the libvirt driver into the"},{"line_number":81,"context_line":"  ``[libvirt]/hw_machine_type`` configurable."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Store the used machine type in the instance extras table during the initial"},{"line_number":84,"context_line":"  spawn of the instance *or* init_host of the compute service for all running"}],"source_content_type":"text/x-rst","patch_set":7,"id":"6190af23_9e6e1098","line":81,"range":{"start_line":80,"start_character":0,"end_line":81,"end_character":45},"in_reply_to":"2e537f24_69942881","updated":"2020-12-01 12:59:33.000000000","message":"Yup correct you need to keep this configurable in-line across computes where instances could possibly move.\n\nYes this isn\u0027t changing the format or syntax only moving the defaults from code to the configurable itself.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b688a006d2cfe35c6a3ac106e0227a6434ac3c26","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Proposed change"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* Move the hardcoded machine type defaults from the libvirt driver into the"},{"line_number":81,"context_line":"  ``[libvirt]/hw_machine_type`` configurable."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Store the used machine type in the instance extras table during the initial"},{"line_number":84,"context_line":"  spawn of the instance *or* init_host of the compute service for all running"}],"source_content_type":"text/x-rst","patch_set":7,"id":"d479a871_b2e4e827","line":81,"range":{"start_line":80,"start_character":0,"end_line":81,"end_character":45},"in_reply_to":"6190af23_9e6e1098","updated":"2020-12-01 14:55:50.000000000","message":"Cool!","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9b7f9f7b500c59112b62edd7154852354298e9ea","unresolved":true,"context_lines":[{"line_number":77,"context_line":"Proposed change"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* Move the hardcoded machine type defaults from the libvirt driver into the"},{"line_number":81,"context_line":"  ``[libvirt]/hw_machine_type`` configurable."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Store the used machine type in the instance extras table during the initial"},{"line_number":84,"context_line":"  spawn of the instance *or* init_host of the compute service for all running"}],"source_content_type":"text/x-rst","patch_set":7,"id":"2e537f24_69942881","line":81,"range":{"start_line":80,"start_character":0,"end_line":81,"end_character":45},"in_reply_to":"ac8a70d7_1a5a6caf","updated":"2020-12-01 12:17:07.000000000","message":"Do I understand correctly that this does not change the syntax or the meaning of the hw_machine_type config just changes the default None to the default that is hardcoded today?","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9b7f9f7b500c59112b62edd7154852354298e9ea","unresolved":true,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Store the used machine type in the instance extras table during the initial"},{"line_number":84,"context_line":"  spawn of the instance *or* init_host of the compute service for all running"},{"line_number":85,"context_line":"  instances that don\u0027t have a ``machine_type`` listed at present."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Ensure the stored machine type is used during a hard reboot, move or any"},{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a full"}],"source_content_type":"text/x-rst","patch_set":7,"id":"366d5d61_0d0c2245","line":85,"updated":"2020-12-01 12:17:07.000000000","message":"So when the deployer upgrades to the nova version containing this change during the nova-compute reboot to this new version the data will be populated for all the existing instance.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Store the used machine type in the instance extras table during the initial"},{"line_number":84,"context_line":"  spawn of the instance *or* init_host of the compute service for all running"},{"line_number":85,"context_line":"  instances that don\u0027t have a ``machine_type`` listed at present."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Ensure the stored machine type is used during a hard reboot, move or any"},{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a full"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fd74879_209c3ddf","line":85,"in_reply_to":"366d5d61_0d0c2245","updated":"2020-12-01 12:59:33.000000000","message":"Yes, I\u0027m assuming at some point during init_host.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b688a006d2cfe35c6a3ac106e0227a6434ac3c26","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Store the used machine type in the instance extras table during the initial"},{"line_number":84,"context_line":"  spawn of the instance *or* init_host of the compute service for all running"},{"line_number":85,"context_line":"  instances that don\u0027t have a ``machine_type`` listed at present."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Ensure the stored machine type is used during a hard reboot, move or any"},{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a full"}],"source_content_type":"text/x-rst","patch_set":7,"id":"10ec0559_d09e87d2","line":85,"in_reply_to":"5fd74879_209c3ddf","updated":"2020-12-01 14:55:50.000000000","message":"Cool. I guess a rolling upgrade will make sure that the DB load due to the update is limited.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"56c61ba5ecf12ee2cde3ff508a6db8c88f57bac7","unresolved":true,"context_lines":[{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a full"},{"line_number":89,"context_line":"  rebuild of the instance."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"* Allow the ``machine_type`` to be updated by an admin/operator via a"},{"line_number":92,"context_line":"  ``nova-manage`` command"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9717ff61_20ce515b","line":92,"range":{"start_line":91,"start_character":1,"end_line":92,"end_character":25},"updated":"2020-12-01 10:59:44.000000000","message":"Could you go into more detail as to what this means?","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":true,"context_lines":[{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a full"},{"line_number":89,"context_line":"  rebuild of the instance."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"* Allow the ``machine_type`` to be updated by an admin/operator via a"},{"line_number":92,"context_line":"  ``nova-manage`` command"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bd46199a_1095f51a","line":92,"range":{"start_line":91,"start_character":1,"end_line":92,"end_character":25},"in_reply_to":"92ff3d07_386d7ea4","updated":"2020-12-01 12:59:33.000000000","message":"I\u0027ll add some colour to this. In reality it\u0027s really only to allow admins/operators to move users between the versioned machine types but could allow them to move between full machine types.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9b7f9f7b500c59112b62edd7154852354298e9ea","unresolved":true,"context_lines":[{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a full"},{"line_number":89,"context_line":"  rebuild of the instance."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"* Allow the ``machine_type`` to be updated by an admin/operator via a"},{"line_number":92,"context_line":"  ``nova-manage`` command"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"92ff3d07_386d7ea4","line":92,"range":{"start_line":91,"start_character":1,"end_line":92,"end_character":25},"in_reply_to":"9717ff61_20ce515b","updated":"2020-12-01 12:17:07.000000000","message":"I don\u0027t see how this can be safely done regarding ABI compatibility. The admin needs to force a rebuild if the old \u0027pc\u0027 support needs to be removed from a compute.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"25a72b9aeeb15cd2c4cfa9291050b3214ba5b862","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a full"},{"line_number":89,"context_line":"  rebuild of the instance."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"* Allow the ``machine_type`` to be updated by an admin/operator via a"},{"line_number":92,"context_line":"  ``nova-manage`` command"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"21c2e188_c78fd228","line":92,"range":{"start_line":91,"start_character":1,"end_line":92,"end_character":25},"in_reply_to":"bc6ce4b9_b8896b6b","updated":"2020-12-01 16:44:26.000000000","message":"Ack","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b688a006d2cfe35c6a3ac106e0227a6434ac3c26","unresolved":true,"context_lines":[{"line_number":88,"context_line":"  other action that results in the domain being redefined aside from a full"},{"line_number":89,"context_line":"  rebuild of the instance."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"* Allow the ``machine_type`` to be updated by an admin/operator via a"},{"line_number":92,"context_line":"  ``nova-manage`` command"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bc6ce4b9_b8896b6b","line":92,"range":{"start_line":91,"start_character":1,"end_line":92,"end_character":25},"in_reply_to":"bd46199a_1095f51a","updated":"2020-12-01 14:55:50.000000000","message":"I see. The version generalization part looks OK to me. With a fat warning in the documentation I can accept the full machine type change too. It is dangerous but the admin should have such power.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"56c61ba5ecf12ee2cde3ff508a6db8c88f57bac7","unresolved":true,"context_lines":[{"line_number":99,"context_line":"Data model impact"},{"line_number":100,"context_line":"-----------------"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"The ``Instance`` object will be extended to include a nullable ``machine_type``"},{"line_number":103,"context_line":"attribute that maps to a simple ``StringField`` stored in the instance extras"},{"line_number":104,"context_line":"table."},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"132d0ee7_cc9d760b","line":102,"range":{"start_line":102,"start_character":65,"end_line":102,"end_character":77},"updated":"2020-12-01 10:59:44.000000000","message":"Would \u0027hw_machine_type\u0027 make more sense, to indicate that this is some config that affects the instance\u0027s hardware configuration, like we do for \u0027ImageMetaProps\u0027 fields?","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Data model impact"},{"line_number":100,"context_line":"-----------------"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"The ``Instance`` object will be extended to include a nullable ``machine_type``"},{"line_number":103,"context_line":"attribute that maps to a simple ``StringField`` stored in the instance extras"},{"line_number":104,"context_line":"table."},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"c8c93653_a84d242a","line":102,"range":{"start_line":102,"start_character":65,"end_line":102,"end_character":77},"in_reply_to":"132d0ee7_cc9d760b","updated":"2020-12-01 12:59:33.000000000","message":"I didn\u0027t see any examples of this already in the codebase but I\u0027m not against it. I\u0027ll change in a respin.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"56c61ba5ecf12ee2cde3ff508a6db8c88f57bac7","unresolved":true,"context_lines":[{"line_number":103,"context_line":"attribute that maps to a simple ``StringField`` stored in the instance extras"},{"line_number":104,"context_line":"table."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"A ``StringFeild`` is used here as we cannot enumerate all of the possible"},{"line_number":107,"context_line":"values of ``machine_type`` as different distributions provide different"},{"line_number":108,"context_line":"versioned machine_types. For example Fedora provides machine types versioned by"},{"line_number":109,"context_line":"the underlying QEMU version, while RHEL provides machine types versioned by the"}],"source_content_type":"text/x-rst","patch_set":7,"id":"89aa5d67_0c4be2d7","line":106,"range":{"start_line":106,"start_character":4,"end_line":106,"end_character":15},"updated":"2020-12-01 10:59:44.000000000","message":"typo","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":false,"context_lines":[{"line_number":103,"context_line":"attribute that maps to a simple ``StringField`` stored in the instance extras"},{"line_number":104,"context_line":"table."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"A ``StringFeild`` is used here as we cannot enumerate all of the possible"},{"line_number":107,"context_line":"values of ``machine_type`` as different distributions provide different"},{"line_number":108,"context_line":"versioned machine_types. For example Fedora provides machine types versioned by"},{"line_number":109,"context_line":"the underlying QEMU version, while RHEL provides machine types versioned by the"}],"source_content_type":"text/x-rst","patch_set":7,"id":"97f77f44_8a561239","line":106,"range":{"start_line":106,"start_character":4,"end_line":106,"end_character":15},"in_reply_to":"89aa5d67_0c4be2d7","updated":"2020-12-01 12:59:33.000000000","message":"Ack","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"56c61ba5ecf12ee2cde3ff508a6db8c88f57bac7","unresolved":true,"context_lines":[{"line_number":186,"context_line":"--------------"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"When upgrading to Wallaby from Victoria (or earlier) on startup the libvirt"},{"line_number":189,"context_line":"driver will attempt to record the current ``machine_type`` of each instance"},{"line_number":190,"context_line":"residing on the host. This includes SHUTOFF, PAUSED and SHELVED instances."},{"line_number":191,"context_line":"Where possible this will come from a direct query of the underlying guest"},{"line_number":192,"context_line":"domain but if one isn\u0027t found will instead come from the instance image"}],"source_content_type":"text/x-rst","patch_set":7,"id":"d638bbb6_41cd8eb5","line":189,"range":{"start_line":189,"start_character":67,"end_line":189,"end_character":75},"updated":"2020-12-01 10:59:44.000000000","message":"non-deleted instance ?","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":false,"context_lines":[{"line_number":186,"context_line":"--------------"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"When upgrading to Wallaby from Victoria (or earlier) on startup the libvirt"},{"line_number":189,"context_line":"driver will attempt to record the current ``machine_type`` of each instance"},{"line_number":190,"context_line":"residing on the host. This includes SHUTOFF, PAUSED and SHELVED instances."},{"line_number":191,"context_line":"Where possible this will come from a direct query of the underlying guest"},{"line_number":192,"context_line":"domain but if one isn\u0027t found will instead come from the instance image"}],"source_content_type":"text/x-rst","patch_set":7,"id":"37aa1106_9f91986b","line":189,"range":{"start_line":189,"start_character":67,"end_line":189,"end_character":75},"in_reply_to":"d638bbb6_41cd8eb5","updated":"2020-12-01 12:59:33.000000000","message":"Ack","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9b7f9f7b500c59112b62edd7154852354298e9ea","unresolved":true,"context_lines":[{"line_number":192,"context_line":"domain but if one isn\u0027t found will instead come from the instance image"},{"line_number":193,"context_line":"metadata property ``hw_machine_type`` or default ``[libvirt]/hw_machine_type``"},{"line_number":194,"context_line":"configurable."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Only when this value has been recorded for all instances on a given compute can"},{"line_number":197,"context_line":"the ``[libvirt]/hw_machine_type`` configurable for the host be changed. Any"},{"line_number":198,"context_line":"attempt to do this before the value has been recorded for all instances will"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7cea6a19_bf9586b5","line":195,"updated":"2020-12-01 12:17:07.000000000","message":"What will happen with shelved_offloaded instances? There we don\u0027t know which machine type was used before the offload, but as the instance is snapshotted the ABI compatibility is still can be a concern.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":true,"context_lines":[{"line_number":192,"context_line":"domain but if one isn\u0027t found will instead come from the instance image"},{"line_number":193,"context_line":"metadata property ``hw_machine_type`` or default ``[libvirt]/hw_machine_type``"},{"line_number":194,"context_line":"configurable."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Only when this value has been recorded for all instances on a given compute can"},{"line_number":197,"context_line":"the ``[libvirt]/hw_machine_type`` configurable for the host be changed. Any"},{"line_number":198,"context_line":"attempt to do this before the value has been recorded for all instances will"}],"source_content_type":"text/x-rst","patch_set":7,"id":"af675d91_e950157d","line":195,"in_reply_to":"7cea6a19_bf9586b5","updated":"2020-12-01 12:59:33.000000000","message":"This is slightly tricky, we could document the need for admins to manually set this via ``nova-manage`` before adjusting defaults in the environment.\n\nAlternatively we could wire up a ``nova-manage`` command to lookup the host and attempt to fetch the current default again before the defaults change but that\u0027s more complicated and error prone.\n\nThoughts?","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b688a006d2cfe35c6a3ac106e0227a6434ac3c26","unresolved":true,"context_lines":[{"line_number":192,"context_line":"domain but if one isn\u0027t found will instead come from the instance image"},{"line_number":193,"context_line":"metadata property ``hw_machine_type`` or default ``[libvirt]/hw_machine_type``"},{"line_number":194,"context_line":"configurable."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Only when this value has been recorded for all instances on a given compute can"},{"line_number":197,"context_line":"the ``[libvirt]/hw_machine_type`` configurable for the host be changed. Any"},{"line_number":198,"context_line":"attempt to do this before the value has been recorded for all instances will"}],"source_content_type":"text/x-rst","patch_set":7,"id":"cad8d81f_1e21b05c","line":195,"in_reply_to":"af675d91_e950157d","updated":"2020-12-01 14:55:50.000000000","message":"I\u0027m OK with a nova-manage command where the admin can set the machine_type manually for offloaded instances.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"25a72b9aeeb15cd2c4cfa9291050b3214ba5b862","unresolved":false,"context_lines":[{"line_number":192,"context_line":"domain but if one isn\u0027t found will instead come from the instance image"},{"line_number":193,"context_line":"metadata property ``hw_machine_type`` or default ``[libvirt]/hw_machine_type``"},{"line_number":194,"context_line":"configurable."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Only when this value has been recorded for all instances on a given compute can"},{"line_number":197,"context_line":"the ``[libvirt]/hw_machine_type`` configurable for the host be changed. Any"},{"line_number":198,"context_line":"attempt to do this before the value has been recorded for all instances will"}],"source_content_type":"text/x-rst","patch_set":7,"id":"34bd5e29_a91f2905","line":195,"in_reply_to":"cad8d81f_1e21b05c","updated":"2020-12-01 16:44:26.000000000","message":"Ack","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9b7f9f7b500c59112b62edd7154852354298e9ea","unresolved":true,"context_lines":[{"line_number":196,"context_line":"Only when this value has been recorded for all instances on a given compute can"},{"line_number":197,"context_line":"the ``[libvirt]/hw_machine_type`` configurable for the host be changed. Any"},{"line_number":198,"context_line":"attempt to do this before the value has been recorded for all instances will"},{"line_number":199,"context_line":"result in service being unable to start."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"A ``nova-status`` command will be introduced to help operators determine when"},{"line_number":202,"context_line":"it is safe to change ``[libvirt]/hw_machine_type`` outside of just restarting"}],"source_content_type":"text/x-rst","patch_set":7,"id":"b39ff89e_4526569b","line":199,"updated":"2020-12-01 12:17:07.000000000","message":"How can we detect the config change? We cannot simply check if it is configured to other than the default None or the new default. As there are computes out there that are actively configuring hw_machine_type today. The nova-compute booting up does not see the previous value of the hw_machine_type config, just the current one, so we cannot compare.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"dd9e346d146532f8af438680d8d39a587fbe02b4","unresolved":false,"context_lines":[{"line_number":196,"context_line":"Only when this value has been recorded for all instances on a given compute can"},{"line_number":197,"context_line":"the ``[libvirt]/hw_machine_type`` configurable for the host be changed. Any"},{"line_number":198,"context_line":"attempt to do this before the value has been recorded for all instances will"},{"line_number":199,"context_line":"result in service being unable to start."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"A ``nova-status`` command will be introduced to help operators determine when"},{"line_number":202,"context_line":"it is safe to change ``[libvirt]/hw_machine_type`` outside of just restarting"}],"source_content_type":"text/x-rst","patch_set":7,"id":"47fb6a9a_a8d7c89c","line":199,"in_reply_to":"7712249a_3497ce39","updated":"2020-12-02 09:36:22.000000000","message":"that is OK to me.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"25a72b9aeeb15cd2c4cfa9291050b3214ba5b862","unresolved":false,"context_lines":[{"line_number":196,"context_line":"Only when this value has been recorded for all instances on a given compute can"},{"line_number":197,"context_line":"the ``[libvirt]/hw_machine_type`` configurable for the host be changed. Any"},{"line_number":198,"context_line":"attempt to do this before the value has been recorded for all instances will"},{"line_number":199,"context_line":"result in service being unable to start."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"A ``nova-status`` command will be introduced to help operators determine when"},{"line_number":202,"context_line":"it is safe to change ``[libvirt]/hw_machine_type`` outside of just restarting"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7712249a_3497ce39","line":199,"in_reply_to":"8b3d25a8_3bf399f0","updated":"2020-12-01 16:44:26.000000000","message":"Yes if it isn\u0027t set to the new default log a warning to highlight that it should not be changed until all non-deleted instances have had their machine_type recorded.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":false,"context_lines":[{"line_number":196,"context_line":"Only when this value has been recorded for all instances on a given compute can"},{"line_number":197,"context_line":"the ``[libvirt]/hw_machine_type`` configurable for the host be changed. Any"},{"line_number":198,"context_line":"attempt to do this before the value has been recorded for all instances will"},{"line_number":199,"context_line":"result in service being unable to start."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"A ``nova-status`` command will be introduced to help operators determine when"},{"line_number":202,"context_line":"it is safe to change ``[libvirt]/hw_machine_type`` outside of just restarting"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ed5eb3c4_d4cb9f3b","line":199,"in_reply_to":"b39ff89e_4526569b","updated":"2020-12-01 12:59:33.000000000","message":"Yup fair point about existing hosts that have configured this. I\u0027ll rework this into a WARNING during compute startup then.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b688a006d2cfe35c6a3ac106e0227a6434ac3c26","unresolved":false,"context_lines":[{"line_number":196,"context_line":"Only when this value has been recorded for all instances on a given compute can"},{"line_number":197,"context_line":"the ``[libvirt]/hw_machine_type`` configurable for the host be changed. Any"},{"line_number":198,"context_line":"attempt to do this before the value has been recorded for all instances will"},{"line_number":199,"context_line":"result in service being unable to start."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"A ``nova-status`` command will be introduced to help operators determine when"},{"line_number":202,"context_line":"it is safe to change ``[libvirt]/hw_machine_type`` outside of just restarting"}],"source_content_type":"text/x-rst","patch_set":7,"id":"8b3d25a8_3bf399f0","line":199,"in_reply_to":"ed5eb3c4_d4cb9f3b","updated":"2020-12-01 14:55:50.000000000","message":"Do you mean that there will be a WARNING if the hw_machine_type config is not set to default?","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"56c61ba5ecf12ee2cde3ff508a6db8c88f57bac7","unresolved":true,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"A ``nova-manage`` command will be introduced to update the machine type of a"},{"line_number":211,"context_line":"given instance in the DB, allowing operators and admins to migrate instances"},{"line_number":212,"context_line":"between these versioned machine types overtime without a full resize or rebuild"},{"line_number":213,"context_line":"of the instance. This will however require a hard reboot or cold migration of"},{"line_number":214,"context_line":"the instance for the machine type to be used by the underlying instance."},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"31780b8b_35e29baf","line":212,"range":{"start_line":212,"start_character":38,"end_line":212,"end_character":46},"updated":"2020-12-01 10:59:44.000000000","message":"over time","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9b7f9f7b500c59112b62edd7154852354298e9ea","unresolved":true,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"A ``nova-manage`` command will be introduced to update the machine type of a"},{"line_number":211,"context_line":"given instance in the DB, allowing operators and admins to migrate instances"},{"line_number":212,"context_line":"between these versioned machine types overtime without a full resize or rebuild"},{"line_number":213,"context_line":"of the instance. This will however require a hard reboot or cold migration of"},{"line_number":214,"context_line":"the instance for the machine type to be used by the underlying instance."},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"e5ccefe7_cd347df1","line":212,"range":{"start_line":212,"start_character":38,"end_line":212,"end_character":46},"in_reply_to":"31780b8b_35e29baf","updated":"2020-12-01 12:17:07.000000000","message":"Ohh, so this command will only allow to generalize the machine type but not to change from pc to q35.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"25a72b9aeeb15cd2c4cfa9291050b3214ba5b862","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"A ``nova-manage`` command will be introduced to update the machine type of a"},{"line_number":211,"context_line":"given instance in the DB, allowing operators and admins to migrate instances"},{"line_number":212,"context_line":"between these versioned machine types overtime without a full resize or rebuild"},{"line_number":213,"context_line":"of the instance. This will however require a hard reboot or cold migration of"},{"line_number":214,"context_line":"the instance for the machine type to be used by the underlying instance."},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"6cf56214_d64f96ef","line":212,"range":{"start_line":212,"start_character":38,"end_line":212,"end_character":46},"in_reply_to":"8ff69116_dbe396a6","updated":"2020-12-01 16:44:26.000000000","message":"Done","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":true,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"A ``nova-manage`` command will be introduced to update the machine type of a"},{"line_number":211,"context_line":"given instance in the DB, allowing operators and admins to migrate instances"},{"line_number":212,"context_line":"between these versioned machine types overtime without a full resize or rebuild"},{"line_number":213,"context_line":"of the instance. This will however require a hard reboot or cold migration of"},{"line_number":214,"context_line":"the instance for the machine type to be used by the underlying instance."},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"8ff69116_dbe396a6","line":212,"range":{"start_line":212,"start_character":38,"end_line":212,"end_character":46},"in_reply_to":"e5ccefe7_cd347df1","updated":"2020-12-01 12:59:33.000000000","message":"Correct, as written in the spec at the moment there\u0027s nothing stopping them from switching between the actual machine types but we could easily block this and only allow them to switch between versions of the same machine type.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"56c61ba5ecf12ee2cde3ff508a6db8c88f57bac7","unresolved":true,"context_lines":[{"line_number":211,"context_line":"given instance in the DB, allowing operators and admins to migrate instances"},{"line_number":212,"context_line":"between these versioned machine types overtime without a full resize or rebuild"},{"line_number":213,"context_line":"of the instance. This will however require a hard reboot or cold migration of"},{"line_number":214,"context_line":"the instance for the machine type to be used by the underlying instance."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Implementation"},{"line_number":217,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fe9e8681_ce8ee87d","line":214,"updated":"2020-12-01 10:59:44.000000000","message":"I asked above, but what is the rationale for this?","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"961f5bf7dcb1f7d054ccadec1e73a6093d430ca5","unresolved":false,"context_lines":[{"line_number":211,"context_line":"given instance in the DB, allowing operators and admins to migrate instances"},{"line_number":212,"context_line":"between these versioned machine types overtime without a full resize or rebuild"},{"line_number":213,"context_line":"of the instance. This will however require a hard reboot or cold migration of"},{"line_number":214,"context_line":"the instance for the machine type to be used by the underlying instance."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Implementation"},{"line_number":217,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"67518fd6_cf41d7fc","line":214,"in_reply_to":"fe9e8681_ce8ee87d","updated":"2020-12-01 12:59:33.000000000","message":"As above it is to allow operators/admins to move instances between versions of the same machine type if they aren\u0027t using the alias.","commit_id":"96dd42b90d2d56e6491f60b527cd6764096537e8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f300b1cfb88694eef86d1491fae0d55b1fa8db8b","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"QEMU\u0027s \"machine type\" concept can be thought of a virtual chipset that"},{"line_number":17,"context_line":"provides certain default devices (e.g. PCIe graphics card, Ethernet"},{"line_number":18,"context_line":"controller, SATA controllae, etc).  QEMU supports two main variants of"},{"line_number":19,"context_line":"\"machine type\" for x86 hosts: (a) ``pc``, which corresponds to Intel\u0027s"},{"line_number":20,"context_line":"I440FX chipset, which is twenty-two years old as of this writing; and"},{"line_number":21,"context_line":"(b) ``q35``, which corresponds to Intel\u0027s 82Q35 chipset (released in"}],"source_content_type":"text/x-rst","patch_set":8,"id":"49302bc7_eccb33e5","line":18,"range":{"start_line":18,"start_character":17,"end_line":18,"end_character":27},"updated":"2020-12-02 11:13:44.000000000","message":"I had to check that this wasn\u0027t a word. It isn\u0027t.","commit_id":"3198a71d00d419128ee6c10c3915418576368af1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b688a006d2cfe35c6a3ac106e0227a6434ac3c26","unresolved":true,"context_lines":[{"line_number":85,"context_line":"  instances that don\u0027t have a ``machine_type`` listed at present."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Allow operators to set the machine_type of ``SHELVE_OFFLOADED`` instances via"},{"line_number":88,"context_line":"  a ``nova-manage`` command."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"* Ensure the stored machine type is used during a hard reboot, move or any"},{"line_number":91,"context_line":"  other action that results in the domain being redefined aside from a full"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5bfa36a0_b51ba173","line":88,"updated":"2020-12-01 14:55:50.000000000","message":"OK, that resolves my issue. It is not nice but we cannot do an automatic solution.","commit_id":"3198a71d00d419128ee6c10c3915418576368af1"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"25a72b9aeeb15cd2c4cfa9291050b3214ba5b862","unresolved":false,"context_lines":[{"line_number":85,"context_line":"  instances that don\u0027t have a ``machine_type`` listed at present."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* Allow operators to set the machine_type of ``SHELVE_OFFLOADED`` instances via"},{"line_number":88,"context_line":"  a ``nova-manage`` command."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"* Ensure the stored machine type is used during a hard reboot, move or any"},{"line_number":91,"context_line":"  other action that results in the domain being redefined aside from a full"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ed147e41_7ccd62c3","line":88,"in_reply_to":"5bfa36a0_b51ba173","updated":"2020-12-01 16:44:26.000000000","message":"Ack","commit_id":"3198a71d00d419128ee6c10c3915418576368af1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b688a006d2cfe35c6a3ac106e0227a6434ac3c26","unresolved":true,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Allow the stored machine_type of a ``SHUTOFF`` instance to be updated by"},{"line_number":95,"context_line":"  an admin/operator via a ``nova-manage`` command. Allowing operators to"},{"line_number":96,"context_line":"  migrate instances between versioned machine types if an alias is not used."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Alternatives"},{"line_number":99,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"6ad1e898_02f02b58","line":96,"updated":"2020-12-01 14:55:50.000000000","message":"I\u0027m OK with this","commit_id":"3198a71d00d419128ee6c10c3915418576368af1"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"25a72b9aeeb15cd2c4cfa9291050b3214ba5b862","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Allow the stored machine_type of a ``SHUTOFF`` instance to be updated by"},{"line_number":95,"context_line":"  an admin/operator via a ``nova-manage`` command. Allowing operators to"},{"line_number":96,"context_line":"  migrate instances between versioned machine types if an alias is not used."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Alternatives"},{"line_number":99,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"b8577106_b25d1101","line":96,"in_reply_to":"6ad1e898_02f02b58","updated":"2020-12-01 16:44:26.000000000","message":"Ack","commit_id":"3198a71d00d419128ee6c10c3915418576368af1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f300b1cfb88694eef86d1491fae0d55b1fa8db8b","unresolved":true,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"As a result another ``nova-manage`` command will be introduced to update the"},{"line_number":215,"context_line":"machine type of a given ``SHUTOFF`` instance in the DB, allowing operators and"},{"line_number":216,"context_line":"admins to migrate instances between these versioned machine types overtime"},{"line_number":217,"context_line":"without a full rebuild of the instance. It should be noted that this"},{"line_number":218,"context_line":"command will not allow the machine_type to be changed between actual types of"},{"line_number":219,"context_line":"machine_type, for example ``pc`` to ``q35``. This will continue to require a"}],"source_content_type":"text/x-rst","patch_set":8,"id":"35a6ffab_56aad1f5","line":216,"range":{"start_line":216,"start_character":66,"end_line":216,"end_character":74},"updated":"2020-12-02 11:13:44.000000000","message":"over time","commit_id":"3198a71d00d419128ee6c10c3915418576368af1"}]}
