From 139f5a0fd1ce1c3c0944c216cecac0acf99be9de Mon Sep 17 00:00:00 2001 From: Zhenguo Niu Date: Thu, 12 Oct 2017 15:07:12 +0800 Subject: [PATCH] Remove valence-integration.rst As we discussed during the Queens PTG, valence-integration spec should be removed, as we changed to use rsd-lib for RSD server support. Change-Id: I7fb50a7777ecaa5288dacbcc51d41830c5bb483a --- specs/pike/approved/valence-integration.rst | 176 -------------------- 1 file changed, 176 deletions(-) delete mode 100644 specs/pike/approved/valence-integration.rst diff --git a/specs/pike/approved/valence-integration.rst b/specs/pike/approved/valence-integration.rst deleted file mode 100644 index d082a54..0000000 --- a/specs/pike/approved/valence-integration.rst +++ /dev/null @@ -1,176 +0,0 @@ -.. - This work is licensed under a Creative Commons Attribution 3.0 Unported - License. - - http://creativecommons.org/licenses/by/3.0/legalcode - -=================== -Valence Integration -=================== - -https://blueprints.launchpad.net/mogan/+spec/rsd-integration - -The current Mogan implementation only supports pre-set configuration servers. -For custom servers, Mogan should to be able to compose bare metal through -integration with Valence that leverages the Redfish API to compose nodes using -disaggregated resources. - - -Problem description -=================== - -Mogan currently can only provision pre-set configuration servers, but users may -want to request a custom server with specific configurations like CPU, RAM, and -DISK. - -Use Cases ---------- - -* An enterprise user wants to manage the RSD and general servers in a -unified manner. - -* An enterprise user wants to apply a custom server with CPU, RAM, and DISK -specified himself. - - -Proposed change -=============== - -First, we need to refactor our flavor to pass Valence required parameters when -composing a node, need to align with Valence team. But for non-rack servers -we can keep the current way of scheduling a node to provision. - -When a request come with the Valence specific flavor, We can invoke Valence to -compose the node on the fly, then register the composed node into Ironic with -Redfish driver(not supported yet). When nodes are enrolled in Ironic, there's -no difference with non-rack nodes. And these works are all done before the -current instance create workflow, so we can create a new taskflow [1]_ for -Valence which includes compose and enroll tasks: - -ComposeNodeTask: -* execute: Invoke Valence to compose a node according the specified flavor. -* revert: Release the composed node if there's something wrong when enrolling. - -EnrollNodeTask: -* execute: Enroll the composed node to Ironic. -* revert: If some exception raised and the node has been enrolled, need to -remove it from Ironic. - -For Valence node, we should skip the scheduling task in provison workflow. -Currently there are ScheduleCreateInstanceTask and OnFailureRescheduleTask, -we can get rid of these two tasks when initialize the task flow in Valence -scenario. Or maybe can handle this like select which node instances are -launched(not supported yet). - -Also, if there's some exception raised when provisioning, we should release the -composed node to Valence pool and remove it from Ironic. - -When deleting a node we should remove it from ironic first, then release the -resources to Valence pool. For this, we can add a new field to instance to -indicate whether it's a valence instance or not. - - -Alternatives ------------- - -It will automatically invoke valence to compose node if scheduling max attempts -exceeds instead of using a specific flavor to indicate it's a Valence instance. - -Data model impact ------------------ - -The proposed change will be add the following fields to the instance object -with their data type and default value for migrations. - -+-----------------------+--------------+-----------------+ -| Field Name | Field Type | Migration Value | -+=======================+==============+=================+ -| composed | bool | None | -+-----------------------+--------------+-----------------+ - - -REST API impact ---------------- - -None - -Security impact ---------------- - -None - -Notifications impact --------------------- - -None - -Other end user impact ---------------------- - -None - -Performance Impact ------------------- - -There's one potential performance impact on the instance creating process, -as we need to composing the node from Valence first. - -Other deployer impact ---------------------- - -None - -Developer impact ----------------- - -* As Mogan plans to support not only Ironic driver but also CloudBoot, need -to figure out whether CloudBoot has supported Redfish already or there's not -a plan to support it. - - -Implementation -============== - -Assignee(s) ------------ - -Primary assignee: - - -Work Items ----------- - -* Refactor flavor(instance type) to meet Valence's requirements. -* Add `composed` filed to instance object. -* Add a new taskflow for node composing and enrolling. -* Change delete instance process to handle composed node gracefully. -* Add Valence installation in Mogan devstack plugin as an option - -Dependencies -============ - -* Need valence client to be ready to integrate. - -* Redfish driver landed in ironic. - -* Valence PodManager simulator need to be improved, maybe return a fake -node(VM) and maybe we can test it with ssh driver before Redfish driver -available. - - -Testing -======= - -Unit Testing will be added. - -Documentation Impact -==================== - -Docs about Valence integration will be added. - -References -========== - -.. [1] https://wiki.openstack.org/wiki/TaskFlow - -* https://wiki.openstack.org/wiki/Valence