)]}'
{"specs/train/approved/rsd-virt-for-nova-implementation.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","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"},{"line_number":8,"context_line":"Nova virt-driver for RSD"},{"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Blueprint"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_0d54f1fd","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":24},"updated":"2019-03-29 12:41:05.000000000","message":"note this is only needed if you want to bring the virt driver intree.\n\nit is still good to get feedback from the nava team if you want to keep it out of tree but a spec is not required.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","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"},{"line_number":8,"context_line":"Nova virt-driver for RSD"},{"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Blueprint"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_615d7eeb","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":24},"in_reply_to":"5fc1f717_0d54f1fd","updated":"2019-04-03 14:27:18.000000000","message":"We will aim to get in tree eventually so I thought it was no harm for writing this up, even if its not for this release.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"     |   Hypervisor   +----------------------+  Chassis  |"},{"line_number":45,"context_line":"     |                |                      |           |"},{"line_number":46,"context_line":"     +----------------+                      +-----------+"},{"line_number":47,"context_line":"             ^                                     ^"},{"line_number":48,"context_line":"             |                                     |"},{"line_number":49,"context_line":"             |                                     |"},{"line_number":50,"context_line":"             |                                     |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_896428e7","line":47,"range":{"start_line":47,"start_character":51,"end_line":47,"end_character":52},"updated":"2019-04-02 08:38:32.000000000","message":"Unclear what each type of arrow means in this diagram. Adding some multiplicity labels will likely help too.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"f87d24bedfb2acf544162313cd74fcac90e99038","unresolved":false,"context_lines":[{"line_number":44,"context_line":"     |   Hypervisor   +----------------------+  Chassis  |"},{"line_number":45,"context_line":"     |                |                      |           |"},{"line_number":46,"context_line":"     +----------------+                      +-----------+"},{"line_number":47,"context_line":"             ^                                     ^"},{"line_number":48,"context_line":"             |                                     |"},{"line_number":49,"context_line":"             |                                     |"},{"line_number":50,"context_line":"             |                                     |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_eb97cd44","line":47,"range":{"start_line":47,"start_character":51,"end_line":47,"end_character":52},"in_reply_to":"5fc1f717_04d57f43","updated":"2019-04-03 01:05:39.000000000","message":"Yeah full UML is too much here. Just clarifying the containment multiplicities and clearly separating inheritance from association would be enough (I\u0027m specifically looking at that Composed Node to Instance vs. all other pointed arrows).","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":44,"context_line":"     |   Hypervisor   +----------------------+  Chassis  |"},{"line_number":45,"context_line":"     |                |                      |           |"},{"line_number":46,"context_line":"     +----------------+                      +-----------+"},{"line_number":47,"context_line":"             ^                                     ^"},{"line_number":48,"context_line":"             |                                     |"},{"line_number":49,"context_line":"             |                                     |"},{"line_number":50,"context_line":"             |                                     |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_04d57f43","line":47,"range":{"start_line":47,"start_character":51,"end_line":47,"end_character":52},"in_reply_to":"5fc1f717_896428e7","updated":"2019-04-02 09:50:09.000000000","message":"i read this arrow and the one to the left as contains.\n\nso each chassis contains 0+ RSD Compute nodes \n\nsimilarly each hyperviors contained 0+ instances\n\neach composed not is a type of instance and there is a 1:1 correspondence between composed nodes and RSD Compute nodes\nsimilary there is a 1:1 correspondence between hyperviorus and chassis.\n\nbut perhaps its worth actually using the correct UML notation for this however that can be hard to do sometime with ASCII\nand i think the ASCII doc is nicer to have the full UML compliance","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":44,"context_line":"     |   Hypervisor   +----------------------+  Chassis  |"},{"line_number":45,"context_line":"     |                |                      |           |"},{"line_number":46,"context_line":"     +----------------+                      +-----------+"},{"line_number":47,"context_line":"             ^                                     ^"},{"line_number":48,"context_line":"             |                                     |"},{"line_number":49,"context_line":"             |                                     |"},{"line_number":50,"context_line":"             |                                     |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e2c84722","line":47,"range":{"start_line":47,"start_character":51,"end_line":47,"end_character":52},"in_reply_to":"5fc1f717_eb97cd44","updated":"2019-04-03 14:27:18.000000000","message":"OK will do thanks!","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Use Cases"},{"line_number":67,"context_line":"---------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Deploying and managing an RSD deployment as your undercloud for an openstack"},{"line_number":70,"context_line":"  deployment."},{"line_number":71,"context_line":"* Enabling the booting of compute instances that are composed nodes."},{"line_number":72,"context_line":"* Providing the ability to create workloads on composable infrastructure"},{"line_number":73,"context_line":"  directly as a self service compute resource via nova."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c9a7900b","line":70,"range":{"start_line":69,"start_character":66,"end_line":70,"end_character":13},"updated":"2019-04-02 08:38:32.000000000","message":"Clarify that this is for a second OpenStack deployment?","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Use Cases"},{"line_number":67,"context_line":"---------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Deploying and managing an RSD deployment as your undercloud for an openstack"},{"line_number":70,"context_line":"  deployment."},{"line_number":71,"context_line":"* Enabling the booting of compute instances that are composed nodes."},{"line_number":72,"context_line":"* Providing the ability to create workloads on composable infrastructure"},{"line_number":73,"context_line":"  directly as a self service compute resource via nova."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c22f4ba5","line":70,"range":{"start_line":69,"start_character":66,"end_line":70,"end_character":13},"in_reply_to":"5fc1f717_4b82a102","updated":"2019-04-03 14:27:18.000000000","message":"Ya this is for the use case where your OpenStack deployment is managing your RSD deployment not for the other use case yet. But I can try and be clearer","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"f87d24bedfb2acf544162313cd74fcac90e99038","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Use Cases"},{"line_number":67,"context_line":"---------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Deploying and managing an RSD deployment as your undercloud for an openstack"},{"line_number":70,"context_line":"  deployment."},{"line_number":71,"context_line":"* Enabling the booting of compute instances that are composed nodes."},{"line_number":72,"context_line":"* Providing the ability to create workloads on composable infrastructure"},{"line_number":73,"context_line":"  directly as a self service compute resource via nova."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_4b82a102","line":70,"range":{"start_line":69,"start_character":66,"end_line":70,"end_character":13},"in_reply_to":"5fc1f717_6448032e","updated":"2019-04-03 01:05:39.000000000","message":"Right, this is one of the use cases I remember from the team. Clarifying this in the spec for non-familiar people will definitely help.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Use Cases"},{"line_number":67,"context_line":"---------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Deploying and managing an RSD deployment as your undercloud for an openstack"},{"line_number":70,"context_line":"  deployment."},{"line_number":71,"context_line":"* Enabling the booting of compute instances that are composed nodes."},{"line_number":72,"context_line":"* Providing the ability to create workloads on composable infrastructure"},{"line_number":73,"context_line":"  directly as a self service compute resource via nova."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_6448032e","line":70,"range":{"start_line":69,"start_character":66,"end_line":70,"end_character":13},"in_reply_to":"5fc1f717_c9a7900b","updated":"2019-04-02 09:50:09.000000000","message":"i did not read it that way.\n\ni read this as you have one openstack deployment that uses\na independet RSD deployment as hyperviorus for the openstack deployment.\n\nso you have two parallel software stacks.\nRSD providing a hardware hypervisors and openstack\nproviding a cloud IaaS platform.\n\nwas your query based on the term undercloud which typically is terminology associated with tripleo where you do have multiple openstacks.\n\nyou could do the same think with rsd but there is nothing that requires you do. even if you were to create a kvm project that used baremetal compopsed nodes to install nova compute services you could simple add them to the same cloud to provide vitualised nodes without needing to have the same under and over cloud split that tripleo uses.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"* Enabling the booting of compute instances that are composed nodes."},{"line_number":72,"context_line":"* Providing the ability to create workloads on composable infrastructure"},{"line_number":73,"context_line":"  directly as a self service compute resource via nova."},{"line_number":74,"context_line":"* Managing the lifecycle of composable resouces using standard nova APIs."},{"line_number":75,"context_line":"* Providing the flexibility to dynamically compose hardware to meet the need of"},{"line_number":76,"context_line":"  the cloud workload."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_69ac5cee","line":74,"range":{"start_line":74,"start_character":39,"end_line":74,"end_character":47},"updated":"2019-04-02 08:38:32.000000000","message":"resources","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":71,"context_line":"* Enabling the booting of compute instances that are composed nodes."},{"line_number":72,"context_line":"* Providing the ability to create workloads on composable infrastructure"},{"line_number":73,"context_line":"  directly as a self service compute resource via nova."},{"line_number":74,"context_line":"* Managing the lifecycle of composable resouces using standard nova APIs."},{"line_number":75,"context_line":"* Providing the flexibility to dynamically compose hardware to meet the need of"},{"line_number":76,"context_line":"  the cloud workload."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_3d6bd21f","line":74,"range":{"start_line":74,"start_character":39,"end_line":74,"end_character":47},"in_reply_to":"5fc1f717_69ac5cee","updated":"2019-04-03 14:27:18.000000000","message":"Done","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    https://github.com/openstack/rsd-lib"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"It allows API calls to be made to RSD redfish endpoints. Specifically, it"},{"line_number":115,"context_line":"establishes a connection to the PODM(POD Manager) which manages all of the"},{"line_number":116,"context_line":"available resources in your deployment. Once connection is established, then"},{"line_number":117,"context_line":"REST calls can be made to manage the deployment."},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_298f3476","line":115,"range":{"start_line":115,"start_character":36,"end_line":115,"end_character":37},"updated":"2019-04-02 08:38:32.000000000","message":"space","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    https://github.com/openstack/rsd-lib"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"It allows API calls to be made to RSD redfish endpoints. Specifically, it"},{"line_number":115,"context_line":"establishes a connection to the PODM(POD Manager) which manages all of the"},{"line_number":116,"context_line":"available resources in your deployment. Once connection is established, then"},{"line_number":117,"context_line":"REST calls can be made to manage the deployment."},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_bd1262b3","line":115,"range":{"start_line":115,"start_character":36,"end_line":115,"end_character":37},"in_reply_to":"5fc1f717_298f3476","updated":"2019-04-03 14:27:18.000000000","message":"Done","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"init_host() + get_available_resources()"},{"line_number":151,"context_line":"---------------------------------------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"When the n-cpu service starts up rsd-lib estabilishes the connection between"},{"line_number":154,"context_line":"RSD and OpenStack deployments. It also checks all of the available resources"},{"line_number":155,"context_line":"in the RSD deployment and presents them to Nova."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_49e1602a","line":153,"range":{"start_line":153,"start_character":0,"end_line":153,"end_character":76},"updated":"2019-04-02 08:38:32.000000000","message":"Do you mean rsd-lib establishes the connection or that n-cpu starts up rsd-lib?","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"init_host() + get_available_resources()"},{"line_number":151,"context_line":"---------------------------------------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"When the n-cpu service starts up rsd-lib estabilishes the connection between"},{"line_number":154,"context_line":"RSD and OpenStack deployments. It also checks all of the available resources"},{"line_number":155,"context_line":"in the RSD deployment and presents them to Nova."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a9f004ff","line":153,"range":{"start_line":153,"start_character":41,"end_line":153,"end_character":53},"updated":"2019-04-02 08:38:32.000000000","message":"establishes","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"f87d24bedfb2acf544162313cd74fcac90e99038","unresolved":false,"context_lines":[{"line_number":150,"context_line":"init_host() + get_available_resources()"},{"line_number":151,"context_line":"---------------------------------------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"When the n-cpu service starts up rsd-lib estabilishes the connection between"},{"line_number":154,"context_line":"RSD and OpenStack deployments. It also checks all of the available resources"},{"line_number":155,"context_line":"in the RSD deployment and presents them to Nova."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_cb753134","line":153,"range":{"start_line":153,"start_character":0,"end_line":153,"end_character":76},"in_reply_to":"5fc1f717_1f0ce939","updated":"2019-04-03 01:05:39.000000000","message":"That comma makes it clear for me :)","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":150,"context_line":"init_host() + get_available_resources()"},{"line_number":151,"context_line":"---------------------------------------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"When the n-cpu service starts up rsd-lib estabilishes the connection between"},{"line_number":154,"context_line":"RSD and OpenStack deployments. It also checks all of the available resources"},{"line_number":155,"context_line":"in the RSD deployment and presents them to Nova."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_841c0f14","line":153,"range":{"start_line":153,"start_character":0,"end_line":153,"end_character":76},"in_reply_to":"5fc1f717_49e1602a","updated":"2019-04-02 09:50:09.000000000","message":"well rsd-lib does not have somthign to start up.\n\ni think helena ment that the nova compute agent uses rsd-lib to create a connection the the PODM/RSD rest api.\n\nas the current proposal states somewhare else that polling will be used intially to monitor RSD fo rnew hyperviors i assume what will actully happen is on startup the RSD virt driver will construct an instance of a RSD client object that will be reused over the life time of the compute agent rather then actrully opening and persiting a tcp connection to RSD.\n\nthat said it would be good to clarify.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":25497,"name":"Thaynara Silva","email":"thaynara.nascimento.da.silva@intel.com","username":"thaysilva"},"change_message_id":"71087ba70df0ef0cb154851ff32a8e20aec0510c","unresolved":false,"context_lines":[{"line_number":150,"context_line":"init_host() + get_available_resources()"},{"line_number":151,"context_line":"---------------------------------------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"When the n-cpu service starts up rsd-lib estabilishes the connection between"},{"line_number":154,"context_line":"RSD and OpenStack deployments. It also checks all of the available resources"},{"line_number":155,"context_line":"in the RSD deployment and presents them to Nova."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_1f0ce939","line":153,"range":{"start_line":153,"start_character":0,"end_line":153,"end_character":76},"in_reply_to":"5fc1f717_841c0f14","updated":"2019-04-02 10:47:29.000000000","message":"Maybe if a comma is added after n-cpu would make more sense?\nwhat I take from that sentence is \"When the n-cpu service starts up, rsd-lib establishes the connection\"","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":150,"context_line":"init_host() + get_available_resources()"},{"line_number":151,"context_line":"---------------------------------------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"When the n-cpu service starts up rsd-lib estabilishes the connection between"},{"line_number":154,"context_line":"RSD and OpenStack deployments. It also checks all of the available resources"},{"line_number":155,"context_line":"in the RSD deployment and presents them to Nova."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a23c7fe1","line":153,"range":{"start_line":153,"start_character":0,"end_line":153,"end_character":76},"in_reply_to":"5fc1f717_cb753134","updated":"2019-04-03 14:27:18.000000000","message":"Will add a comma","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"The following processes occur after connection is established:"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"* All available composable compute systems are ``Allocated`` and ``Assembled``"},{"line_number":160,"context_line":"  into composed nodes. These nodes are then powered off to ensure they are not"},{"line_number":161,"context_line":"  consuming power."},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_8db54135","line":159,"range":{"start_line":159,"start_character":61,"end_line":159,"end_character":78},"updated":"2019-03-29 12:41:05.000000000","message":"correct me if i am wrong but i recalled that the assembly was not done until the composed not was consumed to allow for the \naddtion of remote hardware devices such as\nNVMeoF or FPGA or PCIe fabric devices. \n\nis that not the case or will \"hotplug\" be used to attach remote devices to the assemebled nodes if required when the composnded it assigned to an instance during spwan.\n\nby the way if remote deivces via cinder/cyborg is currently out of scope that is totally ok too just wanted to clarify if my understanding was still correct.\n\n\nattach/detach interface/volume/device functionality would be toally resonable to declare out of scope initally and could be added in the future.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"The following processes occur after connection is established:"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"* All available composable compute systems are ``Allocated`` and ``Assembled``"},{"line_number":160,"context_line":"  into composed nodes. These nodes are then powered off to ensure they are not"},{"line_number":161,"context_line":"  consuming power."},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_fde46a3e","line":159,"range":{"start_line":159,"start_character":61,"end_line":159,"end_character":78},"in_reply_to":"5fc1f717_8db54135","updated":"2019-04-03 14:27:18.000000000","message":"So the cinder/cyborg work is the way we are going to go about this, but for the sake of this driver it hasn\u0027t been implemented yet. So yes it is out of scope for now.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"      /redfish/v1/Nodes/1"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* As described above for each of the composable systems an RSD specific flavor"},{"line_number":168,"context_line":"  is created."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* If a Chassis contains composable systems a hypervisor is created for that"},{"line_number":171,"context_line":"  Chassis."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_49fde0af","line":168,"range":{"start_line":167,"start_character":0,"end_line":168,"end_character":13},"updated":"2019-04-02 08:38:32.000000000","message":"1 ComposedNode \u003d 1 flavor?","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"      /redfish/v1/Nodes/1"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* As described above for each of the composable systems an RSD specific flavor"},{"line_number":168,"context_line":"  is created."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* If a Chassis contains composable systems a hypervisor is created for that"},{"line_number":171,"context_line":"  Chassis."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c4df7738","line":168,"range":{"start_line":167,"start_character":0,"end_line":168,"end_character":13},"in_reply_to":"5fc1f717_49fde0af","updated":"2019-04-02 09:50:09.000000000","message":"unless i missread this section it 1 type of compose node \u003d 1 flavor\n\n1 composed node \u003d 1 flaovr would be an abuse of the flavor mechanisum and totally unscalable to the 10,000+ compose node goals of rsd.\n\nwhat define a composed node type i think is up to the virt driver in some repect but i woudl expect it to be effectivly defined by the ram, cpu and local disk.\n\nso one compose node type might be all composed nodes with 64GB of ram 16 cpus and 100TB local disk\n\nall composed nodes that match that profile would map to that flavor.\n\nthe virt dirvr would however be free to create a second flavor with the same amount of cpu ram and disk but\nuse traits to differencate the composed nodes that have nvme based storage vs spinning rust or to indicate this composed not type has an cpu with an intergrated fpga.\n\nso while the cpu ram and disk is proably a good starting point im sure you will want to this be more complex as more for RSDs capablities are exposed.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"      /redfish/v1/Nodes/1"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* As described above for each of the composable systems an RSD specific flavor"},{"line_number":168,"context_line":"  is created."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* If a Chassis contains composable systems a hypervisor is created for that"},{"line_number":171,"context_line":"  Chassis."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_5d357eda","line":168,"range":{"start_line":167,"start_character":0,"end_line":168,"end_character":13},"in_reply_to":"5fc1f717_8b8de92b","updated":"2019-04-03 14:27:18.000000000","message":"Yes, but it won\u0027t create duplicates either, so if the capacity of nodes are the same, the same flavor can be used twice","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"f87d24bedfb2acf544162313cd74fcac90e99038","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"      /redfish/v1/Nodes/1"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* As described above for each of the composable systems an RSD specific flavor"},{"line_number":168,"context_line":"  is created."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* If a Chassis contains composable systems a hypervisor is created for that"},{"line_number":171,"context_line":"  Chassis."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_8b8de92b","line":168,"range":{"start_line":167,"start_character":0,"end_line":168,"end_character":13},"in_reply_to":"5fc1f717_c4df7738","updated":"2019-04-03 01:05:39.000000000","message":"+1","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":167,"context_line":"* As described above for each of the composable systems an RSD specific flavor"},{"line_number":168,"context_line":"  is created."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* If a Chassis contains composable systems a hypervisor is created for that"},{"line_number":171,"context_line":"  Chassis."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"* For each of the Chassis hypervisors, an RP is created for that compute node."},{"line_number":174,"context_line":"  Then its child RPs are created for each of the systems contained within that"},{"line_number":175,"context_line":"  Chassis."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"The init_host function defines the ``hypervisor`` that will be created to"},{"line_number":178,"context_line":"manage the composable resources. These hypervisors allow you to boot the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_4d81994d","line":175,"range":{"start_line":170,"start_character":0,"end_line":175,"end_character":10},"updated":"2019-03-29 12:41:05.000000000","message":"im happy to see this is still the planned direction :)","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":206,"context_line":"update_provider_tree()"},{"line_number":207,"context_line":"----------------------"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"To track the physical resources through placement, a parent resource"},{"line_number":210,"context_line":"provider(RP) is created for each of the Chassis which contain composable"},{"line_number":211,"context_line":"systems. Each of these parents then have associated children RPs that reflect"},{"line_number":212,"context_line":"the entire composable compute systems, e.g.:"},{"line_number":213,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c9df9038","line":210,"range":{"start_line":209,"start_character":60,"end_line":210,"end_character":12},"updated":"2019-04-02 08:38:32.000000000","message":"Definition of RP should come before/at line 173.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":206,"context_line":"update_provider_tree()"},{"line_number":207,"context_line":"----------------------"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"To track the physical resources through placement, a parent resource"},{"line_number":210,"context_line":"provider(RP) is created for each of the Chassis which contain composable"},{"line_number":211,"context_line":"systems. Each of these parents then have associated children RPs that reflect"},{"line_number":212,"context_line":"the entire composable compute systems, e.g.:"},{"line_number":213,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_5dbfbefb","line":210,"range":{"start_line":209,"start_character":60,"end_line":210,"end_character":12},"in_reply_to":"5fc1f717_c9df9038","updated":"2019-04-03 14:27:18.000000000","message":"Done","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":206,"context_line":"update_provider_tree()"},{"line_number":207,"context_line":"----------------------"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"To track the physical resources through placement, a parent resource"},{"line_number":210,"context_line":"provider(RP) is created for each of the Chassis which contain composable"},{"line_number":211,"context_line":"systems. Each of these parents then have associated children RPs that reflect"},{"line_number":212,"context_line":"the entire composable compute systems, e.g.:"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"  ::"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_6d07b5cb","line":212,"range":{"start_line":209,"start_character":0,"end_line":212,"end_character":44},"updated":"2019-03-29 12:41:05.000000000","message":"this sound resonable however i have one question\n\nwill the chassis RP ever provide resouces directly.\n\nfor me i think it might in the future make sense for a chassis of composable hardware to resouce provider or power or cooling but if they will only provide child resouce providers of composable nodes i have an alternitve suggstion that you might want to consider.\n\ninstead of using a parent RP for the chassis you could flaten the model 1 level. create RP for each composable node and use a placement aggreate to modle things like\nchassies, shevles, racks, vPods ectra instead of embedding that info in the tree structure.\n\n\nwith all that said i think this will work fine but just want to undersand the useage model.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    | e9e1bddc-3fef-420b-a5b3-60df50d1bccc | /redfish/v1/Systems/1-s-1       |          1 |"},{"line_number":221,"context_line":"    +--------------------------------------+---------------------------------+------------+"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"In terms of how the resources are tracked using these RPs. Like the hypervisors"},{"line_number":224,"context_line":"the parent RP, at the Chassis level, will track the combined ``VCPU`` and"},{"line_number":225,"context_line":"``MEMORY_MB`` information about all of the systems contained within that"},{"line_number":226,"context_line":"Chassis."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"  ::"},{"line_number":229,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_ad159de7","line":226,"range":{"start_line":223,"start_character":0,"end_line":226,"end_character":8},"updated":"2019-03-29 12:41:05.000000000","message":"this partly answers my previous question but it raises another. will compose nodes within a chassibe be able to share cpus and ram at the time they are assembeled.\n\nif not then i think this is inverted the the vcpu and memoy_mb inventories should proably be modeled on the compoed RP and the chassis shoudl have an inventory of composed nodes.\n\nif the ram and vcpus are shareable within a chassis then the current model should be fine.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    | e9e1bddc-3fef-420b-a5b3-60df50d1bccc | /redfish/v1/Systems/1-s-1       |          1 |"},{"line_number":221,"context_line":"    +--------------------------------------+---------------------------------+------------+"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"In terms of how the resources are tracked using these RPs. Like the hypervisors"},{"line_number":224,"context_line":"the parent RP, at the Chassis level, will track the combined ``VCPU`` and"},{"line_number":225,"context_line":"``MEMORY_MB`` information about all of the systems contained within that"},{"line_number":226,"context_line":"Chassis."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"  ::"},{"line_number":229,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_1d713645","line":226,"range":{"start_line":223,"start_character":0,"end_line":226,"end_character":8},"in_reply_to":"5fc1f717_ad159de7","updated":"2019-04-03 14:27:18.000000000","message":"Ok, thanks for this input Sean I think I might have to look into this one a bit more and get back to you on it. I see what you are saying though","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":328,"context_line":"    | volumes_attached                    |                                                                 |"},{"line_number":329,"context_line":"    +-------------------------------------+-----------------------------------------------------------------+"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"In terms of the events that have occured to the composed node through the PODM,"},{"line_number":332,"context_line":"the specified composed node has been powered on."},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"power_off()"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_2975f432","line":331,"range":{"start_line":331,"start_character":33,"end_line":331,"end_character":40},"updated":"2019-04-02 08:38:32.000000000","message":"occurred","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":328,"context_line":"    | volumes_attached                    |                                                                 |"},{"line_number":329,"context_line":"    +-------------------------------------+-----------------------------------------------------------------+"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"In terms of the events that have occured to the composed node through the PODM,"},{"line_number":332,"context_line":"the specified composed node has been powered on."},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"power_off()"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_5d66de57","line":331,"range":{"start_line":331,"start_character":33,"end_line":331,"end_character":40},"in_reply_to":"5fc1f717_2975f432","updated":"2019-04-03 14:27:18.000000000","message":"Done","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    ::"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"      node_inst.reset_node(\u0027graceful shutdown\u0027)"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"power_on()"},{"line_number":354,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_49c0802b","line":351,"range":{"start_line":351,"start_character":0,"end_line":351,"end_character":47},"updated":"2019-04-02 08:38:32.000000000","message":"You could add a reference to https://www.intel.com/content/www/us/en/architecture-and-technology/rack-scale-design/psme-api-spec-v2-3.html specifically and mention page 146 where these reset actions are defined, for anyone who\u0027s curious.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    ::"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"      node_inst.reset_node(\u0027graceful shutdown\u0027)"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"power_on()"},{"line_number":354,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_5dfd7e39","line":351,"range":{"start_line":351,"start_character":0,"end_line":351,"end_character":47},"in_reply_to":"5fc1f717_042edff9","updated":"2019-04-03 14:27:18.000000000","message":"Ok I will include a proper references section for a few different things.\nYa the system is the physical device that actually gets powered on/off the node is how the podm sees it when it is actually composed.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    ::"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"      node_inst.reset_node(\u0027graceful shutdown\u0027)"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"power_on()"},{"line_number":354,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_042edff9","line":351,"range":{"start_line":351,"start_character":0,"end_line":351,"end_character":47},"in_reply_to":"5fc1f717_49c0802b","updated":"2019-04-02 09:50:09.000000000","message":"i would proably add it to the references section at the bottom and just have a link to that here e.g. [1] or whatever the rst syntax for that is. but ya it never hurts to add that.\n\nit always kind of bugged me that this was in the psme spec and not in the podm spec even though in this case the podm is just proxing the call to the psme that contols the composed node.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":"* Although the node is now deleted, we want to be able to re-use the flavor,"},{"line_number":411,"context_line":"  resource and hypervisor information used to boot the initial node. To do this"},{"line_number":412,"context_line":"  a new node has to be created and powered on in your RSD deployment."},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    ::"},{"line_number":415,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_09091894","line":412,"range":{"start_line":412,"start_character":64,"end_line":412,"end_character":69},"updated":"2019-04-02 08:38:32.000000000","message":"This all happens automatically under the hood right?\nIf so, what happens when user tries to create an instance again but the now-disassembled node hasn\u0027t been assembled yet?","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":"* Although the node is now deleted, we want to be able to re-use the flavor,"},{"line_number":411,"context_line":"  resource and hypervisor information used to boot the initial node. To do this"},{"line_number":412,"context_line":"  a new node has to be created and powered on in your RSD deployment."},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    ::"},{"line_number":415,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_7db63a8d","line":412,"range":{"start_line":412,"start_character":64,"end_line":412,"end_character":69},"in_reply_to":"5fc1f717_04657f45","updated":"2019-04-03 14:27:18.000000000","message":"Actually what happens is, when the initial node is destroyed and so that the flavor can be used again, as part of the destroy() function the node is destroyed and a new node is assembled again in its place based on the the available compute system","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":"* Although the node is now deleted, we want to be able to re-use the flavor,"},{"line_number":411,"context_line":"  resource and hypervisor information used to boot the initial node. To do this"},{"line_number":412,"context_line":"  a new node has to be created and powered on in your RSD deployment."},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    ::"},{"line_number":415,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_04657f45","line":412,"range":{"start_line":412,"start_character":64,"end_line":412,"end_character":69},"in_reply_to":"5fc1f717_09091894","updated":"2019-04-02 09:50:09.000000000","message":"presuably there will be a short interval while the node it repovisioned into a usable state where it wont be availabel for scheduling as there is in ironic when a node is being cleaned after use. in a cloud environment this should never really be an issue assuming your are not near full capasity.\n\nif all available composed nodes are in use or repovisioning this will resulted in a 400? \"no vaild host\" error for the instance boot request which while transient was true. so if the user tries the same requst 5? 10? mins later (however long it takse rsd to clean the node) it should be possible to schedule to the composed node again.\n\ni dont think this would be any different form a callers point of view as any other time an instance fails to boot due to cloud capasity issues.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":420,"context_line":"* Now there is always a composed node associated with a specified flavor which"},{"line_number":421,"context_line":"  can be used to boot an instance."},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"Additional Functionality: Flavor Auto-generation"},{"line_number":424,"context_line":"------------------------------------------------"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"A flavor is required to boot an instance from, to boot a composed node instance"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_ed77253b","line":423,"range":{"start_line":423,"start_character":0,"end_line":423,"end_character":48},"updated":"2019-03-29 12:41:05.000000000","message":"this is quite useful for testing and in some other usecase\nsuch as where flavors are slected automaticaly via tooling.\n\nthere probably should be a config option to control this.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":420,"context_line":"* Now there is always a composed node associated with a specified flavor which"},{"line_number":421,"context_line":"  can be used to boot an instance."},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"Additional Functionality: Flavor Auto-generation"},{"line_number":424,"context_line":"------------------------------------------------"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"A flavor is required to boot an instance from, to boot a composed node instance"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_9db9a67a","line":423,"range":{"start_line":423,"start_character":0,"end_line":423,"end_character":48},"in_reply_to":"5fc1f717_ed77253b","updated":"2019-04-03 14:27:18.000000000","message":"Ok I will look into making this a config option","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":448,"context_line":"    | vcpus                      | 28                                    |"},{"line_number":449,"context_line":"    +----------------------------+---------------------------------------+"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"The ``properties`` parameter defines the custom resource as an ``extra_specs``"},{"line_number":452,"context_line":"that is consumed from placement and the system RP when the specified composed"},{"line_number":453,"context_line":"node is booted."},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"The current implementation of this feature enables a flavor to be auto-created"},{"line_number":456,"context_line":"for each composable system available. However it also prevents duplicate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_cd3b4937","line":453,"range":{"start_line":451,"start_character":0,"end_line":453,"end_character":15},"updated":"2019-03-29 12:41:05.000000000","message":"this makes sense but i just want to point out that operators might want to add addtional flavor extra specs so in the flavor generation logic you need to test that the flaovr\n\ncontains the CUSTOM_523775MB_28VCPUS\u003d\u00271 request and not assert the the properties is only that value.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":448,"context_line":"    | vcpus                      | 28                                    |"},{"line_number":449,"context_line":"    +----------------------------+---------------------------------------+"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"The ``properties`` parameter defines the custom resource as an ``extra_specs``"},{"line_number":452,"context_line":"that is consumed from placement and the system RP when the specified composed"},{"line_number":453,"context_line":"node is booted."},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"The current implementation of this feature enables a flavor to be auto-created"},{"line_number":456,"context_line":"for each composable system available. However it also prevents duplicate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_b84b505d","line":453,"range":{"start_line":451,"start_character":0,"end_line":453,"end_character":15},"in_reply_to":"5fc1f717_cd3b4937","updated":"2019-04-03 14:27:18.000000000","message":"ok, I\u0027ll double check for that","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":452,"context_line":"that is consumed from placement and the system RP when the specified composed"},{"line_number":453,"context_line":"node is booted."},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"The current implementation of this feature enables a flavor to be auto-created"},{"line_number":456,"context_line":"for each composable system available. However it also prevents duplicate"},{"line_number":457,"context_line":"flavors being created if multiple systems of the same capacity are available."},{"line_number":458,"context_line":"In addition to this, if a system is removed from a Chassis and is no longer"},{"line_number":459,"context_line":"available, its associated flavor is removed."},{"line_number":460,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_6d081591","line":457,"range":{"start_line":455,"start_character":0,"end_line":457,"end_character":77},"updated":"2019-03-29 12:41:05.000000000","message":"so the way it currently works is for every \"type\" of composed node, where type refers to a specific combinaiton of cpus and ram a new flavor is created.\n\nso if you have 100 identical composed node you get 1 flavor but if you have 4 compose nodes each with a different aboumnt of ram you get 4 flavors.\n\nthis makes sense but operator may which to manually create the flaovr the expose to end users and just use the auto generaged onese as a reference.\n\nit might be worth considing allowign the auto generated flavors to be created as private flavors. for example you could add a config option to specifiy which project to create to provide the flavor acess too e.g. only to an admin project.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":452,"context_line":"that is consumed from placement and the system RP when the specified composed"},{"line_number":453,"context_line":"node is booted."},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"The current implementation of this feature enables a flavor to be auto-created"},{"line_number":456,"context_line":"for each composable system available. However it also prevents duplicate"},{"line_number":457,"context_line":"flavors being created if multiple systems of the same capacity are available."},{"line_number":458,"context_line":"In addition to this, if a system is removed from a Chassis and is no longer"},{"line_number":459,"context_line":"available, its associated flavor is removed."},{"line_number":460,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_645d6347","line":457,"range":{"start_line":455,"start_character":0,"end_line":457,"end_character":77},"in_reply_to":"5fc1f717_4943a0b0","updated":"2019-04-02 09:50:09.000000000","message":"no i am say my reading of the spec is that ther is not a 1:1 mapping between flavor and composed node.\n\nwe woudl have  a 1/100 or  4/4 mapping based on teh 2 senarios i covered above.\n\nthe current public version of the rsd virt dirver unfortunetly appears to create 1 flavor per composed node but i belive that was a result of limitaiton that were encountered with placement at the time helena tried to to implement it rathter then a design choice.\n\ni have obviously been out of the loop for 9 months or so but when i advocated for the creation of this driver initially and when i disscued it at the ptg in the past it was always framed from the view point of 1 flavor per type of composed node so that and RSD powered openstack cloud and a kvm porwered opentack cloud felt and operated exactly the same form a teant perspcitve. \n\nif the kvm could exposed 5 flavors and the RSD cloud exposed 5000 that would not feel the same and i think we can draw on ironic as an example of the fact that even for baremetal you can generally use flavor to descibe classes of hardawre.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":452,"context_line":"that is consumed from placement and the system RP when the specified composed"},{"line_number":453,"context_line":"node is booted."},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"The current implementation of this feature enables a flavor to be auto-created"},{"line_number":456,"context_line":"for each composable system available. However it also prevents duplicate"},{"line_number":457,"context_line":"flavors being created if multiple systems of the same capacity are available."},{"line_number":458,"context_line":"In addition to this, if a system is removed from a Chassis and is no longer"},{"line_number":459,"context_line":"available, its associated flavor is removed."},{"line_number":460,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_9885340a","line":457,"range":{"start_line":455,"start_character":0,"end_line":457,"end_character":77},"in_reply_to":"5fc1f717_645d6347","updated":"2019-04-03 14:27:18.000000000","message":"Ya so it is a 1:1 mapping for composed node to flavor, however if there are multiple composed nodes with the same capacity the same flavor can be used multiple times. So there shouldn\u0027t be any duplicate flavors. I am not sure if this answers all of your questions","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":452,"context_line":"that is consumed from placement and the system RP when the specified composed"},{"line_number":453,"context_line":"node is booted."},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"The current implementation of this feature enables a flavor to be auto-created"},{"line_number":456,"context_line":"for each composable system available. However it also prevents duplicate"},{"line_number":457,"context_line":"flavors being created if multiple systems of the same capacity are available."},{"line_number":458,"context_line":"In addition to this, if a system is removed from a Chassis and is no longer"},{"line_number":459,"context_line":"available, its associated flavor is removed."},{"line_number":460,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_4943a0b0","line":457,"range":{"start_line":455,"start_character":0,"end_line":457,"end_character":77},"in_reply_to":"5fc1f717_6d081591","updated":"2019-04-02 08:38:32.000000000","message":"Are you saying this is the way it currently works in nova, or in the spec, or suggesting to do that way (1/100, 4/4)?\nFrom what I read it\u0027s exactly 1 flavor per ComposedNode. I do like the approach of having a single flavor per \"type\" of ComposedNode.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":455,"context_line":"The current implementation of this feature enables a flavor to be auto-created"},{"line_number":456,"context_line":"for each composable system available. However it also prevents duplicate"},{"line_number":457,"context_line":"flavors being created if multiple systems of the same capacity are available."},{"line_number":458,"context_line":"In addition to this, if a system is removed from a Chassis and is no longer"},{"line_number":459,"context_line":"available, its associated flavor is removed."},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"  ::"},{"line_number":462,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_4db519d0","line":459,"range":{"start_line":458,"start_character":0,"end_line":459,"end_character":44},"updated":"2019-03-29 12:41:05.000000000","message":"this may not be ideal. its useful but should have a config option to control","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":455,"context_line":"The current implementation of this feature enables a flavor to be auto-created"},{"line_number":456,"context_line":"for each composable system available. However it also prevents duplicate"},{"line_number":457,"context_line":"flavors being created if multiple systems of the same capacity are available."},{"line_number":458,"context_line":"In addition to this, if a system is removed from a Chassis and is no longer"},{"line_number":459,"context_line":"available, its associated flavor is removed."},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"  ::"},{"line_number":462,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_989a1460","line":459,"range":{"start_line":458,"start_character":0,"end_line":459,"end_character":44},"in_reply_to":"5fc1f717_4db519d0","updated":"2019-04-03 14:27:18.000000000","message":"Ok going by what you are saying I may make all of the flavor stuff configurable","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":"https://www.intel.com/content/dam/www/public/us/en/documents/guides/rsd-openstack-implementation-guide.pdf"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"An RSD client was also created to carry out all of the commands to manage the"},{"line_number":476,"context_line":"RSD deployment and its composed nodes."},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"https://github.com/openstack/python-rsdclient"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_097cb8e9","line":476,"range":{"start_line":475,"start_character":0,"end_line":476,"end_character":38},"updated":"2019-04-02 08:38:32.000000000","message":"Wrong section","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":"https://www.intel.com/content/dam/www/public/us/en/documents/guides/rsd-openstack-implementation-guide.pdf"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"An RSD client was also created to carry out all of the commands to manage the"},{"line_number":476,"context_line":"RSD deployment and its composed nodes."},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"https://github.com/openstack/python-rsdclient"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e4171354","line":476,"range":{"start_line":475,"start_character":0,"end_line":476,"end_character":38},"in_reply_to":"5fc1f717_097cb8e9","updated":"2019-04-02 09:50:09.000000000","message":"well it kind of is an alternitive if helena ment that you could just use the rsd osc plugin to directly compose nodes as an alternitive to the nova virt dirver model.\n\nif you had configured ironic to auto enrole discovered node then it would be a similar workflow. however unless you went directly to the ironic api there would be no trivail way to consume the node you just composed.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":"https://www.intel.com/content/dam/www/public/us/en/documents/guides/rsd-openstack-implementation-guide.pdf"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"An RSD client was also created to carry out all of the commands to manage the"},{"line_number":476,"context_line":"RSD deployment and its composed nodes."},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"https://github.com/openstack/python-rsdclient"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_f8aa386f","line":476,"range":{"start_line":475,"start_character":0,"end_line":476,"end_character":38},"in_reply_to":"5fc1f717_4be5c1db","updated":"2019-04-03 14:27:18.000000000","message":"Done","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"f87d24bedfb2acf544162313cd74fcac90e99038","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":"https://www.intel.com/content/dam/www/public/us/en/documents/guides/rsd-openstack-implementation-guide.pdf"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"An RSD client was also created to carry out all of the commands to manage the"},{"line_number":476,"context_line":"RSD deployment and its composed nodes."},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"https://github.com/openstack/python-rsdclient"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_4be5c1db","line":476,"range":{"start_line":475,"start_character":0,"end_line":476,"end_character":38},"in_reply_to":"5fc1f717_e4171354","updated":"2019-04-03 01:05:39.000000000","message":"Actually I completely misread this part, too late at night for me! This is the right section.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":496,"context_line":"In addition to this, access has to be granted to gather the resource"},{"line_number":497,"context_line":"information from the RSD deployment."},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"There is security communication between the virt-driver and the PODM threw"},{"line_number":500,"context_line":"``rsd-lib``."},{"line_number":501,"context_line":"Based on configuration options set on deployment:"},{"line_number":502,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_6d16d5aa","line":499,"range":{"start_line":499,"start_character":9,"end_line":499,"end_character":17},"updated":"2019-03-29 12:41:05.000000000","message":"secure","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":496,"context_line":"In addition to this, access has to be granted to gather the resource"},{"line_number":497,"context_line":"information from the RSD deployment."},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"There is security communication between the virt-driver and the PODM threw"},{"line_number":500,"context_line":"``rsd-lib``."},{"line_number":501,"context_line":"Based on configuration options set on deployment:"},{"line_number":502,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_89674852","line":499,"range":{"start_line":499,"start_character":69,"end_line":499,"end_character":74},"updated":"2019-04-02 08:38:32.000000000","message":"through","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":502,"context_line":""},{"line_number":503,"context_line":"  ::"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"    PODM_IP\u003d${PODM_IP:-\u0027localhost\u0027}"},{"line_number":506,"context_line":"    PODM_USER\u003d${PODM_USER:-\u0027admin\u0027}"},{"line_number":507,"context_line":"    PODM_PASSWD\u003d${PODM_PASSWD:-\u0027admin\u0027}"},{"line_number":508,"context_line":"    PODM_PORT\u003d${PODM_PORT:-8443}"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"``rsd-lib`` makes an API call to the PODM in your RSD deployment using the"},{"line_number":511,"context_line":"access credentials provided and attempts to authenticate your OpenStack"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_6d7b35f4","line":508,"range":{"start_line":505,"start_character":5,"end_line":508,"end_character":32},"updated":"2019-03-29 12:41:05.000000000","message":"currently the PODM auth and rbac is rather limited.\n\nhas there been any progress in the idea of integrating keystone with PODM to provide those functionalities.\n\nit would be quite interestign if we could leaverage it in the future.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":502,"context_line":""},{"line_number":503,"context_line":"  ::"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"    PODM_IP\u003d${PODM_IP:-\u0027localhost\u0027}"},{"line_number":506,"context_line":"    PODM_USER\u003d${PODM_USER:-\u0027admin\u0027}"},{"line_number":507,"context_line":"    PODM_PASSWD\u003d${PODM_PASSWD:-\u0027admin\u0027}"},{"line_number":508,"context_line":"    PODM_PORT\u003d${PODM_PORT:-8443}"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"``rsd-lib`` makes an API call to the PODM in your RSD deployment using the"},{"line_number":511,"context_line":"access credentials provided and attempts to authenticate your OpenStack"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_78e5e8db","line":508,"range":{"start_line":505,"start_character":5,"end_line":508,"end_character":32},"in_reply_to":"5fc1f717_6d7b35f4","updated":"2019-04-03 14:27:18.000000000","message":"Ya the keystone work is still in the backlog, haven\u0027t got round to it yet","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":565,"context_line":""},{"line_number":566,"context_line":"  ::"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"    NOTE: PODM does not support integration with Keystone. Integration with"},{"line_number":569,"context_line":"    Keystone AA is the preferred way forward once supported."},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"Notifications impact"},{"line_number":572,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_ed664556","line":569,"range":{"start_line":568,"start_character":0,"end_line":569,"end_character":60},"updated":"2019-03-29 12:41:05.000000000","message":":) that answers my question. glad to here its still a thing.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":578,"context_line":""},{"line_number":579,"context_line":"This change does not impact the nova-client, you create and manage server"},{"line_number":580,"context_line":"instances of type composed node as you would any other instance."},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"Performance Impact"},{"line_number":583,"context_line":"------------------"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"This code is called in place of any other virt-driver implementation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_4dc4390f","line":582,"range":{"start_line":581,"start_character":0,"end_line":582,"end_character":18},"updated":"2019-03-29 12:41:05.000000000","message":"for what its worth i dont think the perfromance assesment below has any real delta to how other cluster hyperviors or the ironic driver works so i think this is all fine.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":578,"context_line":""},{"line_number":579,"context_line":"This change does not impact the nova-client, you create and manage server"},{"line_number":580,"context_line":"instances of type composed node as you would any other instance."},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"Performance Impact"},{"line_number":583,"context_line":"------------------"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"This code is called in place of any other virt-driver implementation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_18d4e4e8","line":582,"range":{"start_line":581,"start_character":0,"end_line":582,"end_character":18},"in_reply_to":"5fc1f717_4dc4390f","updated":"2019-04-03 14:27:18.000000000","message":"Done","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":605,"context_line":"* There will also be database queries through nova API calls. This will be done"},{"line_number":606,"context_line":"  to check, create and delete the required RSD flavors."},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"* In addtition to this the way the hypervisors are created for the RSD"},{"line_number":609,"context_line":"  deployment. A hypervisor is created for each Chassis present in the"},{"line_number":610,"context_line":"  deployment, to each scheduler filter has to be called for each of these hosts"},{"line_number":611,"context_line":"  for every instance that is being created."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_494ac0ac","line":608,"range":{"start_line":608,"start_character":5,"end_line":608,"end_character":14},"updated":"2019-04-02 08:38:32.000000000","message":"addition","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":605,"context_line":"* There will also be database queries through nova API calls. This will be done"},{"line_number":606,"context_line":"  to check, create and delete the required RSD flavors."},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"* In addtition to this the way the hypervisors are created for the RSD"},{"line_number":609,"context_line":"  deployment. A hypervisor is created for each Chassis present in the"},{"line_number":610,"context_line":"  deployment, to each scheduler filter has to be called for each of these hosts"},{"line_number":611,"context_line":"  for every instance that is being created."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_f8f1d896","line":608,"range":{"start_line":608,"start_character":5,"end_line":608,"end_character":14},"in_reply_to":"5fc1f717_494ac0ac","updated":"2019-04-03 14:27:18.000000000","message":"Done","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":611,"context_line":"  for every instance that is being created."},{"line_number":612,"context_line":"  However to prevent over creation of hypervisors and unecessary calls, a"},{"line_number":613,"context_line":"  hypervisor is only created for a Chassis that has an associated composable"},{"line_number":614,"context_line":"  system."},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"Other deployer impact"},{"line_number":617,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c9d310d5","line":614,"updated":"2019-04-02 08:38:32.000000000","message":"I\u0027m interested in \"performance\" impact between deletion and recreation of nova instances.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":611,"context_line":"  for every instance that is being created."},{"line_number":612,"context_line":"  However to prevent over creation of hypervisors and unecessary calls, a"},{"line_number":613,"context_line":"  hypervisor is only created for a Chassis that has an associated composable"},{"line_number":614,"context_line":"  system."},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"Other deployer impact"},{"line_number":617,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_b8603037","line":614,"in_reply_to":"5fc1f717_9f7bfa79","updated":"2019-04-03 14:27:18.000000000","message":"I am still testing on a virtualised environment so I can\u0027t give you a definite up date on this","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":611,"context_line":"  for every instance that is being created."},{"line_number":612,"context_line":"  However to prevent over creation of hypervisors and unecessary calls, a"},{"line_number":613,"context_line":"  hypervisor is only created for a Chassis that has an associated composable"},{"line_number":614,"context_line":"  system."},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"Other deployer impact"},{"line_number":617,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_9f7bfa79","line":614,"in_reply_to":"5fc1f717_c9d310d5","updated":"2019-04-02 09:50:09.000000000","message":"i would assume it would be similar or better then the performance for ironic nodes or at least that would be the minium target but i have no direct eveidence of that.\n\ni suspect it stongly will depend on the hardware that you are working with. some server systems can take 15mins to post if they have alot of ram other take 1 minute regardless of what is installed to pass post so this could vairy alot form deployment to deployment. but if helena can provide some indication of what might be typical \ni.e. seconds? minutes? hours? \nim hoping not the last one that would be helpful.\n\nfor example a composed node with no local stoage or persistnet memory shoudl be significantly faster to repovition then a composed node with 2TB of persitent memory and 10 locally  sata disks that need to be wiped.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f2f75a676ed066f4ddfa4714cc3e94aa1b6e242","unresolved":false,"context_lines":[{"line_number":654,"context_line":"----------"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"- Spec: helena-mcgough"},{"line_number":657,"context_line":"- rsd-virt-for-nova driver(WIP): helena-mcgough"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"Dependencies"},{"line_number":660,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_addefdd7","line":657,"range":{"start_line":657,"start_character":2,"end_line":657,"end_character":47},"updated":"2019-03-29 12:41:05.000000000","message":"as i mentioned before as long as the driver is in its own repo this spec is not needed. if you wish to move it into the nova tree then a spec will be need as well as CI testing.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"4cceb0477c1cdabd4aa56f7b52e44f016893095b","unresolved":false,"context_lines":[{"line_number":664,"context_line":"Testing"},{"line_number":665,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"This new driver currently has unit tests implemented that are run as part of"},{"line_number":668,"context_line":"the zuul verification process. This feature will also have functional tests."},{"line_number":669,"context_line":"It aims to be tested on real RSD hardware."},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"Documentation Impact"},{"line_number":672,"context_line":"\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":1,"id":"5fc1f717_a9b56480","line":669,"range":{"start_line":667,"start_character":0,"end_line":669,"end_character":42},"updated":"2019-04-02 08:38:32.000000000","message":"What steps can I take to test this today in non-RSD hardware? Can you add them to openstack/rsd-virt-for-nova?","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf14ec7c9d9e5938605ea2908cc60bb5ca29deb7","unresolved":false,"context_lines":[{"line_number":664,"context_line":"Testing"},{"line_number":665,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"This new driver currently has unit tests implemented that are run as part of"},{"line_number":668,"context_line":"the zuul verification process. This feature will also have functional tests."},{"line_number":669,"context_line":"It aims to be tested on real RSD hardware."},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"Documentation Impact"},{"line_number":672,"context_line":"\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":1,"id":"5fc1f717_df2bc230","line":669,"range":{"start_line":667,"start_character":0,"end_line":669,"end_character":42},"in_reply_to":"5fc1f717_a9b56480","updated":"2019-04-02 09:50:09.000000000","message":"i also had this question.\n\nintel and helena demoed a really cool RSD in a box at a previous summit at the intel booth. it woudl be greate if that or a devstack plugin or some other software emulation/simulation that would be awsome.\n\nRSD software is a little expsnsive.\n\nthe side benift of a devstack pluging that deployed a software only test envioment woudl be that we might actully be able to do some upstream tempest testign of the driver\nhowever i think this is also somethign we would like to see tested with real hardware so if a simple dev env is not avialable that is understandable.","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ae1f9467d52b08f6dd10a9403671e02e6a6d4351","unresolved":false,"context_lines":[{"line_number":664,"context_line":"Testing"},{"line_number":665,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"This new driver currently has unit tests implemented that are run as part of"},{"line_number":668,"context_line":"the zuul verification process. This feature will also have functional tests."},{"line_number":669,"context_line":"It aims to be tested on real RSD hardware."},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"Documentation Impact"},{"line_number":672,"context_line":"\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":1,"id":"5fc1f717_f1c7bb63","line":669,"range":{"start_line":667,"start_character":0,"end_line":669,"end_character":42},"in_reply_to":"5fc1f717_df2bc230","updated":"2019-04-03 10:28:54.000000000","message":"i ment to say RSD hardware is a little expsnsive.\nthe software if free and opensource","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":23488,"name":"Helena","email":"helena.mcgough@intel.com","username":"hfm"},"change_message_id":"2bd3878059598c19dba2043148e0286ce7b1a843","unresolved":false,"context_lines":[{"line_number":664,"context_line":"Testing"},{"line_number":665,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"This new driver currently has unit tests implemented that are run as part of"},{"line_number":668,"context_line":"the zuul verification process. This feature will also have functional tests."},{"line_number":669,"context_line":"It aims to be tested on real RSD hardware."},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"Documentation Impact"},{"line_number":672,"context_line":"\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":1,"id":"5fc1f717_38b0c08b","line":669,"range":{"start_line":667,"start_character":0,"end_line":669,"end_character":42},"in_reply_to":"5fc1f717_f1c7bb63","updated":"2019-04-03 14:27:18.000000000","message":"Ya so I have some unit testing implemented and I have been running it the whole time on simulators, I still haven\u0027t been able to run it on hardware yet","commit_id":"e58638fa8aca6f9515c36d07bbb6dafaa28387c6"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"efae6563a16cf65cca563fc43f61574533499632","unresolved":false,"context_lines":[{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"How to manage RSD composability the same way virtual infrastructure is managed"},{"line_number":27,"context_line":"in the market today, i.e. VMs, container and baremetal instances."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"There is currently no seamless orchestration solution to manage an RSD"},{"line_number":30,"context_line":"composable architecture deployment."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_f8ee4eb3","line":27,"updated":"2019-04-09 11:38:20.000000000","message":"How is this a problem, though?\n\nIn the past, I\u0027ve recommended to Intel to do composable hardware outside the context of an end-user session with Nova. In other words, just have a separate project (I thought this is what Valence was supposed to be at some point) that dynamically creates *compute nodes* having certain sizes proportional to a perceived need. In this way, the capacity of the datacenter to service VMs of standard sizes (flavors) could expand and shrink according to power and usage demands.\n\nI\u0027m not really sure why Intel is now proposing to have a separate virt driver that composes both the instance and the compute node dynamically on the fly. It basically just throws all resource tracking and scheduling functionality we have out the window and does this for no apparent use cases other than \"to enable RSD\", which actually isn\u0027t a use case IMHO.","commit_id":"67bc7783eaf96288ce9c3e7b6bd3c74719198dd4"},{"author":{"_account_id":30001,"name":"Ivens Zambrano","email":"ivens.zambrano@intel.com","username":"IvensZambrano"},"change_message_id":"6e0d65a5ba168834f68ae482abceca3dd1bdfa61","unresolved":false,"context_lines":[{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"How to manage RSD composability the same way virtual infrastructure is managed"},{"line_number":27,"context_line":"in the market today, i.e. VMs, container and baremetal instances."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"There is currently no seamless orchestration solution to manage an RSD"},{"line_number":30,"context_line":"composable architecture deployment."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_8c7ee867","line":27,"in_reply_to":"5fc1f717_f8ee4eb3","updated":"2019-04-09 13:53:25.000000000","message":"In the current case introduced by this spec, we are considering the composed node to be the instance itself. the workload would be running on top of the OS directly on the composed node.\n\nThe future evolution of the project will enable the composed node to become a new nova node and then extend the virtual compute cluster.\n\nBy now we consider the composed node as a general purpose instance where the tenant could run anything they need. from the tenant perspective a VM and a composed node would have no difference, behind the scenes the components you aggregate to the composed node will make a difference to its purpose","commit_id":"67bc7783eaf96288ce9c3e7b6bd3c74719198dd4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"efae6563a16cf65cca563fc43f61574533499632","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  directly as a self service compute resource via nova."},{"line_number":74,"context_line":"* Managing the lifecycle of composable resources using standard nova APIs."},{"line_number":75,"context_line":"* Providing the flexibility to dynamically compose hardware to meet the need of"},{"line_number":76,"context_line":"  the cloud workload."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Proposed change"},{"line_number":79,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_5821a2b3","line":76,"updated":"2019-04-09 11:38:20.000000000","message":"Sorry, but most of the above are not use cases. They are simply differing phrases of \"Enable Intel RSD\".\n\nWhy would the *end-user* even know or care about composable infrastructure? Fact is, they don\u0027t. An end user of OpenStack doesn\u0027t know (and shouldn\u0027t know) where their workload even ends up.\n\nEnd users don\u0027t care whether the host they end up on is a hypervisor, baremetal host, or some composable hardware that was just created thirteen seconds before they launched their instance.\n\nAll they care about is that they select the sizing that they think fits their workload (# vCPUs, amount RAM, etc) and that the instance that launches has performance that fits within a certain set of expectations (different for each end user).\n\nNow, that said, if you changed the above description to a use case that describes how an *operator* could (possibly) reduce their overall datacenter power consumption by utilizing composable hardware to dynamically expand and shrink the underlying capacity of hypervisor hosts used for virtual machines, then I\u0027d say you had a great use case.\n\nBut, if you did that, I\u0027d come back and say \"that use case can and should be solved as an agent/service outside of Nova\".","commit_id":"67bc7783eaf96288ce9c3e7b6bd3c74719198dd4"},{"author":{"_account_id":30001,"name":"Ivens Zambrano","email":"ivens.zambrano@intel.com","username":"IvensZambrano"},"change_message_id":"6e0d65a5ba168834f68ae482abceca3dd1bdfa61","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  directly as a self service compute resource via nova."},{"line_number":74,"context_line":"* Managing the lifecycle of composable resources using standard nova APIs."},{"line_number":75,"context_line":"* Providing the flexibility to dynamically compose hardware to meet the need of"},{"line_number":76,"context_line":"  the cloud workload."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Proposed change"},{"line_number":79,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_5185fdab","line":76,"in_reply_to":"5fc1f717_5821a2b3","updated":"2019-04-09 13:53:25.000000000","message":"Definitely the power consumption is one of the motivators of been able to dynamically handling the hardware state from an end user perspective.\nOther use case we have been discussing with a couple of customers, is the optimization/specialization of data centers with limited growing space (i.e. in-city Central Offices) where you may need to re purpose your hardware dynamically depending on the load that needs to be attended during a peak. You can turn a full compute image processor into a network analysis box without expanding the location or having to introduce single purpose boxes.\nFrom the tenant perspective (another software in this case) this could be achieved using the same Nova APIs you would use for spinning up a VM just by using a different \"hypervisor\" and a specialized imaged for the temporary purpose.","commit_id":"67bc7783eaf96288ce9c3e7b6bd3c74719198dd4"}]}
