)]}'
{"specs/liberty/approved/virt-driver-cpu-model.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fb741e48a0364fd435080e83c6836adb3930eb6f","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/more-image-properties"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This feature aims to improve operator can custom the cpu model by"},{"line_number":16,"context_line":"flavor/image."}],"source_content_type":"text/x-rst","patch_set":10,"id":"5ad0253b_78bc746c","line":13,"updated":"2015-04-29 13:55:42.000000000","message":"a more specific name for the blueprint would help us here I think, cpu-model-image-properties?","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3ba9fd3e79a848c1c9153b67d154f84242b6367d","unresolved":false,"context_lines":[{"line_number":71,"context_line":"  just used for special case. So the cpu mode shouldn\u0027t be per-node option."},{"line_number":72,"context_line":"  This property is just used to control which cpu mode can be used by instance."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"  * \u0027none\u0027: This is the default value, with this value nova will behavior as"},{"line_number":75,"context_line":"     before. when this value is specified. That also means other parameters"},{"line_number":76,"context_line":"     will be ignored."},{"line_number":77,"context_line":"  * \u0027host-model\u0027: This means the instance can be scheduled on the host which"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_2eeffbb1","line":74,"updated":"2015-04-29 16:10:24.000000000","message":"Why do we need a \"none\" value?  If we want \"none\", we can just not specify it at all.  (Or is this just to simplify scripting?)","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8dcae00d6e21bdba230290f52099779297622f1a","unresolved":false,"context_lines":[{"line_number":71,"context_line":"  just used for special case. So the cpu mode shouldn\u0027t be per-node option."},{"line_number":72,"context_line":"  This property is just used to control which cpu mode can be used by instance."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"  * \u0027none\u0027: This is the default value, with this value nova will behavior as"},{"line_number":75,"context_line":"     before. when this value is specified. That also means other parameters"},{"line_number":76,"context_line":"     will be ignored."},{"line_number":77,"context_line":"  * \u0027host-model\u0027: This means the instance can be scheduled on the host which"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_42640e21","line":74,"in_reply_to":"3acd31a7_2eeffbb1","updated":"2015-04-30 23:58:16.000000000","message":"emm...yea...Actually the valid value for \u0027cpu_mode\u0027 whatever in the config file or hypervisor cpu info are none|custom|host-model|host-passthrough\n\nI put it here just want to make consistent.\n\nBut I think you are right, maybe we needn\u0027t","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3ba9fd3e79a848c1c9153b67d154f84242b6367d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  * \u0027host-model\u0027: This means the instance can be scheduled on the host which"},{"line_number":78,"context_line":"    CONF.libvirt.cpu_mode is \u0027custom\u0027 or \u0027host-model\u0027."},{"line_number":79,"context_line":"  * \u0027custom\u0027: This totally is equal \u0027host-model\u0027. Support this just for"},{"line_number":80,"context_line":"    consistent."},{"line_number":81,"context_line":"  * \u0027host-passthrough\u0027: This means the instance can be scheduled on the host"},{"line_number":82,"context_line":"    which CONF.libvirt.cpu_mode is \u0027host-passthrough\u0027."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_eec0e3e2","line":80,"updated":"2015-04-29 16:10:24.000000000","message":"I don\u0027t think it is correct to say that host-model and custom are equivalent.  With \u0027custom\u0027 I think you would be required to specify hw:cpu_model. \n\n\u0027host-model\u0027 is closer to \u0027host-passthrough\u0027.  You would not need to specify hw:cpu_model but rather would get something close to the host CPU.","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8dcae00d6e21bdba230290f52099779297622f1a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  * \u0027host-model\u0027: This means the instance can be scheduled on the host which"},{"line_number":78,"context_line":"    CONF.libvirt.cpu_mode is \u0027custom\u0027 or \u0027host-model\u0027."},{"line_number":79,"context_line":"  * \u0027custom\u0027: This totally is equal \u0027host-model\u0027. Support this just for"},{"line_number":80,"context_line":"    consistent."},{"line_number":81,"context_line":"  * \u0027host-passthrough\u0027: This means the instance can be scheduled on the host"},{"line_number":82,"context_line":"    which CONF.libvirt.cpu_mode is \u0027host-passthrough\u0027."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_a5640ce5","line":80,"in_reply_to":"3acd31a7_eec0e3e2","updated":"2015-04-30 23:58:16.000000000","message":"yes, that is the meaning in the CONF.libvirt.cpu_mode. Actually I changed a little meaning. For example, if a user want to request Nehalem, but the hypervisor\u0027s physical cpu is Haswell. I\u0027m thinking use can specified cpu_mode to custom or host-model also can scheduling on this host.\n\nBut I think it is confuse now. Let me changed.\n\nHow about this:\n\nhost-model: Means user want to scheduling instance to host which physical cpu model is \u0027hw:cpu_model\u0027, then instance will use host-model for the guest.\n\ncustom: Mean user want to scheduling instance to host which support the model specified by \u0027hw:cpu_model\u0027, but the hypervisor\u0027s physical cpu make higher-grade than the requested model, and use custom mode for the guest.\n\nIt ss more match the meaning in CONF.libvirt.cpu_mode. I think won\u0027t create more confuse anymore.","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3ba9fd3e79a848c1c9153b67d154f84242b6367d","unresolved":false,"context_lines":[{"line_number":79,"context_line":"  * \u0027custom\u0027: This totally is equal \u0027host-model\u0027. Support this just for"},{"line_number":80,"context_line":"    consistent."},{"line_number":81,"context_line":"  * \u0027host-passthrough\u0027: This means the instance can be scheduled on the host"},{"line_number":82,"context_line":"    which CONF.libvirt.cpu_mode is \u0027host-passthrough\u0027."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* hw:cpu_model\u003d\u003ccpu model id or cpu model name\u003e"},{"line_number":85,"context_line":"  This property specified the cpu model name or id which expected by the guest"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_094d5972","line":82,"updated":"2015-04-29 16:10:24.000000000","message":"If we have the ability to specify the model/features per flavor/image, why would we want to keep the CONF.libvirt.cpu_mode/CONF.libvirt.cpu_model node config options?  When would we ever want to set the node to \u0027host-passthrough\u0027?","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8dcae00d6e21bdba230290f52099779297622f1a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"  * \u0027custom\u0027: This totally is equal \u0027host-model\u0027. Support this just for"},{"line_number":80,"context_line":"    consistent."},{"line_number":81,"context_line":"  * \u0027host-passthrough\u0027: This means the instance can be scheduled on the host"},{"line_number":82,"context_line":"    which CONF.libvirt.cpu_mode is \u0027host-passthrough\u0027."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* hw:cpu_model\u003d\u003ccpu model id or cpu model name\u003e"},{"line_number":85,"context_line":"  This property specified the cpu model name or id which expected by the guest"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_85ba3022","line":82,"in_reply_to":"3acd31a7_094d5972","updated":"2015-04-30 23:58:16.000000000","message":"I just think we can keep CONF.libvirt.cpu_mode/CONF.libvirt.cpu_model to enable host-level configuration for the admin.\n\nMaybe admin didn\u0027t want a host can running instance with host-passthrough model. Then admin can limit it on the host configuration. And compute-node report this hypervisor disallow this mode.","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3ba9fd3e79a848c1c9153b67d154f84242b6367d","unresolved":false,"context_lines":[{"line_number":84,"context_line":"* hw:cpu_model\u003d\u003ccpu model id or cpu model name\u003e"},{"line_number":85,"context_line":"  This property specified the cpu model name or id which expected by the guest"},{"line_number":86,"context_line":"  running as.  The final cpu capability exposed to guest is also depend on the"},{"line_number":87,"context_line":"  value of \u0027hw:cpu_model_match\u0027 and \u0027hw:cpu_features\u0027."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* hw:cpu_model_match\u003dminimum|exact"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_e999fd20","line":87,"updated":"2015-04-29 16:10:24.000000000","message":"For which value(s) of hw:cpu_mode is it valid to specify hw:cpu_model?","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8dcae00d6e21bdba230290f52099779297622f1a","unresolved":false,"context_lines":[{"line_number":84,"context_line":"* hw:cpu_model\u003d\u003ccpu model id or cpu model name\u003e"},{"line_number":85,"context_line":"  This property specified the cpu model name or id which expected by the guest"},{"line_number":86,"context_line":"  running as.  The final cpu capability exposed to guest is also depend on the"},{"line_number":87,"context_line":"  value of \u0027hw:cpu_model_match\u0027 and \u0027hw:cpu_features\u0027."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* hw:cpu_model_match\u003dminimum|exact"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_4583f856","line":87,"in_reply_to":"3acd31a7_e999fd20","updated":"2015-04-30 23:58:16.000000000","message":"The valid value should be custom|host-model|host-passthrough","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3ba9fd3e79a848c1c9153b67d154f84242b6367d","unresolved":false,"context_lines":[{"line_number":91,"context_line":"  * \u0027minimum\u0027: This is the default option. The lowest cpu level defined by"},{"line_number":92,"context_line":"    \u0027hw:cpu_model\u0027. The required cpu features will match the cpu model"},{"line_number":93,"context_line":"    definition. If user want to override the cpu feature requirement, user can"},{"line_number":94,"context_line":"    use \u0027hw:cpu_features\u0027 properties."},{"line_number":95,"context_line":"  * \u0027exact\u0027: The cpu_model defined by \u0027hw:cpu_model\u0027 will be exposed to the"},{"line_number":96,"context_line":"    guest, no more and no less feature exposed to guest. User also can override"},{"line_number":97,"context_line":"    the cpu features by \u0027hw:cpu_features\u0027. This is can be used by operator to"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_c9f2c106","line":94,"updated":"2015-04-29 16:10:24.000000000","message":"When would people want to use \"minimum\"?  Is it worth the added complexity given the reduced migration flexibility?  It seems to me that most of the time end-users would compile their guest software against a specific CPU model (\"gcc -march\u003dcore-avx2\") so giving them a higher grade of CPU then what they asked for wouldn\u0027t actually help at all.","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8dcae00d6e21bdba230290f52099779297622f1a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"  * \u0027minimum\u0027: This is the default option. The lowest cpu level defined by"},{"line_number":92,"context_line":"    \u0027hw:cpu_model\u0027. The required cpu features will match the cpu model"},{"line_number":93,"context_line":"    definition. If user want to override the cpu feature requirement, user can"},{"line_number":94,"context_line":"    use \u0027hw:cpu_features\u0027 properties."},{"line_number":95,"context_line":"  * \u0027exact\u0027: The cpu_model defined by \u0027hw:cpu_model\u0027 will be exposed to the"},{"line_number":96,"context_line":"    guest, no more and no less feature exposed to guest. User also can override"},{"line_number":97,"context_line":"    the cpu features by \u0027hw:cpu_features\u0027. This is can be used by operator to"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_a56e4c94","line":94,"in_reply_to":"3acd31a7_c9f2c106","updated":"2015-04-30 23:58:16.000000000","message":"Emm....let me think about this...","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3ba9fd3e79a848c1c9153b67d154f84242b6367d","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    use \u0027hw:cpu_features\u0027 properties."},{"line_number":95,"context_line":"  * \u0027exact\u0027: The cpu_model defined by \u0027hw:cpu_model\u0027 will be exposed to the"},{"line_number":96,"context_line":"    guest, no more and no less feature exposed to guest. User also can override"},{"line_number":97,"context_line":"    the cpu features by \u0027hw:cpu_features\u0027. This is can be used by operator to"},{"line_number":98,"context_line":"    ensure all the instance have same cpu capability across all the compute"},{"line_number":99,"context_line":"    nodes."},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_a9bae56c","line":97,"updated":"2015-04-29 16:10:24.000000000","message":"For which value(s) of hw:cpu_mode and hw:cpu_model is it valid to specify hw:cpu_features?","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8dcae00d6e21bdba230290f52099779297622f1a","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    use \u0027hw:cpu_features\u0027 properties."},{"line_number":95,"context_line":"  * \u0027exact\u0027: The cpu_model defined by \u0027hw:cpu_model\u0027 will be exposed to the"},{"line_number":96,"context_line":"    guest, no more and no less feature exposed to guest. User also can override"},{"line_number":97,"context_line":"    the cpu features by \u0027hw:cpu_features\u0027. This is can be used by operator to"},{"line_number":98,"context_line":"    ensure all the instance have same cpu capability across all the compute"},{"line_number":99,"context_line":"    nodes."},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_851b501b","line":97,"in_reply_to":"3acd31a7_a9bae56c","updated":"2015-04-30 23:58:16.000000000","message":"Valid value in cpu_mode is custom|host-model|host-passthrough\n\ncpu_model can be not specified or a specified model","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3ba9fd3e79a848c1c9153b67d154f84242b6367d","unresolved":false,"context_lines":[{"line_number":107,"context_line":"name cpu model from the db. But because different hypervisor may have"},{"line_number":108,"context_line":"different cpu features supported by some cpu model, so if there is more than"},{"line_number":109,"context_line":"one entry in the db with same cpu model name but with different cpu features"},{"line_number":110,"context_line":"set, the cpu model with fewest cpu features will be choiced."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"After that, all the parameters was caculated as below:"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_c982c1c8","line":110,"updated":"2015-04-29 16:10:24.000000000","message":"Do you have examples of the same cpu model mapping to different features in different hypervisors?  (just curious)\n\nI don\u0027t think it makes sense to pick the lowest common denominator if there is only one sort of hypervisor active in a cluster.\n\nEither you should pick the lowest common denominator of hypervisors currently available in the cluster, or else there should be one standard mapping of model/feature for nova.","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8dcae00d6e21bdba230290f52099779297622f1a","unresolved":false,"context_lines":[{"line_number":107,"context_line":"name cpu model from the db. But because different hypervisor may have"},{"line_number":108,"context_line":"different cpu features supported by some cpu model, so if there is more than"},{"line_number":109,"context_line":"one entry in the db with same cpu model name but with different cpu features"},{"line_number":110,"context_line":"set, the cpu model with fewest cpu features will be choiced."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"After that, all the parameters was caculated as below:"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_85c9107b","line":110,"in_reply_to":"3acd31a7_c982c1c8","updated":"2015-04-30 23:58:16.000000000","message":"Emm... I think Daniel have good explain about inconsistent cpu model at line 79 https://review.openstack.org/#/c/168982/3/specs/liberty/approved/cpu-model-per-flavor-or-image.rst","commit_id":"95ade524049cc9b37175824ba1794934083a40ef"}]}
