)]}'
{"specs/ocata/approved/modify-cpu-mode-precedence.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Use Cases"},{"line_number":19,"context_line":"----------"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. This would also allow tenants to set CPU Mode for the image."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Proposed change"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_321e2b0c","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":77},"updated":"2016-10-17 13:16:41.000000000","message":"Yes, but why? What\u0027s the value proposition?","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Proposed change"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"In order to modify the default guest CPU Mode, the image metadata definition"},{"line_number":28,"context_line":"with ``cpu_mode`` property should be created within Glance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"The CPU Mode values are: ``none, custom, host-model and host-passthrough``."},{"line_number":31,"context_line":"For the common hypervisor options like kvm and qemu, the cpu-mode is set to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_b2bf9bce","line":28,"range":{"start_line":27,"start_character":0,"end_line":28,"end_character":59},"updated":"2016-10-17 13:16:41.000000000","message":"IMO, this is unrelated. Glance simply stores references, but the actual data is handled by nova. Maybe this should go into the developer impact section (Glance devs must add...)?","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":27,"context_line":"In order to modify the default guest CPU Mode, the image metadata definition"},{"line_number":28,"context_line":"with ``cpu_mode`` property should be created within Glance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"The CPU Mode values are: ``none, custom, host-model and host-passthrough``."},{"line_number":31,"context_line":"For the common hypervisor options like kvm and qemu, the cpu-mode is set to"},{"line_number":32,"context_line":"``host-model`` by default. The flavors and image_meta would override this"},{"line_number":33,"context_line":"value."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_32cc6b88","line":30,"range":{"start_line":30,"start_character":25,"end_line":30,"end_character":74},"updated":"2016-10-17 13:16:41.000000000","message":"nit: Format each of these independently, like so:\n\n    ``none``, ``custom``, ...","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"The CPU Mode values are: ``none, custom, host-model and host-passthrough``."},{"line_number":31,"context_line":"For the common hypervisor options like kvm and qemu, the cpu-mode is set to"},{"line_number":32,"context_line":"``host-model`` by default. The flavors and image_meta would override this"},{"line_number":33,"context_line":"value."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The operator can create a flavor with a default desired CPU Mode for creating"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_52c71f63","line":32,"range":{"start_line":32,"start_character":31,"end_line":32,"end_character":54},"updated":"2016-10-17 13:16:41.000000000","message":"flavor extra specs and image metadata can be used to override...","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":35,"context_line":"The operator can create a flavor with a default desired CPU Mode for creating"},{"line_number":36,"context_line":"a guest instance."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If the CPU Mode is not set in the ``flavors``, the ``image_meta``  will be"},{"line_number":39,"context_line":"checked for any specified CPU Model and will take precedence."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_b294fb36","line":38,"range":{"start_line":38,"start_character":34,"end_line":38,"end_character":65},"updated":"2016-10-17 13:16:41.000000000","message":"These aren\u0027t code and don\u0027t need to be formatted as such (first time I\u0027ve ever asked that :P)","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":32,"context_line":"``host-model`` by default. The flavors and image_meta would override this"},{"line_number":33,"context_line":"value."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The operator can create a flavor with a default desired CPU Mode for creating"},{"line_number":36,"context_line":"a guest instance."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If the CPU Mode is not set in the ``flavors``, the ``image_meta``  will be"},{"line_number":39,"context_line":"checked for any specified CPU Model and will take precedence."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":42,"context_line":"be chosen."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_12fbe779","line":39,"range":{"start_line":35,"start_character":0,"end_line":39,"end_character":61},"updated":"2016-10-17 13:16:41.000000000","message":"I think you should re-evaluate this. IMO, in the event of conflicts an exception should be raised. A conflict would occur when both the flavor extra spec and image meta options are set to different, non-default values","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":49,"context_line":"Data model impact"},{"line_number":50,"context_line":"-----------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"A new keypair of ``cpu_info:cpu_model`` must be added to the ImageMetaProps"},{"line_number":53,"context_line":"object."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_524d5fc2","line":52,"range":{"start_line":52,"start_character":19,"end_line":52,"end_character":37},"updated":"2016-10-17 13:16:41.000000000","message":"cpu_info isn\u0027t a namespace for image metadata [1]. You should probably use \u0027hw\u0027, e.g. hw_cpu_model\n\n[1] https://github.com/openstack/nova/blob/18e9971/nova/objects/image_meta.py#L209-L211","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Developer impact"},{"line_number":85,"context_line":"----------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"None"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Implementation"},{"line_number":90,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_32d9cbf3","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":4},"updated":"2016-10-17 13:16:41.000000000","message":"This seems very libvirt-specific. Have you thought about how to bring this to the other virt drivers?","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":98,"context_line":"Work Items"},{"line_number":99,"context_line":"----------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"As described in the Proposed Change."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Dependencies"},{"line_number":104,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_d2e6cfae","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":36},"updated":"2016-10-17 13:16:41.000000000","message":"Can you break this out here into concise bullet points?","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ca53286b248f95f00a9bb3dbed2912a2286b3d2","unresolved":false,"context_lines":[{"line_number":114,"context_line":"Documentation Impact"},{"line_number":115,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* The new image metadata definition may have to be documented."},{"line_number":118,"context_line":"* The changes in CPU Mode selection may have to be documented."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_52fb9f46","line":117,"range":{"start_line":117,"start_character":36,"end_line":117,"end_character":39},"updated":"2016-10-17 13:16:41.000000000","message":"will","commit_id":"cf111d685ebea33604e276e755c7d9e3f8a1c8e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d534c518610264f0f67db8f5d280f3372dc9307a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"----------"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. With this change, a tenant can choose the required CPU Mode"},{"line_number":23,"context_line":"by modifying the image_meta properties."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_ca43416b","line":22,"range":{"start_line":22,"start_character":48,"end_line":22,"end_character":76},"updated":"2016-10-18 14:49:52.000000000","message":"Same as PS1 :) We can change CPU mode, but why would a user ever want to do that?","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"23c31959d64a0532f475325732767ff6985c0642","unresolved":false,"context_lines":[{"line_number":19,"context_line":"----------"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. With this change, a tenant can choose the required CPU Mode"},{"line_number":23,"context_line":"by modifying the image_meta properties."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_b4cb7d52","line":22,"range":{"start_line":22,"start_character":48,"end_line":22,"end_character":76},"in_reply_to":"fa6399be_ca43416b","updated":"2016-10-20 11:23:37.000000000","message":"there is a performance delta as compared to host-model as it allow access to cpu instruction otherwise not available via qemu. this is particularly relevant of you are not using the latest qemu or kernel. e.g. if you are placed on a plathform with a broadwell or skylake cpu but your qemu only has cpu model definitions up to haswell then you will be unable to use the avx 512 instruction introduced in broadwell unless you use host-passthrough.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b953036e13515141dde1e5d128577a88ea0e42d6","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. With this change, a tenant can choose the required CPU Mode"},{"line_number":23,"context_line":"by modifying the image_meta properties."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Proposed change"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_f8d0dff9","line":23,"updated":"2016-10-18 15:04:28.000000000","message":"This is not describing *why* we need the feature - it is just describing what the feature does. I\u0027m pretty far from convinced we need this.\n\nThe CPU model choice is primarily about controlling flexibility of live migration. ie the cloud admin wants to expose the best possible CPU model, which still leaves a large enough pool of hosts available to migrate guests between.\n\nIOW, if the cloud admin chose to set a very restrictive CPU model that blocked certain flags, then they are doing this intentionally to make live migration possible.  In this situation I think you do *NOT* want users to be able to override this.  Conversely if the cloud admin has exposed all possible features, then there is nothing useful for a user to override.\n\nSo I\u0027m not seeing a compelling benefit to this spec, and plenty of downside to it.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"585f380e689e27cc148fbfd0a31b05bbea1b8f5c","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. With this change, a tenant can choose the required CPU Mode"},{"line_number":23,"context_line":"by modifying the image_meta properties."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Proposed change"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5da102_6cf61c90","line":23,"in_reply_to":"da6895a0_11b037dd","updated":"2016-11-03 16:31:58.000000000","message":"I can possibly see value in allowing it to be controlled at the flavour level. eg nova.conf could be set to mode\u003dcustom, with a particular CPU model that allows migration of guests. The cloud admin could then define a flavour that exposes host-passthrough (at the cost of limiting migration) and have control over which tenant users are permitted to use this flavour with higher performance restrictive migration mode.\n\nThat said, if the admin does want to allow for some guests to have limited migration capabilities, I think they would realistically want to be using host aggregates. You don\u0027t want guests with restrictive migration ability to be spread randomly across arbitrary hosts. So i\u0027m still not very convinced we need to have an explicit setting at the flavour level either, as opposed to just using existing host level config with flavour host aggregates.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d33431fc33975d08a38ecfbc3fc665b1b117017e","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. With this change, a tenant can choose the required CPU Mode"},{"line_number":23,"context_line":"by modifying the image_meta properties."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Proposed change"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6895a0_11b037dd","line":23,"in_reply_to":"fa6399be_0c0175af","updated":"2016-10-21 02:28:22.000000000","message":"would you have an objection to this feautre if we dropped the ablitye to set it via the image metadata or made the config the highest presidence as i suggested in my comment to  line 48?\n\nim just trying to understand if you are against this feature entirely or just exposing it to the tenant.\n\nif we make the config take highest precidence \ni.e. config\u003eflavor\u003eimage\nand introduce a new config value \"dynamic\" to enable the value to be overriden by the flavor and image that would give the best of both worlds.\n\nif an operator dose not enable this feature by setting the cpu_mode to dynamic it will work exactly as id does today.\n\npritiv has a working example without unit test of this spec implemented by the way so that helps it should be available for review shortly but obviouly it will be blocked until it is dcied if this spec will be approved.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bd60e1ddcc687f8732f879480d9c4d2a17fb0da3","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. With this change, a tenant can choose the required CPU Mode"},{"line_number":23,"context_line":"by modifying the image_meta properties."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Proposed change"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_0c0175af","line":23,"in_reply_to":"fa6399be_259ad56e","updated":"2016-10-20 14:54:54.000000000","message":"The huge pages logic is actually using a combination of flavour and host level config. The host aggregate is determining the pool of valid compute nodes and hosts in that pool need to be configured in a certain way. Enabling a higher level external tool to individually pick specific hosts is describing a totally non-cloud mgmt model, so I don\u0027t see that as a compelling reasons todo this.\n\nThe ability to boot VMs with requirement to be placed on hosts with certain CPU features is completely orthogonal to this spec, so not relevant to the discussion.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"99accb4afcbb3f3783588e150a5b083d7c91a8ec","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. With this change, a tenant can choose the required CPU Mode"},{"line_number":23,"context_line":"by modifying the image_meta properties."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Proposed change"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_e703850e","line":23,"in_reply_to":"fa6399be_a797cd8e","updated":"2016-10-20 11:28:38.000000000","message":"If live migration is not important, then the cloud admin can configure the hosts to use the optimal performing CPU mode by default, removing any need to override it.  If live migraiton is important, then we do not want to have any override. Further, the admin has the ability to use host aggregates to partition their hosts if desired, so they can have some aggregrates with different CPU mode to others. They\u0027ll already have to use host aggregates for NFV to enable the cpu pinning\u0026 huge page features, so giving those hosts host-passthrough by default is easy. So still not seeing any compelling reason for this proposed spec, and plenty of downsides.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a85aa522a6aa834f7c2116b90fa91f76b0676e62","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. With this change, a tenant can choose the required CPU Mode"},{"line_number":23,"context_line":"by modifying the image_meta properties."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Proposed change"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_259ad56e","line":23,"in_reply_to":"fa6399be_e703850e","updated":"2016-10-20 14:43:40.000000000","message":"we were actully asked by a customer to enable this feature for an nfv context where they said they explicitly did not want to statically configure this the config file as they wanted to drive this from the mano layer above openstack.\n\nin this case the resource orchestrater component in the mano layer would be the entity to initiate a live migration if required and it would do so to a specific host so it can ensure that when host are live migrated they are migrated to a host with the same cpu.\n\ni would have taught hugepages is the perfect example of why we should not do this via the config. when we proposed our initial patchset to enable hugepages we made it a host wide configuration option for all vm and you argued that it should be controlled by the falvor and image properties.\n\nif the json filter is enabled on the could the tenant \nplace a vm on a node with a specific cpu feature \n\ni believe this would be valid to spawn an instance on a host that has avx \n\nnova boot --flavor 1 --image cirros-0.3.1-x86_64-uec \n\t\t--hint query\u003d\u0027[\"\u003cin\u003e\",\"$cpu_info.features\",avx]\u0027  vm1\n\nwith out the ability to also force host-pasthrough they cannot guarantee that it will be available when the vm is spawned.\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/nova-api-hypervsor-cpu-info.html","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"23c31959d64a0532f475325732767ff6985c0642","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This feature will facilitate the operator to specify the guest CPU Mode in the"},{"line_number":22,"context_line":"instance flavor. With this change, a tenant can choose the required CPU Mode"},{"line_number":23,"context_line":"by modifying the image_meta properties."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Proposed change"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_a797cd8e","line":23,"in_reply_to":"fa6399be_f8d0dff9","updated":"2016-10-20 11:23:37.000000000","message":"the this change is referring to exposing the flexibility to choose the cpu mode not the cpu model. lets keep the two concepts separate. \n\nthe primary reason for wanting to use host-passthrouh is for the perfromance delta vs host-model  and for access to all the cpu instructions avaialbe on the host.\n\nsince the flavor will take precedence over the image metadata if the operator still wants to restrict to a specific cpu model they will be able to by setting  the cpu-mode to host-model or custom then define the cpu model in the nova config today.\n\nin an nfv context the operator is not free to livemirgate vm as it would violate tenant slas for packet loss so there are several industreis where using a value other the host-passthrough has not compelling benifit and plenty of downsides too :)","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d534c518610264f0f67db8f5d280f3372dc9307a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"In order to modify the default guest CPU Mode, a key value pair"},{"line_number":29,"context_line":"``cpu_info:cpu_mode`` has to be created with Glance."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The CPU Mode values are: ``none``, ``custom``, ``host-model`` and"},{"line_number":32,"context_line":"``host-passthrough``. For the common hypervisor options like kvm and qemu, the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_aa352df8","line":29,"range":{"start_line":29,"start_character":2,"end_line":29,"end_character":10},"updated":"2016-10-18 14:49:52.000000000","message":"This isn\u0027t a valid namespace - see previous comments.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":19370,"name":"Prithiv","email":"prithiv.mohan@intel.com","username":"prithiv"},"change_message_id":"dce5a58b157bc93d1f557f1149756b1e1a8046e6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"In order to modify the default guest CPU Mode, a key value pair"},{"line_number":29,"context_line":"``cpu_info:cpu_mode`` has to be created with Glance."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The CPU Mode values are: ``none``, ``custom``, ``host-model`` and"},{"line_number":32,"context_line":"``host-passthrough``. For the common hypervisor options like kvm and qemu, the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_19791530","line":29,"range":{"start_line":29,"start_character":2,"end_line":29,"end_character":10},"in_reply_to":"fa6399be_18acb3ec","updated":"2016-10-18 15:58:22.000000000","message":"I dont see cpu_info:model being created with the same prefix\nhttps://github.com/openstack/glance/blob/master/etc/metadefs/compute-host-capabilities.json#L28","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"2b3579574de74781aafe2c8e9ecb2dfd281105cf","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"In order to modify the default guest CPU Mode, a key value pair"},{"line_number":29,"context_line":"``cpu_info:cpu_mode`` has to be created with Glance."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The CPU Mode values are: ``none``, ``custom``, ``host-model`` and"},{"line_number":32,"context_line":"``host-passthrough``. For the common hypervisor options like kvm and qemu, the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_39db391d","line":29,"range":{"start_line":29,"start_character":2,"end_line":29,"end_character":10},"in_reply_to":"fa6399be_19791530","updated":"2016-10-18 16:05:19.000000000","message":"That\u0027s not a relevant reference - you\u0027re comparing apples \u0026 oranges. All hardware related image props *must* use \u0027hw_\u0027 and all hardware related flavour extra specs that affect VM config must use \u0027hw:\u0027.  cpu_info:model is about reporting of host capabilites which is *not* related to VM config.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":19370,"name":"Prithiv","email":"prithiv.mohan@intel.com","username":"prithiv"},"change_message_id":"93fa591bb77fed3bdf9b821ab7f029354a813198","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"In order to modify the default guest CPU Mode, a key value pair"},{"line_number":29,"context_line":"``cpu_info:cpu_mode`` has to be created with Glance."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The CPU Mode values are: ``none``, ``custom``, ``host-model`` and"},{"line_number":32,"context_line":"``host-passthrough``. For the common hypervisor options like kvm and qemu, the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_da53086b","line":29,"range":{"start_line":29,"start_character":2,"end_line":29,"end_character":10},"in_reply_to":"fa6399be_39db391d","updated":"2016-10-18 18:22:03.000000000","message":"okay. i get it. i can modify that","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b953036e13515141dde1e5d128577a88ea0e42d6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"In order to modify the default guest CPU Mode, a key value pair"},{"line_number":29,"context_line":"``cpu_info:cpu_mode`` has to be created with Glance."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The CPU Mode values are: ``none``, ``custom``, ``host-model`` and"},{"line_number":32,"context_line":"``host-passthrough``. For the common hypervisor options like kvm and qemu, the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_18acb3ec","line":29,"range":{"start_line":29,"start_character":2,"end_line":29,"end_character":10},"in_reply_to":"fa6399be_aa352df8","updated":"2016-10-18 15:04:28.000000000","message":"Yes, this *must* use \u0027hw_\u0027 as the name prefix eg hw_cpu_mode for image property.\nMeanwhile for flavour extra spec is must use \u0027hw:\u0027 as the prefix","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"23c31959d64a0532f475325732767ff6985c0642","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"In order to modify the default guest CPU Mode, a key value pair"},{"line_number":29,"context_line":"``cpu_info:cpu_mode`` has to be created with Glance."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The CPU Mode values are: ``none``, ``custom``, ``host-model`` and"},{"line_number":32,"context_line":"``host-passthrough``. For the common hypervisor options like kvm and qemu, the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_473d118e","line":29,"range":{"start_line":29,"start_character":2,"end_line":29,"end_character":10},"in_reply_to":"fa6399be_da53086b","updated":"2016-10-20 11:23:37.000000000","message":"ah that is good to clarify as it is not clear that the cpu_info namespace is only used for reporting.\n\nis this documented somewhere.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"fa742d7e459ea90ede954dcd98f1f86c1dc1170a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"``cpu_info:cpu_mode`` has to be created with Glance."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The CPU Mode values are: ``none``, ``custom``, ``host-model`` and"},{"line_number":32,"context_line":"``host-passthrough``. For the common hypervisor options like kvm and qemu, the"},{"line_number":33,"context_line":"``cpu-mode`` is set to ``host-model`` by default. This can be overridden using"},{"line_number":34,"context_line":"flavor extra specs and image_meta value."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5da102_092a997e","line":32,"range":{"start_line":32,"start_character":30,"end_line":32,"end_character":36},"updated":"2016-10-28 14:09:06.000000000","message":"Have you considered the ability to set the CPU mode to \"custom\" in the flavor, and then also specify the custom CPU model?  That way you could ensure that a given flavor could be widely migratable (or alternately you could trade off migratability for higher performance by specifying a newer CPU model).","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"86b2c2362286be3dbacef17317be200812ee0061","unresolved":false,"context_lines":[{"line_number":29,"context_line":"``cpu_info:cpu_mode`` has to be created with Glance."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The CPU Mode values are: ``none``, ``custom``, ``host-model`` and"},{"line_number":32,"context_line":"``host-passthrough``. For the common hypervisor options like kvm and qemu, the"},{"line_number":33,"context_line":"``cpu-mode`` is set to ``host-model`` by default. This can be overridden using"},{"line_number":34,"context_line":"flavor extra specs and image_meta value."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5da102_98726348","line":32,"range":{"start_line":32,"start_character":30,"end_line":32,"end_character":36},"in_reply_to":"ba5da102_092a997e","updated":"2016-10-29 19:02:33.000000000","message":"there are few issue with that.\nfirst the cpu models are generic and strive to cover the 80% case of any generation of cpus. because of this they may not expose feature that are avaialbe on that generation but only on a select number of chip (things like cache allocation technology or aes-ni when it was first introduced before it was roled out across all models) or worst it can resulted in hardware features beign emulated in softaware that aren\u0027t actually supported in hardware. \n\na good example of this is avx 512 can be emulated with 2 avx 256 instruction and a little bit keepping or avx can be emulated with sse4 and qemu will do this if it\u0027s defined in the cpu model but not available in hardware on the host. when feature are emulated in this way it can improve or degrade the performance as libary that have a avx code path and say a sse4 code path may activate the avx code path and use the qemu emulated avx hardware where as the acttull sse4 code path may have been the better choice. \n\nso while using a new model might address the availability of some instruction set features it has drawback. As the tenant does not know what version of qemu is on the host it cannot know if any specific cpu model is available via qemu. the other main issue is the tenant does not have a mechanism to request a cpu model either today so we would also have to extend the flavors and image properties to allow that as we are proposing to do for the cpu mode.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"582dac10da100f8f7ba6aa3cbf0432c8f1222e12","unresolved":false,"context_lines":[{"line_number":29,"context_line":"``cpu_info:cpu_mode`` has to be created with Glance."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The CPU Mode values are: ``none``, ``custom``, ``host-model`` and"},{"line_number":32,"context_line":"``host-passthrough``. For the common hypervisor options like kvm and qemu, the"},{"line_number":33,"context_line":"``cpu-mode`` is set to ``host-model`` by default. This can be overridden using"},{"line_number":34,"context_line":"flavor extra specs and image_meta value."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5da102_a86fbcc3","line":32,"range":{"start_line":32,"start_character":30,"end_line":32,"end_character":36},"in_reply_to":"ba5da102_98726348","updated":"2016-10-31 19:57:20.000000000","message":"Are you saying that if \"virsh capabilities\" reports a given \"model\" for the host, that model is not necessarily supported in hardware?  Because that\u0027s what we\u0027re using to decide what CPU models a given host can support. (And we only care about Intel server-grade chips since Nehalem.)","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b953036e13515141dde1e5d128577a88ea0e42d6","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":47,"context_line":"be chosen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_38bed7ff","line":48,"updated":"2016-10-18 15:04:28.000000000","message":"Currently the schedular can places VMs on any compute node, since the CPU model is determined by the compute node config. Once we allow CPU model to be determined by the image props or flavour, then the schedular needs to do CPU compatibility checks before placing the VM on a particular host. This is not mentioned in this spec at all.\n\nSecond, when the cloud admin was in charge, they are trivially about to determine valid CPU models since they know what hardware they have.  When the user is specifying this in image props, how do they know what named CPU models are permitted by their cloud ? AFAIK this info is not exposed to users. So they\u0027d pretty much have to pick a model and see if they VM boots or fails.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"86b2c2362286be3dbacef17317be200812ee0061","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":47,"context_line":"be chosen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5da102_f8999f6f","line":48,"in_reply_to":"ba5da102_a9ba8d21","updated":"2016-10-29 19:02:33.000000000","message":"i was actully thinking of only allowing live migrate to identical cpus if host-passthrough was selected but migrating to a cpu of the same generation that had a superset of feature i guess is another option. i think the new generic resource provider work that jay is working on should be capable of modeling the cpu features, generation(haswell,broadwell,...) and cpu id in a way that would allow this to work. \n\nthat said at least in the nfv context assuming that an operator can live migrate a vnf without the tenants know age or concent is likely false. nfv workload are generally  to sensitive to packet lose and dirty there memory to quickly for live migration to be viable. for telco deployment it tend to be simpler to spin up a second instance then drain the first instance and transfer traffic to the second and finally kill the first instance.\n\nout of interest do you still use your internal feature/filter? would feature flag aware live migration be something that would be useful for your internal usecase?","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"582dac10da100f8f7ba6aa3cbf0432c8f1222e12","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":47,"context_line":"be chosen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5da102_6dc85623","line":48,"in_reply_to":"ba5da102_f8999f6f","updated":"2016-10-31 19:57:20.000000000","message":"We do indeed use the internal filter. While filtering by CPU model has done pretty well, we\u0027d probably use \"filter by cpu features\" if it was available.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"23c31959d64a0532f475325732767ff6985c0642","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":47,"context_line":"be chosen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_87000968","line":48,"in_reply_to":"fa6399be_190c993a","updated":"2016-10-20 11:23:37.000000000","message":"if the admin has set the cpu_mode to custom in the flavor then the tenant will not be able to overrides this by setting it in the imagae metadata as the order of evauation is flavor -\u003e image -\u003e config.\n\none option would be to alter this so that it is \nconfig-\u003eflavor-\u003eimage\nwe could then introduce a new config option \"dynamic\" to enable using the flavor/image to specify the value.\n\nincidentally as this is configured per compute node today if you do not set all compute nodes to the same value in the availability zone you will have issues with live migration today so in that context this will exasperate the gaps that already exist.\n\nwe could extend the compute capabilities filter or introduce a cpu type filter to explicitly Cather for live migration if that is required.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":19370,"name":"Prithiv","email":"prithiv.mohan@intel.com","username":"prithiv"},"change_message_id":"3f60e7f1c03421942cbeb5387914729fd7ad1c23","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":47,"context_line":"be chosen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_99be05d3","line":48,"in_reply_to":"fa6399be_38bed7ff","updated":"2016-10-18 15:54:27.000000000","message":"The flavor will take precedence over the image_meta. This means, the flavor can be created by the operator/cloud-admin. Also, the CPU Model is not being changed here. I dont see why we should be worried about the CPU Model here. Correct me if am wrong","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"d7f0dce8dba94a876ffd4b4b47c7c7460407121b","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":47,"context_line":"be chosen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_190c993a","line":48,"in_reply_to":"fa6399be_5a11b8ae","updated":"2016-10-19 07:50:57.000000000","message":"That is exactly the scenario I\u0027m talking about  - if the user can set it in image_meta, then the problems I describe exist.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"0cb6d1497b2d14e307d5c39943f0782588a38c7a","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":47,"context_line":"be chosen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5da102_a9ba8d21","line":48,"in_reply_to":"fa6399be_87000968","updated":"2016-10-28 14:14:16.000000000","message":"Internally we added essentially this feature, and we had a filter that looks for hosts with \"equal or newer\" cpu model compared to what was asked for.  This worked only because we knew we had a limited set of models that were strict supersets of each other.  In the generic case it becomes problematic.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"2b3579574de74781aafe2c8e9ecb2dfd281105cf","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":47,"context_line":"be chosen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_99f2856e","line":48,"in_reply_to":"fa6399be_99be05d3","updated":"2016-10-18 16:05:19.000000000","message":"If the admin set their compute nods to use \"custom\" so as to ensure maximum migration compatibility, then allowing user to set it to host-passthrough/host-model on the flavour is breaking that migration compatibility. If the admin didn\u0027t care about maximum migration compatibility, they would have used host-model on their hosts to start off with. So which ever way we look at it, use of image meta is either pointless, or it negatively impacts the admin migration.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":19370,"name":"Prithiv","email":"prithiv.mohan@intel.com","username":"prithiv"},"change_message_id":"6a34efb865c101bceae094dda4bd9031e8239c22","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If none of the above said specs has CPU Mode defined, the default value will"},{"line_number":47,"context_line":"be chosen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_5a11b8ae","line":48,"in_reply_to":"fa6399be_99f2856e","updated":"2016-10-18 18:20:06.000000000","message":"the user will be able to set it only in image_meta. only the admin can make changes in the flavor","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d534c518610264f0f67db8f5d280f3372dc9307a","unresolved":false,"context_lines":[{"line_number":54,"context_line":"Data model impact"},{"line_number":55,"context_line":"-----------------"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"A new keypair of ``cpu_info:_mode`` must be added to"},{"line_number":58,"context_line":"``compute-host-capabilities``. A new keypair of ``cpu_mode`` has to be added to"},{"line_number":59,"context_line":"``glance-common-image-props``."},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_2a091d32","line":57,"range":{"start_line":57,"start_character":17,"end_line":57,"end_character":35},"updated":"2016-10-18 14:49:52.000000000","message":"as above - this isn\u0027t a valid namespace (nor value, for that matter)","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d534c518610264f0f67db8f5d280f3372dc9307a","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Developer impact"},{"line_number":91,"context_line":"----------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"None"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Implementation"},{"line_number":96,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_ad03870c","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":4},"updated":"2016-10-18 14:49:52.000000000","message":"What above non-libvirt hypervisors?","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":19370,"name":"Prithiv","email":"prithiv.mohan@intel.com","username":"prithiv"},"change_message_id":"dce5a58b157bc93d1f557f1149756b1e1a8046e6","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Developer impact"},{"line_number":91,"context_line":"----------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"None"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Implementation"},{"line_number":96,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_d99ddd5a","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":4},"in_reply_to":"fa6399be_ad03870c","updated":"2016-10-18 15:58:22.000000000","message":"At the moment, this change is focussed for libvirt drivers.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"23c31959d64a0532f475325732767ff6985c0642","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Developer impact"},{"line_number":91,"context_line":"----------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"None"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Implementation"},{"line_number":96,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_4766f151","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":4},"in_reply_to":"fa6399be_d99ddd5a","updated":"2016-10-20 11:23:37.000000000","message":"hyperv has a similar concept of cpu compatiablity mode wich allows live migration to different cpus. im not sure if xen supports this too but i think enableing this feature in other dirives is out of scope of this spec.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b953036e13515141dde1e5d128577a88ea0e42d6","unresolved":false,"context_lines":[{"line_number":108,"context_line":"*  Create ``glance-common-image-props``"},{"line_number":109,"context_line":"*  Modify Nova code to check for CPU Mode in flavors and image_meta"},{"line_number":110,"context_line":"*  Write Unit tests"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Dependencies"},{"line_number":113,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_1848332d","line":111,"updated":"2016-10-18 15:04:28.000000000","message":"Missing any info about the schedular filtering.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"23c31959d64a0532f475325732767ff6985c0642","unresolved":false,"context_lines":[{"line_number":108,"context_line":"*  Create ``glance-common-image-props``"},{"line_number":109,"context_line":"*  Modify Nova code to check for CPU Mode in flavors and image_meta"},{"line_number":110,"context_line":"*  Write Unit tests"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Dependencies"},{"line_number":113,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_87eac972","line":111,"in_reply_to":"fa6399be_1848332d","updated":"2016-10-20 11:23:37.000000000","message":"i think that should be a seperate  patch if required. as i said above the potential conflict for live migration exist today without this chagne if you do not configure all hosts in the same availabity zone to have the same cpu mode and cpu model.\n\nwe can introduce a livemigration/cpu_type filter to cater for the dynamic cpu models that will exist but there are many workloads today where live migration cannot be used so i dont think that should be a blocker for this feature.","commit_id":"7b0615d94ce7ca16c9690e55ff9f24b5447c5f35"}]}
