)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"596481b4ae985a195206fd1b46dba4441b6d0eb7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     IvensZambranoIntel \u003civens.zambrano@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-04-09 02:34:02 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"RMD Plugin: Energy Efficiency using CPU Core P-State control"},{"line_number":8,"context_line":"The power state of a core can be setup between a minimum and the maximum"},{"line_number":9,"context_line":"frequency on the cores as defined in the factory. Each core on a CPU can be"},{"line_number":10,"context_line":"defined individually to perform at specific frequencies during specific periods"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5fc1f717_0f55171e","line":7,"updated":"2019-04-09 02:49:19.000000000","message":"please put a newline after the title so it shows up pretty","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"596481b4ae985a195206fd1b46dba4441b6d0eb7","unresolved":false,"context_lines":[{"line_number":16,"context_line":"driver to make this feature dynamically driven within the node policy"},{"line_number":17,"context_line":"definition and the workload functional policy. Customers report that saving"},{"line_number":18,"context_line":"10-20% of energy over a 24 hour period is highly valued."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I687af2d08806f26a07183746eaf8e5a3456957d4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5fc1f717_ef1e8b6e","line":19,"updated":"2019-04-09 02:49:19.000000000","message":"add a line like\n\n blueprint: rmd-plugin-energy-efficiency-core-p-states-control\n\ngerrit will magically link this to your blueprint","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"}],"specs/train/approved/rmd-plugin-energy-efficiency-core-p-states-control.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b0a4c4b0b301289a19b6c8f614ce0b70d93f7884","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"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":8,"context_line":"RMD Plugin: Energy Efficiency using CPU Core P-State control"},{"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":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_d8958933","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":60},"updated":"2019-04-09 16:22:44.000000000","message":"i have not read through this yet but also wanted to highlight\nthis other spec form intel that propose spliting cpus in to high and low priortity pool\nhttps://review.openstack.org/#/c/649882/3\n\nwe shoudl review both both specs in context of the other and ensure they are also compatibly with https://review.openstack.org/#/c/555081/\nwhich propses standardsed cpu tracking in placeemnt.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://blueprints.launchpad.net/nova/+spec/rmd-plugin-energy-efficiency-core-p-states-control"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The power state of a core can be setup between a minimum and the maximum"},{"line_number":15,"context_line":"frequency on the cores as defined in the factory. Each core on a CPU can be"},{"line_number":16,"context_line":"defined individually to perform at specific frequencies during specific periods"},{"line_number":17,"context_line":"of time. The value of this feature is to be able to reconfigure the power state"},{"line_number":18,"context_line":"of the cores according to the workload demands by setting the core frequency"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_7e19ddce","line":15,"range":{"start_line":15,"start_character":41,"end_line":15,"end_character":48},"updated":"2019-04-09 19:56:02.000000000","message":"kind of they are defiend in the cpu microcode and red by the bios and can be tweeked there too.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://blueprints.launchpad.net/nova/+spec/rmd-plugin-energy-efficiency-core-p-states-control"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The power state of a core can be setup between a minimum and the maximum"},{"line_number":15,"context_line":"frequency on the cores as defined in the factory. Each core on a CPU can be"},{"line_number":16,"context_line":"defined individually to perform at specific frequencies during specific periods"},{"line_number":17,"context_line":"of time. The value of this feature is to be able to reconfigure the power state"},{"line_number":18,"context_line":"of the cores according to the workload demands by setting the core frequency"},{"line_number":19,"context_line":"for a period of time. Maintaining a high core frequency without the need for it"},{"line_number":20,"context_line":"by the workload wastes energy and reducing the frequency results in a power and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_fed06dca","line":17,"range":{"start_line":15,"start_character":50,"end_line":17,"end_character":8},"updated":"2019-04-09 19:56:02.000000000","message":"this is only true with haswell and new cpus.\nbefore the skylake(purly) achitrual change changing cpu frequqy also incurrs a significat cpu stall as the frequency is updated. skylake of cascade reduces that signifcatly but\non older generation of intel server it would not be tolarged by realtime workloads and would be noticable even on non realitme worklaods so it cannot be adjusted arbitrarily or it will lead to no deterministic guest latencies.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":20,"context_line":"by the workload wastes energy and reducing the frequency results in a power and"},{"line_number":21,"context_line":"electricity saving for operators of servers. Energy efficiency is the a major"},{"line_number":22,"context_line":"driver to make this feature dynamically driven within the node policy"},{"line_number":23,"context_line":"definition and the workload functional policy. Customers report that saving"},{"line_number":24,"context_line":"10-20% of energy over a 24 hour period is highly valued."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_beff4532","line":24,"range":{"start_line":23,"start_character":47,"end_line":24,"end_character":56},"updated":"2019-04-09 19:56:02.000000000","message":"that will obviously be workload dependate but thats a good ballpark number for context.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":34,"context_line":"controls the frequency of each core (Xeon-SP and Xeon-D) in range specific to"},{"line_number":35,"context_line":"the CPU model. The range is between the out of the box frequency (called P1) to"},{"line_number":36,"context_line":"a low value per CPU model. This allows software to set the frequency lower on"},{"line_number":37,"context_line":"low utilization cores and achieve an energy efficiency benefit."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The power state of a core can be setup between a minimum and the maximum"},{"line_number":40,"context_line":"frequency on the cores as defined in the factory. Each core on a CPU can be"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_7e51dd2f","line":37,"range":{"start_line":37,"start_character":37,"end_line":37,"end_character":62},"updated":"2019-04-09 19:56:02.000000000","message":"at the cost of additional latency when the demand on that core spikes.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"low utilization cores and achieve an energy efficiency benefit."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The power state of a core can be setup between a minimum and the maximum"},{"line_number":40,"context_line":"frequency on the cores as defined in the factory. Each core on a CPU can be"},{"line_number":41,"context_line":"defined individually to perform at specific frequencies during specific periods"},{"line_number":42,"context_line":"of time. The value of this feature is to be able to reconfigure the power state"},{"line_number":43,"context_line":"of the cores according to the workload demands by setting the core frequency"},{"line_number":44,"context_line":"for a period of time. Maintaining a high core frequency without the need for it"},{"line_number":45,"context_line":"by the workload wastes energy and reducing the frequency results in a power and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_2900fd00","line":42,"range":{"start_line":40,"start_character":50,"end_line":42,"end_character":9},"updated":"2019-04-09 19:56:02.000000000","message":"this is a duplicate of line 15 and the same comment applies.\nthis is only true on modern intel cpus starting with haswell.\ni i belive this was added to amd cpu in the zen reacitrure so in there Naples based eypc cpus.\n\nthe libvirt dirver is also used on arm and power os im not sure if they suppor it but RMD proably does not work on non x86 architechtures.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The power state of a core can be setup between a minimum and the maximum"},{"line_number":40,"context_line":"frequency on the cores as defined in the factory. Each core on a CPU can be"},{"line_number":41,"context_line":"defined individually to perform at specific frequencies during specific periods"},{"line_number":42,"context_line":"of time. The value of this feature is to be able to reconfigure the power state"},{"line_number":43,"context_line":"of the cores according to the workload demands by setting the core frequency"},{"line_number":44,"context_line":"for a period of time. Maintaining a high core frequency without the need for it"},{"line_number":45,"context_line":"by the workload wastes energy and reducing the frequency results in a power and"},{"line_number":46,"context_line":"electricity saving for operators of servers. Energy efficiency is the a major"},{"line_number":47,"context_line":"driver to make this feature dynamically driven within the node policy"},{"line_number":48,"context_line":"definition and the workload functional policy. Customers report that saving"},{"line_number":49,"context_line":"10-20% of energy over a 24 hour period is highly valued."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Using P-States is a standalone feature to achieve energy efficiency. However,"},{"line_number":52,"context_line":"it is worth noting this technology can operate in conjunction with SST-BF: The"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_2929dd88","line":49,"range":{"start_line":42,"start_character":9,"end_line":49,"end_character":55},"updated":"2019-04-09 19:56:02.000000000","message":"this is all just a duplicate fo the into so you can delete this.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":49,"context_line":"10-20% of energy over a 24 hour period is highly valued."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Using P-States is a standalone feature to achieve energy efficiency. However,"},{"line_number":52,"context_line":"it is worth noting this technology can operate in conjunction with SST-BF: The"},{"line_number":53,"context_line":"ceiling frequency and operating range is higher on some cores and lower on"},{"line_number":54,"context_line":"others when SST-BF is configured. The frequency control interfaces in HW remain"},{"line_number":55,"context_line":"the same with/without SST-BF. The max frequency value could be modified in a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_89b01142","line":52,"range":{"start_line":52,"start_character":67,"end_line":52,"end_character":73},"updated":"2019-04-09 19:56:02.000000000","message":"you should define this term before you use it.\neven i took a while to fiture out this was refering  to \nSpeed Select Technology (SST) which for the unitiated allow the adminsitarto to repacy the default profile used by the cpu hardware pstate govoner to contol turbo bost frequences so that you can tell the cpu to priorties turbo bosting certin cores over others.\n\nfor example priotisie you dpdk vswitch cores or the cores used for realtime guests.\n\nyou can think of it like per core overclocking that is contoled by the cpu and will not void your warrenty.\n\nthis was only intodcued in caskade lake so even skylake server wont support this.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":54,"context_line":"others when SST-BF is configured. The frequency control interfaces in HW remain"},{"line_number":55,"context_line":"the same with/without SST-BF. The max frequency value could be modified in a"},{"line_number":56,"context_line":"number of cores on the CPU by the introduction of Base Frequencies (SST-BF)"},{"line_number":57,"context_line":"control where a group of CPUs can be configured to work at a higher frequency"},{"line_number":58,"context_line":"and another group at a lower frequency, creating effectively two frequency"},{"line_number":59,"context_line":"tiers. Frequency control through P-States allows the sys-admin and the workload"},{"line_number":60,"context_line":"definition to configure the platform to set the power of a core to a specific"},{"line_number":61,"context_line":"frequency inside the SST-BF boundaries (high¦low¦normal)."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_c9d85980","line":58,"range":{"start_line":57,"start_character":48,"end_line":58,"end_character":38},"updated":"2019-04-09 19:56:02.000000000","message":"speaking of which have you talked to \nthe other half of intel that are proposing \nhttps://review.openstack.org/#/c/649882/3\n\"Separate the vCPUs into different pools based on priority\"\n\nso that there can be two pools of low and high priortity cpus.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":76,"context_line":"CPU cores P-States in the platform”"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"UC-2"},{"line_number":79,"context_line":"“As a tenant (VNF-M) I want RMD to apply the initial Power State"},{"line_number":80,"context_line":"configuration in the CPU cores before the workload is started based on"},{"line_number":81,"context_line":"the characteristics defined in the VNF policy (G7+G8) using the RMD"},{"line_number":82,"context_line":"Plugin described by G1”"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"UC-3"},{"line_number":85,"context_line":"“As a Sys-Admin performing an under-cloud deployment and node"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_c9461922","line":82,"range":{"start_line":79,"start_character":0,"end_line":82,"end_character":23},"updated":"2019-04-09 19:56:02.000000000","message":"in general specs are intended to be self contained.\n\nso i belive you are refeing to one of the estis mano specs here but you need to provide a reference.\nin general we do not expect openstack api to allign fully with external specifciaitn but if the releven spec provides\nuseful context then that is good to inculed.\n\nsecondly the usecase should really be phased in relateion to nova and how operators or tenant will iteract with it.\na vnfm could be a tenant but in the model wehre a vnfm is allowed to interact with the vm directly(ONAP) it is not appriate for ti to also interact with the NFVI layer.\n\nin other words its fine for the vnfm to talk to openstack api it not ok for it to talk directly to RMD runing on the host.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Plugin described by G1”"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"UC-3"},{"line_number":85,"context_line":"“As a Sys-Admin performing an under-cloud deployment and node"},{"line_number":86,"context_line":"configuration I want to be able to deliver a policy artefact (Node"},{"line_number":87,"context_line":"policy) to define the default behavior of P-States in the CPU cores”"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"UC-4"},{"line_number":90,"context_line":"“As a tenant (VNF-M) I want to be able to spin up a VM on a host"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_c91db90f","line":87,"range":{"start_line":85,"start_character":1,"end_line":87,"end_character":68},"updated":"2019-04-09 19:56:02.000000000","message":"this is not nova usecase unless you mean i as an operator i  want to express a pstate policy via a nova flavor.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":87,"context_line":"policy) to define the default behavior of P-States in the CPU cores”"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"UC-4"},{"line_number":90,"context_line":"“As a tenant (VNF-M) I want to be able to spin up a VM on a host"},{"line_number":91,"context_line":"providing the “Energy Efficiency using P-States” feature by"},{"line_number":92,"context_line":"advertising the feature as part of EPA”"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"UC-5"},{"line_number":95,"context_line":"“As a tenant (VNF-M) I want the workload to be scheduled on a host"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_29bd5dd7","line":92,"range":{"start_line":90,"start_character":0,"end_line":92,"end_character":39},"updated":"2019-04-09 19:56:02.000000000","message":"most tenat wont care about energy efficency since it the operator that is the one paying for it.\n\nhow about\nAs an operator i want to allow my tenant to provision instance using energy efficient flavors.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"UC-5"},{"line_number":95,"context_line":"“As a tenant (VNF-M) I want the workload to be scheduled on a host"},{"line_number":96,"context_line":"with the right SST-BF setup to support the workload’s (VNF) required"},{"line_number":97,"context_line":"frequency”"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"UC-6"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_e980b5f9","line":96,"range":{"start_line":96,"start_character":15,"end_line":96,"end_character":21},"updated":"2019-04-09 19:56:02.000000000","message":"this raise two quetions. first how will the tenant who by definition of being a tenant of a cloud enviormnt and is not allowed to know what host they land on validate that the SST-BF policyis applied. and second how will they express there preference for a policy. the flavor?","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":96,"context_line":"with the right SST-BF setup to support the workload’s (VNF) required"},{"line_number":97,"context_line":"frequency”"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"UC-6"},{"line_number":100,"context_line":"“As a tenant (VNF-M) I want the workload to be pinned to a group of"},{"line_number":101,"context_line":"CPU cores capable of providing the combination of high and low frequency"},{"line_number":102,"context_line":"declared in the VNF policy”"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"UC-7"},{"line_number":105,"context_line":"“As a tenant (VNF-M) I want to be able describe the location of the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_896fb15e","line":102,"range":{"start_line":99,"start_character":0,"end_line":102,"end_character":27},"updated":"2019-04-09 19:56:02.000000000","message":"this is coverd differently by the other intel spec.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":102,"context_line":"declared in the VNF policy”"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"UC-7"},{"line_number":105,"context_line":"“As a tenant (VNF-M) I want to be able describe the location of the"},{"line_number":106,"context_line":"VNF policy (object store, image store, well known protocol downloadable"},{"line_number":107,"context_line":"endpoint, etc.) as part of the flavor extra_specs.”"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"UC-8"},{"line_number":110,"context_line":"“As a tenant (VNF-M) I want to be able to deliver RMD\u0027s \"Workload"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_c9f5b984","line":107,"range":{"start_line":105,"start_character":1,"end_line":107,"end_character":50},"updated":"2019-04-09 19:56:02.000000000","message":"this would appear to be a securty vulnerablity.\n\nfirst tenant cannot create flavor only operators/admins can.\nbut second if we over look that point thre is a potentil dos attach vector here if a tenat can provide a arbitry policy fo rmd to apply. for exampl it could request that the base frequence of all cose be capped to the lowest posible level.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":105,"context_line":"“As a tenant (VNF-M) I want to be able describe the location of the"},{"line_number":106,"context_line":"VNF policy (object store, image store, well known protocol downloadable"},{"line_number":107,"context_line":"endpoint, etc.) as part of the flavor extra_specs.”"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"UC-8"},{"line_number":110,"context_line":"“As a tenant (VNF-M) I want to be able to deliver RMD\u0027s \"Workload"},{"line_number":111,"context_line":"Policy ID\" describing the P-States behavior to the platform scheduled to"},{"line_number":112,"context_line":"fulfill the workload throughput/latency, to be able to pull the artifact"},{"line_number":113,"context_line":"from its source”"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"UC-9"},{"line_number":116,"context_line":"“As a tenant (VNF-M) I want to be able to manage the rejection of a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_c9685922","line":113,"range":{"start_line":108,"start_character":0,"end_line":113,"end_character":16},"updated":"2019-04-09 19:56:02.000000000","message":"as a tenant of an openstack cloud you are not ment to be able to know why hypervior is deployed via the non admin rest api. so as a tenant you should not be able to inspect policy infomation form RMD directly.\n\nwhat woudld be acceptable would be for the operator to provide a set of flavors with the rmd policy id specified or for the user to uplaod an image with an opaque policy id set in the image metadata but in both cases this is an interoperabliy issue between clouds.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":113,"context_line":"from its source”"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"UC-9"},{"line_number":116,"context_line":"“As a tenant (VNF-M) I want to be able to manage the rejection of a"},{"line_number":117,"context_line":"workload scheduling request if the CPU cores available do not provide"},{"line_number":118,"context_line":"the right SST-BF or if the initial configuration of P-States is not"},{"line_number":119,"context_line":"possible”"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"UC-10"},{"line_number":122,"context_line":"“As the platform resource manager, RMD (software component), I want to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_e9e675b0","line":119,"range":{"start_line":116,"start_character":1,"end_line":119,"end_character":9},"updated":"2019-04-09 19:56:02.000000000","message":"this is not a tenat role this is something that the admin/operator can decide.\n\na tenant can influance it by the selection of flavor and or image(with metadata) but its a violation of the cloud abstration to expect that tenant woudl be able to validate this.\n\nwhat teant can expect is if they express there requirement to openstack, then opentack will boot the vm if the requirement can be met or it will fail to boot the vm if they cannot.\n\nthe tenant and vnfm do not play any role byond that in determing if a workload can be schduled to a specific host.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":119,"context_line":"possible”"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"UC-10"},{"line_number":122,"context_line":"“As the platform resource manager, RMD (software component), I want to"},{"line_number":123,"context_line":"be able to match the base platform policy definitions with the workload"},{"line_number":124,"context_line":"(VNF) policy definitions and compute the applicability of the VNF’s"},{"line_number":125,"context_line":"requirements”"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_694cc5c7","line":122,"range":{"start_line":122,"start_character":8,"end_line":122,"end_character":33},"updated":"2019-04-09 19:56:02.000000000","message":"actully in the extis manon mode that would be either the resouce orchestrtor or the vim not RMD.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Proposed change"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Through the introduction of the “RMD-Plugin: Energy Efficiency using"},{"line_number":132,"context_line":"CPU Core P-State control” Nova can interact with the exposed Resource"},{"line_number":133,"context_line":"Management Daemon (RMD) APIs to allow tenants to manage specific"},{"line_number":134,"context_line":"hardware features on a compute node during runtime without the need to"},{"line_number":135,"context_line":"decommission and reconfigure the node offline- in this specific case, to"},{"line_number":136,"context_line":"modify the CPU frequency to increase the throughput of a workload during"},{"line_number":137,"context_line":"a high demand peaks."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"The behavior of the plugin is defined via a policy artifact that is"},{"line_number":140,"context_line":"handled by RMD. The location of the policy shall be delivered to RMD"},{"line_number":141,"context_line":"through the interpretation of a flavor “extra_specs” providing the"},{"line_number":142,"context_line":"URL to the policy source endpoint."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Alternatives"},{"line_number":145,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_c40e0031","line":142,"range":{"start_line":131,"start_character":0,"end_line":142,"end_character":34},"updated":"2019-04-09 19:56:02.000000000","message":"the proposed change just say RMD provide an API for power managemnt and nova coudl use it.\n\nyou have not covered \n 1.) the integration poing between rmd and the compute agent.\n   a.) will this be in the compute manager\n   b.) in the virt dirver? if so which one, libvirt?\n 2.) how will this feature interact with schduling\n   a.) each cpu package has a fixed TDP and power budgent\n       how will this be track so that we dont schduler two\n       instance iwth conflction SST-BF porfiles.\n   b.) how will you model pools of dynamically changing high                    \n       and low performacne cores.\n   c.) what are the changes that will be needed in placemetn.\n   d.) what changes will be needed in the resouce tracker.\n 3.) how will tenant request a policy\n   a.) flavor?\n   b.) image?\n   c.) schduler hint? (note this is the wrong answer)\n 4.) how will an operator define a policy?\n   a.) flavor?\n   b.) ???\n\nthis all need to detailed in this section an more.\n\ni quickly looked later an i can see some of this info in in the work items section but that is the wronge locaiton.\n\nthe worktimes shoudl be short bullet points and the main description of the fetarue and change to nova should be here\n\neffectively you should have present the overview of the full change before you get to the alternatives section.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Alternatives"},{"line_number":145,"context_line":"------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"The alternative to this approach is to decommission the node and"},{"line_number":148,"context_line":"establish a different core frequency configuration. This defeats the"},{"line_number":149,"context_line":"purpose of the hardware feature as the core will be setup to a"},{"line_number":150,"context_line":"suboptimal energy consumption level that will never provide real"},{"line_number":151,"context_line":"advantages or provide a good cost/value ratio to the service provider."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Alternative around RMD’s “Workload policy”: instead of adding the"},{"line_number":154,"context_line":"complexity of the need to add a policy store, each item in the policy"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_44ed3023","line":151,"range":{"start_line":147,"start_character":0,"end_line":151,"end_character":70},"updated":"2019-04-09 19:56:02.000000000","message":"this is not really an alternative.\nwithout open stack integration you can change the policy on the fly so you dont need to decommission the node.\n\nthe alternative you have today is to use host aggrates to partition your host into high performance hots and energy effiect hosts.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":150,"context_line":"suboptimal energy consumption level that will never provide real"},{"line_number":151,"context_line":"advantages or provide a good cost/value ratio to the service provider."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Alternative around RMD’s “Workload policy”: instead of adding the"},{"line_number":154,"context_line":"complexity of the need to add a policy store, each item in the policy"},{"line_number":155,"context_line":"could be described as a flavor extra_spec. The policy definition for a"},{"line_number":156,"context_line":"workload could be complex as it may include more items that just the"},{"line_number":157,"context_line":"ones needed by the “RMD-Plugin: Energy Efficiency using CPU Core"},{"line_number":158,"context_line":"P-State control”"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_e4569cce","line":158,"range":{"start_line":153,"start_character":0,"end_line":158,"end_character":16},"updated":"2019-04-09 19:56:02.000000000","message":"this would have the advantage of allowing it to be discoverable programatically.\n\ncan you provide an example of what this would look like.\n\nhttps://review.openstack.org/#/c/511453/\nwhich is the queens iteration of this spec before teh power governor was incorporated into RMD introduced a \n\nhw_power_governor image metadata property to enable a vitio channel between the vm and RMD so that it could express the\npolicy directly.\n\non alternative that was proposed in that spec was that the power profiles would be stored as an additional image in glance or artifact in glare. can you add them to the alternative section.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":171,"context_line":"Security impact"},{"line_number":172,"context_line":"---------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"The northbound interface provided by RMD needs to verify access to the"},{"line_number":175,"context_line":"resource feature. The configuration required to talk to RMD could be"},{"line_number":176,"context_line":"held as part of the Nova local configuration, exposing credentials,"},{"line_number":177,"context_line":"which is not desirable."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"Optional mechanisms imply the extension of the RMD API to implement"},{"line_number":180,"context_line":"keystone components."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_649b8c72","line":177,"range":{"start_line":174,"start_character":0,"end_line":177,"end_character":23},"updated":"2019-04-09 19:56:02.000000000","message":"nova could simple talk to RMD via its unix socket interface and use standard file system permissions and groups for security. nova woudl just need to store the socket path in this case and share a group with rmd for read write acess","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":176,"context_line":"held as part of the Nova local configuration, exposing credentials,"},{"line_number":177,"context_line":"which is not desirable."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"Optional mechanisms imply the extension of the RMD API to implement"},{"line_number":180,"context_line":"keystone components."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"Notifications impact"},{"line_number":183,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_e4953c33","line":180,"range":{"start_line":179,"start_character":0,"end_line":180,"end_character":20},"updated":"2019-04-09 19:56:02.000000000","message":"if the RMD rest api was to be used i think this would be preferred and if it was an option i would make it a requirement before doing the nova integration.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":182,"context_line":"Notifications impact"},{"line_number":183,"context_line":"--------------------"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"The failure to spawn a VM due to the incompatibility of a node’s"},{"line_number":186,"context_line":"“RMD policy” with the workload’s “RMD policy”. This will"},{"line_number":187,"context_line":"require to expose the RMD return message logs."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Other end user impact"},{"line_number":190,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_440a108a","line":187,"range":{"start_line":185,"start_character":0,"end_line":187,"end_character":46},"updated":"2019-04-09 19:56:02.000000000","message":"this should never happen.\n\nwe could vaildate the policy at the compute node as a sanity check but i think we need a new filter or integration with plaement to make the scudler aware of the constraints.\n\nfor example if RMD provides a fixed set of polices to chooes from the the operator has configred in an rmd conf somehwere then the nova comptue agent could adverties those polices as CUSTOM_RMD_\u003cpolicy\u003e traits on the compute node and we could schdule based on them.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":194,"context_line":"interpreted by the functionality introduced by the SST-BF spec."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"For each workload requiring a different “RMD-Plugin: Energy Efficiency"},{"line_number":197,"context_line":"using CPU Core P-State control” policy content, the tenant will be"},{"line_number":198,"context_line":"required to create a different flavor with a different extra_spec"},{"line_number":199,"context_line":"pointing to a different policy source."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_4418d0d1","line":198,"range":{"start_line":197,"start_character":48,"end_line":198,"end_character":65},"updated":"2019-04-09 19:56:02.000000000","message":"tenant cant do this only operator can","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":196,"context_line":"For each workload requiring a different “RMD-Plugin: Energy Efficiency"},{"line_number":197,"context_line":"using CPU Core P-State control” policy content, the tenant will be"},{"line_number":198,"context_line":"required to create a different flavor with a different extra_spec"},{"line_number":199,"context_line":"pointing to a different policy source."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Performance Impact"},{"line_number":202,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_c4236004","line":199,"range":{"start_line":199,"start_character":0,"end_line":199,"end_character":37},"updated":"2019-04-09 19:56:02.000000000","message":"can you expalin what this is. you have not defiend\nwhat policy source woudl be availabel. this feels incorect\nto allow teants to do.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":201,"context_line":"Performance Impact"},{"line_number":202,"context_line":"------------------"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"When creating a VM requiring specific CPU cores frequency and the"},{"line_number":205,"context_line":"presence of Energy Efficiency in the platform, the nova virt driver will"},{"line_number":206,"context_line":"perform an extra step to communicate with RMD and deliver the policy"},{"line_number":207,"context_line":"parameters. This will introduce a locking period to wait for"},{"line_number":208,"context_line":"verification of RMD’s “workload policy” compatibility with RMD’s"},{"line_number":209,"context_line":"“node policy” and then for reconfiguration of the hardware. The"},{"line_number":210,"context_line":"performance impact will depend on the number of different “RMD"},{"line_number":211,"context_line":"resource plugins” living in the platform under RMD, the complexity of"},{"line_number":212,"context_line":"the policy and the specific CPU reconfiguration time."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Other deployer impact"},{"line_number":215,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_64faac43","line":212,"range":{"start_line":204,"start_character":0,"end_line":212,"end_character":53},"updated":"2019-04-09 19:56:02.000000000","message":"this could work but this cannot be the first time we validate if the policy is suppoted.\n\nwe need to have already validated it in the schduler and it would not be approprate for the schduler or a schduler filter to make a rest call sycnonsly to RMD to do the validation.\n\nwe will need to find a declarative scheme where the supproted policys are somewhoe comunicated to the scheduler either though the hostsate object or via placement Resource Provieders.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":214,"context_line":"Other deployer impact"},{"line_number":215,"context_line":"---------------------"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"The deployer shall pull to the node the “RMD Core” and the"},{"line_number":218,"context_line":"“RMD-Plugin: Energy Efficiency using CPU Core P-State control”. This"},{"line_number":219,"context_line":"shall be handled by the sys-admin under-cloud configuration process."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_24bfc461","line":219,"range":{"start_line":217,"start_character":1,"end_line":219,"end_character":68},"updated":"2019-04-09 19:56:02.000000000","message":"or in other words you need to install RMD and the power plugin. the deploy would also need to set the relevent nova.conf config options.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":223,"context_line":"Developer impact"},{"line_number":224,"context_line":"----------------"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Nova virt driver requires changes to interact with RMD when the"},{"line_number":227,"context_line":"configuration “rmd_enabled\u003dtrue” is present in the section [compute]"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Nova virt-driver requires changes to extract from “flavor"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_04b88872","line":226,"range":{"start_line":226,"start_character":0,"end_line":226,"end_character":16},"updated":"2019-04-09 19:56:02.000000000","message":"which one?","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":224,"context_line":"----------------"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Nova virt driver requires changes to interact with RMD when the"},{"line_number":227,"context_line":"configuration “rmd_enabled\u003dtrue” is present in the section [compute]"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Nova virt-driver requires changes to extract from “flavor"},{"line_number":230,"context_line":"extra_specs” the “workload RMD policy” location and then to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_647dccb0","line":227,"range":{"start_line":227,"start_character":60,"end_line":227,"end_character":67},"updated":"2019-04-09 19:56:02.000000000","message":"the compute section is for non vert direver specific option so that implies that RMD will support all virt direvers\n\ni think you want this in the [libvirt] seach as i assume that is the only virt dirver this spec will be enableing?","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Nova virt-driver requires changes to extract from “flavor"},{"line_number":230,"context_line":"extra_specs” the “workload RMD policy” location and then to"},{"line_number":231,"context_line":"deliver this information to the method “workloadPolicyURL” on the"},{"line_number":232,"context_line":"RMD API"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"Upgrade impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_642b8c94","line":231,"range":{"start_line":231,"start_character":40,"end_line":231,"end_character":57},"updated":"2019-04-09 19:56:02.000000000","message":"im not sure that it would be correct to just have a random URL in the flavor as the content at that URL could chagne invalidating the current placement of the vm.\n\nthis is in the flavor so its admin only but what would happen if a malious user pointed this at a 100G OS image url.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":234,"context_line":"Upgrade impact"},{"line_number":235,"context_line":"--------------"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"N/A (need input from the community based on the spec for the upgrade"},{"line_number":238,"context_line":"implications)"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":""},{"line_number":241,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_af138d5b","line":238,"range":{"start_line":237,"start_character":0,"end_line":238,"end_character":13},"updated":"2019-04-09 19:56:02.000000000","message":"well the RMD api need to provide at least some level of backwards compatibility to facilitate upgrades\n\nif that cant be provide at the rest level then nova shoudl follow the adapter pateren and use an intermeidate clinet lib to insolate code churn in the nova implementaiton.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":252,"context_line":"  IvensZambrano"},{"line_number":253,"context_line":"  Dakshina Ilangovan"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Work Items"},{"line_number":256,"context_line":"----------"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"The process starts with under-cloud configuration steps, when delivering"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_af3cedc7","line":255,"range":{"start_line":255,"start_character":0,"end_line":255,"end_character":10},"updated":"2019-04-09 19:56:02.000000000","message":"this should be a short bullit pont list of effect\npatches or indepent work items that different people can work on. so the current content is not correct.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"The process starts with under-cloud configuration steps, when delivering"},{"line_number":259,"context_line":"the component for RMD."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"Under-cloud and configuration steps:"},{"line_number":262,"context_line":"    1. The P-States option needs to be enabled on the node’s BIOS"},{"line_number":263,"context_line":"    2. The under-cloud deployment tool installs the Operating System and the"},{"line_number":264,"context_line":"       RMD software component"},{"line_number":265,"context_line":"    3. The under-cloud deployment tool delivers the RMD’s “node policy”"},{"line_number":266,"context_line":"        as defined by the under-cloud sysadmin. The node policy will hold"},{"line_number":267,"context_line":"        behavioral definitions for multiple RMD plugins (not just for"},{"line_number":268,"context_line":"        “RMD-Plugin: Energy Efficiency using CPU Core P-State control”)"},{"line_number":269,"context_line":"    4. The plugins defined by the policy are loaded to the node from an object"},{"line_number":270,"context_line":"        store holding them"},{"line_number":271,"context_line":"    5. RMD gets started and it reads RMD’s “node policy” and performs the"},{"line_number":272,"context_line":"        initial configuration for:"},{"line_number":273,"context_line":"        a. RMD’s base configuration including policy source location (Glance by"},{"line_number":274,"context_line":"            default)"},{"line_number":275,"context_line":"        b. Every resource Manager as described by the policy"},{"line_number":276,"context_line":"        c. Every resource as described by the policy."},{"line_number":277,"context_line":"    6. Initialization outcome:"},{"line_number":278,"context_line":"        a. The initialization of resources could fail and the under-cloud"},{"line_number":279,"context_line":"            deployment process will report as failed on the compromised node"},{"line_number":280,"context_line":"        b. The initialization of resources succeeds and the enablement of the"},{"line_number":281,"context_line":"        node continues"},{"line_number":282,"context_line":"    7. The under-cloud deployment tool continues with the compute node"},{"line_number":283,"context_line":"        configuration by installing the nova components"},{"line_number":284,"context_line":"    8. To indicate the existence of RMD a line is added to the nova.conf"},{"line_number":285,"context_line":"        section [compute] rmd_enable\u003dtrue. In the event RMD is unavailable"},{"line_number":286,"context_line":"        though nova.conf.rmd\u003dtrue, resource inventory is not updated and"},{"line_number":287,"context_line":"        resource feature is unavailable."},{"line_number":288,"context_line":"    9. To advertise the existence of “RMD-Plugin: Energy Efficiency using CPU"},{"line_number":289,"context_line":"        Core P-State control” a new entry is added under the [compute] section"},{"line_number":290,"context_line":"        of nova.conf indicating rmd_plugin_p_states\u003dtrue"},{"line_number":291,"context_line":"    10. From now on, any request to create a VM requiring specific frequency"},{"line_number":292,"context_line":"        through the flavor extra_specs (see “VM Deployment Steps”), will"},{"line_number":293,"context_line":"        perform a call to RMD’s API to setup the right resources configuration"},{"line_number":294,"context_line":"    11. The CPU capabilities and features are queried from RMD by nova as part"},{"line_number":295,"context_line":"        of the update_provider_tree to get the cores topology and their"},{"line_number":296,"context_line":"        respective PBF frequencies. This information is translated to the"},{"line_number":297,"context_line":"        right provider tree and inventory structure and synced back to"},{"line_number":298,"context_line":"        placement API."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"VM deployment steps:"},{"line_number":301,"context_line":"    1. RMD’s “workload policy” artefact is added to a well know location"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_6f47e54d","line":298,"range":{"start_line":261,"start_character":0,"end_line":298,"end_character":21},"updated":"2019-04-09 19:56:02.000000000","message":"this is basically installation docs so this is the wrong section. maybe other deployer impact.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":300,"context_line":"VM deployment steps:"},{"line_number":301,"context_line":"    1. RMD’s “workload policy” artefact is added to a well know location"},{"line_number":302,"context_line":"        accessible from the RMD process running on the node."},{"line_number":303,"context_line":"    2. A new flavor is created by the tenant and the flavor extra_specs holds:"},{"line_number":304,"context_line":"        a. The ID  of RMD’s “workload policy”"},{"line_number":305,"context_line":"        b. The number of vCPUs required"},{"line_number":306,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_cf6ff98f","line":303,"range":{"start_line":303,"start_character":4,"end_line":303,"end_character":5},"updated":"2019-04-09 19:56:02.000000000","message":"this flavor info shoudl be in the propsed chagnes section","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":305,"context_line":"        b. The number of vCPUs required"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"          Without SST-BF Enabled"},{"line_number":308,"context_line":"             properties -\u003e hw:cpu_policy\u003d\u0027dedicated\u0027,"},{"line_number":309,"context_line":"                            cpus.p_energy_efficiency_enabled\u003d\u00270-2,5-7\u0027,"},{"line_number":310,"context_line":"                            cpus.p_energy_efficiency_disabled\u003d\u00273-4\u0027"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_8f89f16f","line":308,"range":{"start_line":308,"start_character":27,"end_line":308,"end_character":53},"updated":"2019-04-09 19:56:02.000000000","message":"incdentally this is the first time that the requrieemnt for a dedicated cpu was mentions.\n\ni was aware of it form prvious work on this feature but\nthe other thing i wanted to point out is this is not enough.\nthis feater only works if you speciy \nhw:cpu_policy\u003d\u0027dedicated\u0027 and hw:cpu_thread_policy\u003disolate.\n\nif you dont have the isolate policy another vm can be scudeled to the hyper tread and that can result in a policy conflict as the power policy is per phyical core not per hardware thread and unless RMD can now update the power porfile on every context switch between hypertread on the same physical core.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":"          Without SST-BF Enabled"},{"line_number":308,"context_line":"             properties -\u003e hw:cpu_policy\u003d\u0027dedicated\u0027,"},{"line_number":309,"context_line":"                            cpus.p_energy_efficiency_enabled\u003d\u00270-2,5-7\u0027,"},{"line_number":310,"context_line":"                            cpus.p_energy_efficiency_disabled\u003d\u00273-4\u0027"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"          With SST-BF Enabled"},{"line_number":313,"context_line":"            properties -\u003e cpus.CUSTOM_PRI_HIGH\u003d\u00270-4\u0027,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_ef3d158e","line":310,"range":{"start_line":309,"start_character":27,"end_line":310,"end_character":67},"updated":"2019-04-09 19:56:02.000000000","message":"so the other intel spec proposes doing \n\nhw:cpus.HW_CPU_HIGH_PRIORITY\u003d0-3\nhw:cpus.HW_CPU_LOW_PRIORITY\u003d8-11\n\n``hw:cpus.[Traits] \u003d cpuset string``\n\ne.g. decalrign a template where you can have hw:cpu. followed by a arbiary trait... \n\ni like yours better but if we do this at all i would suggest follow the lead of realltime  cpus and used a mask\n\nalso can you update this with how this work with all the numa options and emultor threads.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                            cpus.CUSTOM_PRI_LOW\u003d\u00275-7\u0027,"},{"line_number":315,"context_line":"                            hw:cpu_policy\u003d\u0027dedicated\u0027,"},{"line_number":316,"context_line":"                            cpus.p_energy_efficiency_enabled*\u003d\u00270-2,5-7\u0027,"},{"line_number":317,"context_line":"                            cpus.p_energy_efficiency_disabled**\u003d\u00273-4\u0027"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"                *p_energy_efficiancy_enabled: the hardware takes care of the"},{"line_number":320,"context_line":"                frequencies to lower the power consumption based on the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_6f5125d9","line":317,"range":{"start_line":317,"start_character":61,"end_line":317,"end_character":63},"updated":"2019-04-09 19:56:02.000000000","message":"what does this mean","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                frequencies to lower the power consumption based on the"},{"line_number":321,"context_line":"                ongoing load"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"                **p_energy_efficiancy_disabled: the core is setup to avoid"},{"line_number":324,"context_line":"                frequency fluctuation and remain on the top level frequency"},{"line_number":325,"context_line":"                offered by the core"},{"line_number":326,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_4f6469b9","line":323,"range":{"start_line":323,"start_character":16,"end_line":323,"end_character":18},"updated":"2019-04-09 19:56:02.000000000","message":"is it jsut to refer to this if so that is confusing.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":325,"context_line":"                offered by the core"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"    3. A new VM is requested of that specific flavor"},{"line_number":328,"context_line":"    4. Scheduler queries the resource provider tree to identify the cores with"},{"line_number":329,"context_line":"       the characteristics required by the flavor that are available"},{"line_number":330,"context_line":"    5. The scheduler sends the placement request to the node, the nodes send"},{"line_number":331,"context_line":"        the metadata to RMD"},{"line_number":332,"context_line":"            a. The CPU pinning requirements and SST-BF specific cores"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_4f09c9da","line":329,"range":{"start_line":328,"start_character":6,"end_line":329,"end_character":68},"updated":"2019-04-09 19:56:02.000000000","message":"can you describe this. will we be using traits, nested resouce providers?","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":327,"context_line":"    3. A new VM is requested of that specific flavor"},{"line_number":328,"context_line":"    4. Scheduler queries the resource provider tree to identify the cores with"},{"line_number":329,"context_line":"       the characteristics required by the flavor that are available"},{"line_number":330,"context_line":"    5. The scheduler sends the placement request to the node, the nodes send"},{"line_number":331,"context_line":"        the metadata to RMD"},{"line_number":332,"context_line":"            a. The CPU pinning requirements and SST-BF specific cores"},{"line_number":333,"context_line":"            frequencies availability are verified by nova virt driver"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_0f28a130","line":330,"range":{"start_line":330,"start_character":8,"end_line":330,"end_character":60},"updated":"2019-04-09 19:56:02.000000000","message":"no thats not how the scheduler works.\nthe schduler doe snot down call to a compute node in order to determin if a host is valid to place a vm on.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":329,"context_line":"       the characteristics required by the flavor that are available"},{"line_number":330,"context_line":"    5. The scheduler sends the placement request to the node, the nodes send"},{"line_number":331,"context_line":"        the metadata to RMD"},{"line_number":332,"context_line":"            a. The CPU pinning requirements and SST-BF specific cores"},{"line_number":333,"context_line":"            frequencies availability are verified by nova virt driver"},{"line_number":334,"context_line":"            if specified as part of the flavor extra-specs"},{"line_number":335,"context_line":"    6. The virt-driver passes down RMD’s “workload policy” ID"},{"line_number":336,"context_line":"        to RMD using RMD’s REST API and waits for RMD’s response"},{"line_number":337,"context_line":"        a. RMD pulls the policy from the well known location"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_4fd78924","line":334,"range":{"start_line":332,"start_character":11,"end_line":334,"end_character":58},"updated":"2019-04-09 19:56:02.000000000","message":"no this coudl be dont by a nova filter or an extention to the numa toplogy filter but this need to be validated without needing to interact with RMD.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":333,"context_line":"            frequencies availability are verified by nova virt driver"},{"line_number":334,"context_line":"            if specified as part of the flavor extra-specs"},{"line_number":335,"context_line":"    6. The virt-driver passes down RMD’s “workload policy” ID"},{"line_number":336,"context_line":"        to RMD using RMD’s REST API and waits for RMD’s response"},{"line_number":337,"context_line":"        a. RMD pulls the policy from the well known location"},{"line_number":338,"context_line":"        b. RMD validates the compatibility of the policy"},{"line_number":339,"context_line":"        c. RMD checks the configuration required for the VM is applicable on"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_0fdd0140","line":336,"range":{"start_line":336,"start_character":27,"end_line":336,"end_character":35},"updated":"2019-04-09 19:56:02.000000000","message":"over what transport. TCP or unix socket.\nthis circeling back to the secuity and auth quetion regarding keystone that was raised previously in the spec.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":338,"context_line":"        b. RMD validates the compatibility of the policy"},{"line_number":339,"context_line":"        c. RMD checks the configuration required for the VM is applicable on"},{"line_number":340,"context_line":"            the node"},{"line_number":341,"context_line":"        d. The failure of this step will revert the node placement as usual"},{"line_number":342,"context_line":"        e. RMD asks the corresponding plugin to apply the required"},{"line_number":343,"context_line":"           configuration"},{"line_number":344,"context_line":"        f. The plugin executes the change in the resource"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_af95cd41","line":341,"range":{"start_line":341,"start_character":11,"end_line":341,"end_character":75},"updated":"2019-04-09 19:56:02.000000000","message":"so we have a few place where we get a late revert like this.\nmainly numa toplogy which we are currently try to move to placment. adding a new feature that depens on the virt driver in the compute agent validating a request before we know if the host is sutable regresses that work and was already rejected as part of the other RMD spec for cache management.\n\nthis late check can be done as a sanity check but it would reqress the schduler work significantly to proceed with this design as is.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    8. Placement API gets updated with the resources used and the new state"},{"line_number":348,"context_line":"        of the node and consumed resources."},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"Dependencies"},{"line_number":351,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"The implementation of this feature depends on the implementation of the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_efae757f","line":350,"range":{"start_line":350,"start_character":0,"end_line":350,"end_character":12},"updated":"2019-04-09 19:56:02.000000000","message":"you need to add 3 depencies\n\nhttps://review.openstack.org/#/c/555081/22/specs/train/approved/cpu-resources.rst\n\nhttps://review.openstack.org/#/c/649882/3/specs/train/approved/separate-vcpu-into-different-priority-pool.rst\n\nhttps://review.openstack.org/#/c/651130/2/specs/train/approved/nova-local-resource-management-that-uses-rmd.rst\n\nall three specs i thnk need to be implemented before this one can be.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":350,"context_line":"Dependencies"},{"line_number":351,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"The implementation of this feature depends on the implementation of the"},{"line_number":354,"context_line":"following RMD API method"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"put workloadPolicyURI(String):bool"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"This method allows nova to talk to RMD and deliver the policy ID for the"},{"line_number":359,"context_line":"workload requested. The boolean return value will indicate if the workload"},{"line_number":360,"context_line":"policy is compatible with the node policy and the result of the"},{"line_number":361,"context_line":"reconfiguration of the platform resource"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"CI process need to be in place for the verification and validation of"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_8fbd71b2","line":361,"range":{"start_line":353,"start_character":0,"end_line":361,"end_character":40},"updated":"2019-04-09 19:56:02.000000000","message":"nova does not generally allow feature to depend on chagne to other project that have not yet been released.\n\nso before this spec can be approve the required RMD feature will need to be implemented and released as part of RMD first.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b53cc35efea2167d6c3c9bccd755211bc07995a","unresolved":false,"context_lines":[{"line_number":385,"context_line":"Flavor creation with extra-specs"},{"line_number":386,"context_line":"Workload shceduling"},{"line_number":387,"context_line":"Policy compatibility verification"},{"line_number":388,"context_line":"Workload late rejection"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_2f079d84","line":388,"range":{"start_line":388,"start_character":1,"end_line":388,"end_character":23},"updated":"2019-04-09 19:56:02.000000000","message":"this is an anit patteren an only happens today due to the fact we dont claim pci and nuna resouces in teh condocutor/schduler.\n\ni hope we can fix that in this cycle so  i also hope we dont add more instance of this patteren.","commit_id":"5fef2402bb14635adef28aee3fd3956d9b4007d3"}]}
