)]}'
{"specs/liberty/approved/virt-driver-cpu-features.rst":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"1e20a309519dfed9f15bb7ef8549106c69772298","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Virt driver cpu feature for guest VCPU"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"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":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_2eca40a2","line":11,"updated":"2015-04-07 03:19:26.000000000","message":"remove this line.","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"60247105cee6e61cfa65580a5e0f5bb03cfa1684","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Virt driver cpu feature for guest VCPU"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"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":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_de634740","line":11,"in_reply_to":"9aa53dc9_2eca40a2","updated":"2015-04-08 08:39:24.000000000","message":"Done","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"1e20a309519dfed9f15bb7ef8549106c69772298","unresolved":false,"context_lines":[{"line_number":23,"context_line":"extra_specs and enable ComputeCapabilitiesFilter in the Nova Scheduler. But"},{"line_number":24,"context_line":"there still have some problem:"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"* An image may required a specific CPU capability such as Intel AES-NI"},{"line_number":27,"context_line":"  instruction set support. But current there isn\u0027t any support for this."},{"line_number":28,"context_line":"* When instance didn\u0027t want some features, ComputeCapabilitiesFilter will"},{"line_number":29,"context_line":"  schedule instance to a host without those features. This may lead to resource"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_eec45893","line":26,"updated":"2015-04-07 03:19:26.000000000","message":"s/required/require","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"60247105cee6e61cfa65580a5e0f5bb03cfa1684","unresolved":false,"context_lines":[{"line_number":23,"context_line":"extra_specs and enable ComputeCapabilitiesFilter in the Nova Scheduler. But"},{"line_number":24,"context_line":"there still have some problem:"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"* An image may required a specific CPU capability such as Intel AES-NI"},{"line_number":27,"context_line":"  instruction set support. But current there isn\u0027t any support for this."},{"line_number":28,"context_line":"* When instance didn\u0027t want some features, ComputeCapabilitiesFilter will"},{"line_number":29,"context_line":"  schedule instance to a host without those features. This may lead to resource"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_be5ac381","line":26,"in_reply_to":"9aa53dc9_eec45893","updated":"2015-04-08 08:39:24.000000000","message":"Done","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"1e20a309519dfed9f15bb7ef8549106c69772298","unresolved":false,"context_lines":[{"line_number":43,"context_line":"* An image required a specific CPU capability. When flavor allow same"},{"line_number":44,"context_line":"  capability, nova should boot the instance on the host which support"},{"line_number":45,"context_line":"  capability, and that capability expose to the guest."},{"line_number":46,"context_line":"* An image or flavor required disable specific CPU capability. The nova should"},{"line_number":47,"context_line":"  ensure the guest can\u0027t see that capability."},{"line_number":48,"context_line":"* Keep ComputeCapabilitiesFilter\u0027s behavior as before."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_ee4b382a","line":46,"updated":"2015-04-07 03:19:26.000000000","message":"s/The nova/nova","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"60247105cee6e61cfa65580a5e0f5bb03cfa1684","unresolved":false,"context_lines":[{"line_number":43,"context_line":"* An image required a specific CPU capability. When flavor allow same"},{"line_number":44,"context_line":"  capability, nova should boot the instance on the host which support"},{"line_number":45,"context_line":"  capability, and that capability expose to the guest."},{"line_number":46,"context_line":"* An image or flavor required disable specific CPU capability. The nova should"},{"line_number":47,"context_line":"  ensure the guest can\u0027t see that capability."},{"line_number":48,"context_line":"* Keep ComputeCapabilitiesFilter\u0027s behavior as before."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_9e5dbf7b","line":46,"in_reply_to":"9aa53dc9_ee4b382a","updated":"2015-04-08 08:39:24.000000000","message":"Done","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"1e20a309519dfed9f15bb7ef8549106c69772298","unresolved":false,"context_lines":[{"line_number":51,"context_line":"-----------------"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Does this blueprint fit under one of the :ref:`kilo-priorities`? If so which"},{"line_number":54,"context_line":"one and how?"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"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":6,"id":"9aa53dc9_8e526cdc","line":54,"updated":"2015-04-07 03:19:26.000000000","message":"remove this","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"60247105cee6e61cfa65580a5e0f5bb03cfa1684","unresolved":false,"context_lines":[{"line_number":51,"context_line":"-----------------"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Does this blueprint fit under one of the :ref:`kilo-priorities`? If so which"},{"line_number":54,"context_line":"one and how?"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"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":6,"id":"9aa53dc9_1ee1af9a","line":54,"in_reply_to":"9aa53dc9_8e526cdc","updated":"2015-04-08 08:39:24.000000000","message":"Just keep at here because I don\u0027t what I should write at here. Maybe waiting for community working out the liberty priorities items?","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"1e20a309519dfed9f15bb7ef8549106c69772298","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* hw:cpu_features\u003dsse4.2:required,ase:disabled,..."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"The instance boot without above parameter, the Nova behavior is same as"},{"line_number":65,"context_line":"currently. The instance will be scheduled to host satisfied other requirement."},{"line_number":66,"context_line":"The cpu features exposed to the guest is defined by options \u0027cpu_mode\u0027 and"},{"line_number":67,"context_line":"\u0027cpu_model\u0027 on the host which the instance running on."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_ee72187c","line":64,"updated":"2015-04-07 03:19:26.000000000","message":"s/the Nova/Nova","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"60247105cee6e61cfa65580a5e0f5bb03cfa1684","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* hw:cpu_features\u003dsse4.2:required,ase:disabled,..."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"The instance boot without above parameter, the Nova behavior is same as"},{"line_number":65,"context_line":"currently. The instance will be scheduled to host satisfied other requirement."},{"line_number":66,"context_line":"The cpu features exposed to the guest is defined by options \u0027cpu_mode\u0027 and"},{"line_number":67,"context_line":"\u0027cpu_model\u0027 on the host which the instance running on."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_feee0b8a","line":64,"in_reply_to":"9aa53dc9_ee72187c","updated":"2015-04-08 08:39:24.000000000","message":"Done","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"1e20a309519dfed9f15bb7ef8549106c69772298","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":98,"context_line":"        | Optional         | Disable                    | Disable   |"},{"line_number":99,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":100,"context_line":"        | Disable          | Require/Optional           | Exception |"},{"line_number":101,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":102,"context_line":"        | Disable          | Disable                    | Disable   |"},{"line_number":103,"context_line":"        +------------------+----------------------------+-----------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_cef634d7","line":100,"updated":"2015-04-07 03:19:26.000000000","message":"what\u0027s the difference with line 98?\ncan you please detail?","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"60247105cee6e61cfa65580a5e0f5bb03cfa1684","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":98,"context_line":"        | Optional         | Disable                    | Disable   |"},{"line_number":99,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":100,"context_line":"        | Disable          | Require/Optional           | Exception |"},{"line_number":101,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":102,"context_line":"        | Disable          | Disable                    | Disable   |"},{"line_number":103,"context_line":"        +------------------+----------------------------+-----------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_de98e71d","line":100,"in_reply_to":"9aa53dc9_cef634d7","updated":"2015-04-08 08:39:24.000000000","message":"If the flavor asking disable the feature, the image can\u0027t enable this.\n\nThe line 98 is different with this. The flavor think this feature is optional, so image can choice enable or disable this feature.","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"1e20a309519dfed9f15bb7ef8549106c69772298","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"What other ways could we do this thing? Why aren\u0027t we using those? This doesn\u0027t"},{"line_number":131,"context_line":"have to be a full literature review, but it should demonstrate that thought has"},{"line_number":132,"context_line":"been put into why the proposed solution is an appropriate one."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Data model impact"},{"line_number":135,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_0e2bfc31","line":132,"updated":"2015-04-07 03:19:26.000000000","message":"remove this.","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"60247105cee6e61cfa65580a5e0f5bb03cfa1684","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"What other ways could we do this thing? Why aren\u0027t we using those? This doesn\u0027t"},{"line_number":131,"context_line":"have to be a full literature review, but it should demonstrate that thought has"},{"line_number":132,"context_line":"been put into why the proposed solution is an appropriate one."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Data model impact"},{"line_number":135,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_7e8afbc0","line":132,"in_reply_to":"9aa53dc9_0e2bfc31","updated":"2015-04-08 08:39:24.000000000","message":"I should write something at here.","commit_id":"8e0711e9013f2cd80c853d67bc909a84d7f19acb"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"60d17773e8419a6fe106eae7478d7d6a84827dd4","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Does this blueprint fit under one of the :ref:`kilo-priorities`? If so which"},{"line_number":52,"context_line":"one and how?"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Proposed change"},{"line_number":55,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_557407fc","line":53,"updated":"2015-04-16 05:01:01.000000000","message":"We should also answer this item also?","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"78534accc078026d30fd3637407e3baac591ba2d","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Does this blueprint fit under one of the :ref:`kilo-priorities`? If so which"},{"line_number":52,"context_line":"one and how?"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Proposed change"},{"line_number":55,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_6d05eac0","line":53,"in_reply_to":"5aa745d1_557407fc","updated":"2015-04-16 12:11:09.000000000","message":"Yes, but I\u0027m not sure what I say at here now, the liberty-priorites didn\u0027t work out yet?","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"60d17773e8419a6fe106eae7478d7d6a84827dd4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"The flavor extra specs and image properties will be enhanced to support new"},{"line_number":58,"context_line":"parameters:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* hw:cpu_features\u003dsse4.2:required,ase:disabled,..."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"The instance boot without above parameter, Nova behavior is same as"},{"line_number":63,"context_line":"currently. The instance will be scheduled to host satisfied other requirement."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_b5546b54","line":60,"updated":"2015-04-16 05:01:01.000000000","message":"I think image properties has different format with flavor extra specs? The flavor extra specs are separated by \u0027:\u0027 while image properties are separated by \u0027_\u0027.","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"78534accc078026d30fd3637407e3baac591ba2d","unresolved":false,"context_lines":[{"line_number":57,"context_line":"The flavor extra specs and image properties will be enhanced to support new"},{"line_number":58,"context_line":"parameters:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* hw:cpu_features\u003dsse4.2:required,ase:disabled,..."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"The instance boot without above parameter, Nova behavior is same as"},{"line_number":63,"context_line":"currently. The instance will be scheduled to host satisfied other requirement."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_cdf63ed7","line":60,"in_reply_to":"5aa745d1_b5546b54","updated":"2015-04-16 12:11:09.000000000","message":"you are right, will add note for this.","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"60d17773e8419a6fe106eae7478d7d6a84827dd4","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* \u0027required\u0027: The feature must be able to expose to the guest. The host"},{"line_number":73,"context_line":"  scheduled on must support this feature."},{"line_number":74,"context_line":"* \u0027disabled\u0027: The feature will not expose the guest. The host which scheduled"},{"line_number":75,"context_line":"  on will can support or didn\u0027t support this feature, but finally the feature"},{"line_number":76,"context_line":"  will not expose to the user."},{"line_number":77,"context_line":"* \u0027optional\u0027: The feature is optional."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_15cc3f34","line":74,"updated":"2015-04-16 05:01:01.000000000","message":"\"will not expose\" -\u003e \"will not be exposed to \"?","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"78534accc078026d30fd3637407e3baac591ba2d","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* \u0027required\u0027: The feature must be able to expose to the guest. The host"},{"line_number":73,"context_line":"  scheduled on must support this feature."},{"line_number":74,"context_line":"* \u0027disabled\u0027: The feature will not expose the guest. The host which scheduled"},{"line_number":75,"context_line":"  on will can support or didn\u0027t support this feature, but finally the feature"},{"line_number":76,"context_line":"  will not expose to the user."},{"line_number":77,"context_line":"* \u0027optional\u0027: The feature is optional."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_2d26c268","line":74,"in_reply_to":"5aa745d1_15cc3f34","updated":"2015-04-16 12:11:09.000000000","message":"yea, thanks :)","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"01efc4ef66bbc3e837be3191077029e3651d710d","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":96,"context_line":"        | Optional         | Disable                    | Disable   |"},{"line_number":97,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":98,"context_line":"        | Disable          | Require/Optional           | Exception |"},{"line_number":99,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":100,"context_line":"        | Disable          | Disable                    | Disable   |"},{"line_number":101,"context_line":"        +------------------+----------------------------+-----------+"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_e8ca084f","line":98,"updated":"2015-04-16 12:37:55.000000000","message":"Perhaps below:\nDisable, require \u003d\u003d\u003e exception\nDisable, optional \u003d\u003d\u003e disable.","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c0776aa605dc428e8fee4ea5d71e7bbc023ae9b6","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":96,"context_line":"        | Optional         | Disable                    | Disable   |"},{"line_number":97,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":98,"context_line":"        | Disable          | Require/Optional           | Exception |"},{"line_number":99,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":100,"context_line":"        | Disable          | Disable                    | Disable   |"},{"line_number":101,"context_line":"        +------------------+----------------------------+-----------+"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dac4157f_7bfff234","line":98,"in_reply_to":"5aa745d1_e8ca084f","updated":"2015-04-21 05:00:19.000000000","message":"yea, right, thanks","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"01efc4ef66bbc3e837be3191077029e3651d710d","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        | Disable          | Not Specified              | Disable   |"},{"line_number":103,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":104,"context_line":"        | Not Specified    | Require/Optional           | Exception |"},{"line_number":105,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":106,"context_line":"        | Not Specified    | Disable                    | Disable   |"},{"line_number":107,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_48e21cd7","line":105,"updated":"2015-04-16 12:37:55.000000000","message":"Not specified, require \u003d\u003d\u003e exception\nNot specified, Optional \u003d\u003d\u003e optional\n?","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c0776aa605dc428e8fee4ea5d71e7bbc023ae9b6","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        | Disable          | Not Specified              | Disable   |"},{"line_number":103,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":104,"context_line":"        | Not Specified    | Require/Optional           | Exception |"},{"line_number":105,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":106,"context_line":"        | Not Specified    | Disable                    | Disable   |"},{"line_number":107,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"dac4157f_fbc0a2e2","line":105,"in_reply_to":"5aa745d1_48e21cd7","updated":"2015-04-21 05:00:19.000000000","message":"For \"Not specified, Optional \u003d\u003d\u003e optional\", this means user have chance enable some feature by this way. Any feature requirement should be enable by flavor first.\n\n\"Not specified, Optional \u003d\u003d\u003e disable\" more make sense to me now","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"01efc4ef66bbc3e837be3191077029e3651d710d","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"* cpu_mode\u003dhost-model|host-passthrough: The scheduler will depend on host"},{"line_number":116,"context_line":"  capability to make decision."},{"line_number":117,"context_line":"* cpu_mode\u003dcustom: With this value, the CONF.libvirt.cpu_model will be"},{"line_number":118,"context_line":"  specified a cpu model which the operator expect the guest run as. The host"},{"line_number":119,"context_line":"  need report this cpu model. The scheduler will try to search the required"},{"line_number":120,"context_line":"  cpu features from this cpu model."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_88d8241f","line":117,"updated":"2015-04-16 12:37:55.000000000","message":"is cpu_mode\u003dcustom the same as specifying\ncpu_mode\u003dhost-model ?\n\nOr is it that one specifies custom and then specifies the host-model such as SandyBridge or Haswell?","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c0776aa605dc428e8fee4ea5d71e7bbc023ae9b6","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"* cpu_mode\u003dhost-model|host-passthrough: The scheduler will depend on host"},{"line_number":116,"context_line":"  capability to make decision."},{"line_number":117,"context_line":"* cpu_mode\u003dcustom: With this value, the CONF.libvirt.cpu_model will be"},{"line_number":118,"context_line":"  specified a cpu model which the operator expect the guest run as. The host"},{"line_number":119,"context_line":"  need report this cpu model. The scheduler will try to search the required"},{"line_number":120,"context_line":"  cpu features from this cpu model."}],"source_content_type":"text/x-rst","patch_set":7,"id":"dac4157f_bb74389c","line":117,"in_reply_to":"5aa745d1_88d8241f","updated":"2015-04-21 05:00:19.000000000","message":"They are different. If the cpu_mode\u003dhost-model, hypervisor will report the host\u0027s cpu capability to the scheduler. If the cpu_mode \u003d custom, the cpu capability report to scheduler is depend on the CONF.libvirt.cpu_model\u0027s value.","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"60d17773e8419a6fe106eae7478d7d6a84827dd4","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Because there isn\u0027t unified cpu model definition across all the hypervisors"},{"line_number":126,"context_line":"even the different version for same hypervisor. And there isn\u0027t excat"},{"line_number":127,"context_line":"definition of which cpu model support which features. So this spec propose"},{"line_number":128,"context_line":"each compute node report hypervisor supported cpu models, and store the cpu"},{"line_number":129,"context_line":"model in the db. The supported cpu model in hypervisor capabilities will"},{"line_number":130,"context_line":"reference to those cpu model. And add REST API to enable user query which"},{"line_number":131,"context_line":"kind of cpu model supported by cluster in the future."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_b5b0eb8c","line":128,"updated":"2015-04-16 05:01:01.000000000","message":"Will the CPU models defined by different hypervisor have same CPU definition?","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"78534accc078026d30fd3637407e3baac591ba2d","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Because there isn\u0027t unified cpu model definition across all the hypervisors"},{"line_number":126,"context_line":"even the different version for same hypervisor. And there isn\u0027t excat"},{"line_number":127,"context_line":"definition of which cpu model support which features. So this spec propose"},{"line_number":128,"context_line":"each compute node report hypervisor supported cpu models, and store the cpu"},{"line_number":129,"context_line":"model in the db. The supported cpu model in hypervisor capabilities will"},{"line_number":130,"context_line":"reference to those cpu model. And add REST API to enable user query which"},{"line_number":131,"context_line":"kind of cpu model supported by cluster in the future."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_6db60ade","line":128,"in_reply_to":"5aa745d1_b5b0eb8c","updated":"2015-04-16 12:11:09.000000000","message":"yes, each CPU model will only have one db entry in the db table \u0027cpu_models\u0027. If hypervisor found there already have one cpu model in the db same with it\u0027s reported, then it needn\u0027t create another one.","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"01efc4ef66bbc3e837be3191077029e3651d710d","unresolved":false,"context_lines":[{"line_number":154,"context_line":"      vendor \u003d Column(String(255), nullable\u003dFalse)"},{"line_number":155,"context_line":"      model \u003d Column(String(255), nullable\u003dFalse)"},{"line_number":156,"context_line":"      features \u003d Column(MediumText(), nullable\u003dFalse)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Another new table store hypervisor supported cpu models:"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_a8f2c098","line":157,"updated":"2015-04-16 12:37:55.000000000","message":"Is this one feature per row in the table, or some comma separated list of features in a row?","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c0776aa605dc428e8fee4ea5d71e7bbc023ae9b6","unresolved":false,"context_lines":[{"line_number":154,"context_line":"      vendor \u003d Column(String(255), nullable\u003dFalse)"},{"line_number":155,"context_line":"      model \u003d Column(String(255), nullable\u003dFalse)"},{"line_number":156,"context_line":"      features \u003d Column(MediumText(), nullable\u003dFalse)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Another new table store hypervisor supported cpu models:"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dac4157f_cac4e193","line":157,"in_reply_to":"5aa745d1_a8f2c098","updated":"2015-04-21 05:00:19.000000000","message":"yes, it is comma separated list of features in a row","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"60d17773e8419a6fe106eae7478d7d6a84827dd4","unresolved":false,"context_lines":[{"line_number":156,"context_line":"      features \u003d Column(MediumText(), nullable\u003dFalse)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Another new table store hypervisor supported cpu models:"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"::"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"  class ComputeNodeSupportedCPUModels(BASE, NovaBase):"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_1568bff4","line":159,"updated":"2015-04-16 05:01:01.000000000","message":"Not sure if we need a new table to store the information, or we can reuse the Capability field in the ComputeNode table.","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"78534accc078026d30fd3637407e3baac591ba2d","unresolved":false,"context_lines":[{"line_number":156,"context_line":"      features \u003d Column(MediumText(), nullable\u003dFalse)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Another new table store hypervisor supported cpu models:"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"::"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"  class ComputeNodeSupportedCPUModels(BASE, NovaBase):"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_6dee0a8d","line":159,"in_reply_to":"5aa745d1_1568bff4","updated":"2015-04-16 12:11:09.000000000","message":"A new table is more easy when query is there any cpu model reference by any hypervisor. If there isn\u0027t any hypervisor reference to the cpu model, then we can remove that model.","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"01efc4ef66bbc3e837be3191077029e3651d710d","unresolved":false,"context_lines":[{"line_number":228,"context_line":"      \u0027model\u0027: \u0027SandyBridge\u0027,"},{"line_number":229,"context_line":"      \u0027features\u0027: [\u0027aes\u0027, \u0027sse4.2\u0027, \u0027sse4.1\u0027, ...]"},{"line_number":230,"context_line":"    }"},{"line_number":231,"context_line":"  ]"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5aa745d1_68603836","line":231,"updated":"2015-04-16 12:37:55.000000000","message":"Would features be an exact match, or do we need to take care of translating between different vendor features?","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c0776aa605dc428e8fee4ea5d71e7bbc023ae9b6","unresolved":false,"context_lines":[{"line_number":228,"context_line":"      \u0027model\u0027: \u0027SandyBridge\u0027,"},{"line_number":229,"context_line":"      \u0027features\u0027: [\u0027aes\u0027, \u0027sse4.2\u0027, \u0027sse4.1\u0027, ...]"},{"line_number":230,"context_line":"    }"},{"line_number":231,"context_line":"  ]"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dac4157f_db5fec0c","line":231,"in_reply_to":"5aa745d1_68603836","updated":"2015-04-21 05:00:19.000000000","message":"Sorry, What means for translating between different vendor features? Is there one feature have different name in different vendor?","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c0776aa605dc428e8fee4ea5d71e7bbc023ae9b6","unresolved":false,"context_lines":[{"line_number":293,"context_line":"      fields \u003d {"},{"line_number":294,"context_line":"          \u0027mode\u0027 \u003d fields.EnumField(nullable\u003dTrue,"},{"line_number":295,"context_line":"                                    valid_values\u003dcpumodel.ALL_CPUMODES),"},{"line_number":296,"context_line":"          \u0027model\u0027 \u003d fields.ObjectField(\u0027VirtCPUTopology\u0027, CPUModel),"},{"line_number":297,"context_line":"          \u0027custom_cpu_model\u0027 \u003d fields.StringField(nullable\u003dTrue),"},{"line_number":298,"context_line":"          \u0027supported_cpu_model\u0027: obj_fields.ListOfObjectsField("},{"line_number":299,"context_line":"               \u0027CPUModel\u0027, nullable\u003dTrue),"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3ab451fb_79514062","line":296,"updated":"2015-04-21 05:00:19.000000000","message":"oops, there should be \u0027fields.ObjectField(\"CPUModel\", nullable\u003dTrue)\u0027","commit_id":"63843435a0c6490c4da7a055d4c07ab7dae23486"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"5d1f76d7dd45ec0d0ca1da39ced233dfde7230fd","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/virt-driver-cpu-features"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This feature aims to improve libvirt driver to enable user define"},{"line_number":14,"context_line":"what kind of cpu feature enable to the guest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5ad0253b_c5cbaf71","line":14,"updated":"2015-04-29 08:35:48.000000000","message":"s/This feature aims to improve libvirt driver to enable user define \twhat kind of cpu feature enable to the guest./This feature modifies the libvirt driver to enable specifying the CPU features to be exposed to a guest virtual machine. It allows tailoring on a per guest basis, ensuring expected behavior and better resource utilization.\nFurther we propose enriching the cpu feature grammar to be able to specify whether a feature is required, optional, or to be disabled.","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"5d1f76d7dd45ec0d0ca1da39ced233dfde7230fd","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* A virtual machine image may require a specific CPU capability such as Intel"},{"line_number":26,"context_line":"  AES-NI instruction set support. This currently is not supported."},{"line_number":27,"context_line":"* When instance didn\u0027t want some features, ComputeCapabilitiesFilter will"},{"line_number":28,"context_line":"  schedule instance to a host without those features. This may lead to resource"},{"line_number":29,"context_line":"  can\u0027t be utilized effective. Actually instance can be scheduled to host which"},{"line_number":30,"context_line":"  support those features and just hide those features to the guest."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5ad0253b_025f5d73","line":27,"updated":"2015-04-29 08:35:48.000000000","message":"s/When instance didn\u0027t want some features,/When an instance does not need/want a specific feature,/","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"5d1f76d7dd45ec0d0ca1da39ced233dfde7230fd","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  AES-NI instruction set support. This currently is not supported."},{"line_number":27,"context_line":"* When instance didn\u0027t want some features, ComputeCapabilitiesFilter will"},{"line_number":28,"context_line":"  schedule instance to a host without those features. This may lead to resource"},{"line_number":29,"context_line":"  can\u0027t be utilized effective. Actually instance can be scheduled to host which"},{"line_number":30,"context_line":"  support those features and just hide those features to the guest."},{"line_number":31,"context_line":"* When instance request some cpu features, ComputeCapabilitiesFilter will"},{"line_number":32,"context_line":"  schedule instance to a host with those features. But actually which kind of"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5ad0253b_c2ff2533","line":29,"updated":"2015-04-29 08:35:48.000000000","message":"s/This may lead to resource can\u0027t be utilized effective./This  may lead to ineffective resource utilization because the instance could actually be launched on a machine with the mentioned features with the features disabled, made invisible to the instance. The ability to disable features on an instance basis increases the space of compatible hosts.","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"5d1f76d7dd45ec0d0ca1da39ced233dfde7230fd","unresolved":false,"context_lines":[{"line_number":27,"context_line":"* When instance didn\u0027t want some features, ComputeCapabilitiesFilter will"},{"line_number":28,"context_line":"  schedule instance to a host without those features. This may lead to resource"},{"line_number":29,"context_line":"  can\u0027t be utilized effective. Actually instance can be scheduled to host which"},{"line_number":30,"context_line":"  support those features and just hide those features to the guest."},{"line_number":31,"context_line":"* When instance request some cpu features, ComputeCapabilitiesFilter will"},{"line_number":32,"context_line":"  schedule instance to a host with those features. But actually which kind of"},{"line_number":33,"context_line":"  cpu model exposed to guest is controlled by options cpu_mode and cpu_model."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5ad0253b_6295f1e2","line":30,"updated":"2015-04-29 08:35:48.000000000","message":"s/support those features and just hide those features to the guest.//","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"5d1f76d7dd45ec0d0ca1da39ced233dfde7230fd","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  schedule instance to a host without those features. This may lead to resource"},{"line_number":29,"context_line":"  can\u0027t be utilized effective. Actually instance can be scheduled to host which"},{"line_number":30,"context_line":"  support those features and just hide those features to the guest."},{"line_number":31,"context_line":"* When instance request some cpu features, ComputeCapabilitiesFilter will"},{"line_number":32,"context_line":"  schedule instance to a host with those features. But actually which kind of"},{"line_number":33,"context_line":"  cpu model exposed to guest is controlled by options cpu_mode and cpu_model."},{"line_number":34,"context_line":"  The operator may configure an older generation arhcitecture for any guest,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5ad0253b_229ff904","line":31,"updated":"2015-04-29 08:35:48.000000000","message":"s/request/requests/","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"5d1f76d7dd45ec0d0ca1da39ced233dfde7230fd","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  support those features and just hide those features to the guest."},{"line_number":31,"context_line":"* When instance request some cpu features, ComputeCapabilitiesFilter will"},{"line_number":32,"context_line":"  schedule instance to a host with those features. But actually which kind of"},{"line_number":33,"context_line":"  cpu model exposed to guest is controlled by options cpu_mode and cpu_model."},{"line_number":34,"context_line":"  The operator may configure an older generation arhcitecture for any guest,"},{"line_number":35,"context_line":"  then finally the cpu features which required by instance didn\u0027t expose to the"},{"line_number":36,"context_line":"  guest."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5ad0253b_223b79ed","line":33,"updated":"2015-04-29 08:35:48.000000000","message":"s/But actually which kind of cpu model exposed to guest is controlled by options cpu_mode and cpu_model./\nHowever, the cpu model exposed to the guest is governed by the options cpu_mode/CONF.libvirt.cpu_mode and CONF.libvirt.cpu_model.","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"5d1f76d7dd45ec0d0ca1da39ced233dfde7230fd","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  schedule instance to a host with those features. But actually which kind of"},{"line_number":33,"context_line":"  cpu model exposed to guest is controlled by options cpu_mode and cpu_model."},{"line_number":34,"context_line":"  The operator may configure an older generation arhcitecture for any guest,"},{"line_number":35,"context_line":"  then finally the cpu features which required by instance didn\u0027t expose to the"},{"line_number":36,"context_line":"  guest."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5ad0253b_e2a3419d","line":35,"updated":"2015-04-29 08:35:48.000000000","message":"discuss","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"5d1f76d7dd45ec0d0ca1da39ced233dfde7230fd","unresolved":false,"context_lines":[{"line_number":76,"context_line":"\u0027hw:cpu_features\u0027 is used to specify the cpu feature requirements of the"},{"line_number":77,"context_line":"instance. \u0027hw:cpu_features\u0027 will accept a list of \u0027feature_name:option\u0027, each"},{"line_number":78,"context_line":"separated by \u0027,\u0027. The feature_name is a string that the hypervisor comprehends."},{"line_number":79,"context_line":"Valid \u003coption\u003e values are:"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* \u0027required\u0027: The host must support the feature and the hypervisor must expose"},{"line_number":82,"context_line":"  the same to the guests."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5ad0253b_421795a3","line":79,"updated":"2015-04-29 08:35:48.000000000","message":"Valid \u003coption\u003e values, to be consistent with Libvirt usage, are:","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0e5878c2da074e087bcd6e7078dc03f2db056a6e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  model won\u0027t expose this feature to guest. This is used to avoid some badly"},{"line_number":89,"context_line":"  behaved application will try to use that feature directly without check CPUID"},{"line_number":90,"context_line":"  mask."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":93,"context_line":"        | FLAVOR_POLICY    | IMAGE_POLICY               | RESULT    |"},{"line_number":94,"context_line":"        +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"dac4157f_41052a78","line":91,"updated":"2015-04-21 07:34:32.000000000","message":"I think there is too many options here and you can probably avoid some; disabled and optional seems to be really close Also I\u0027m not sure about \"forbid\": if you want to  isolate hosts some filters already exists.\n\n  Usually we use \u0027interleave\u0027, \u0027strict\u0027, and \u0027preferred\u0027","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"799a97bac3a0057ebfcea99ee61fb2cf1763a3f2","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  model won\u0027t expose this feature to guest. This is used to avoid some badly"},{"line_number":89,"context_line":"  behaved application will try to use that feature directly without check CPUID"},{"line_number":90,"context_line":"  mask."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":93,"context_line":"        | FLAVOR_POLICY    | IMAGE_POLICY               | RESULT    |"},{"line_number":94,"context_line":"        +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_8d911c55","line":91,"in_reply_to":"bab921fb_6785caab","updated":"2015-04-24 10:23:13.000000000","message":"Ok for optional that makes sense yes. Actually i have also referred myself with libvirt to get the names but in an other section. I think your suggestion is better than mine let\u0027s using require, option, disable.","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"9c2d3c12cd1ef4090e57a1cdd49d5d557d9a6192","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  model won\u0027t expose this feature to guest. This is used to avoid some badly"},{"line_number":89,"context_line":"  behaved application will try to use that feature directly without check CPUID"},{"line_number":90,"context_line":"  mask."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        +------------------+----------------------------+-----------+"},{"line_number":93,"context_line":"        | FLAVOR_POLICY    | IMAGE_POLICY               | RESULT    |"},{"line_number":94,"context_line":"        +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_6785caab","line":91,"in_reply_to":"dac4157f_41052a78","updated":"2015-04-24 08:50:04.000000000","message":"@sahid, thanks\n\nActually I think \u0027optional\u0027 is not very useful also. The only case I think is useful is flavor with optional, then image can be required or not specified. This give a option for admin create a flavor with relax requirement, let the image to make decision. Does make sense to you?\n\nAnd you are right, the \u0027forbid\u0027 is only useful for special case. And ComputeCapabilitiesFilter can do the same thing. I added it just for user can use one mechanism to define all the feature requirement. But I\u0027m ok to remove \u0027forbid\u0027 to reduce some complex for this spec.\n\nactually require, optional, disable are used by libvirt http://libvirt.org/formatdomain.html#elementsCPU  But I\u0027m ok if we think there is consistent style in nova.","commit_id":"e0232f419e3840ac538e64c70f9398a176b83757"}]}
