-
Notifications
You must be signed in to change notification settings - Fork 97
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create a common deconfiguration rollup to parent. A new attribute was created to indicate when to stop rolling up the parent branch Change-Id: I80954081527f29bc466622d30644115a96be385f RTC:193268 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66444 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
- Loading branch information
1 parent
55c7c54
commit 2dfa56b
Showing
7 changed files
with
285 additions
and
332 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# DeconfigGard | ||
|
||
## Deconfigure by association path | ||
### _deconfigByAssoc | ||
###### Propagates the deconfigured target to its associated targets | ||
- first deconfigures all functional children-by-containment | ||
- checks if affinity deconfigure is allowed | ||
- allowed if not at runtime | ||
- always allowed for all speculative deconfigures | ||
- always allowed if EQ, EX or CORE target | ||
- deconfigures target's affinity children (if allowed) | ||
- deconfigures parent's affinity path via _deconfigParentAssoc (if allowed) | ||
|
||
### _deconfigParentAssoc | ||
###### Works the deconfig up the parent branch (handles special cases) | ||
- handles special cases (FCO, PEER, etc) for select target types | ||
- If no special case, then call _deconfigAffinityParent | ||
|
||
### _deconfigAffinityParent | ||
###### Deconfigure parent if is has no functional children | ||
- checks if it is allowed to rollup deconfigure to parent | ||
- Checks base attribute: ATTR_PARENT_DECONFIG_DISABLED | ||
- 0 = allow parent deconfigure (default) | ||
- 1 = do not allow parent deconfigure | ||
- Grab parent target via new utility: getImmediateParentByAffinity(childTarget) | ||
- Checks parent is functional | ||
- Check if parent target has a functional AFFINITY child. | ||
- If no functional child found, then deconfigure the parent target and then call | ||
_deconfigParentAssoc passing the parent target. We already know this parent | ||
target has no functional children, so we just continue the deconfigure | ||
rollup to the next level. |
Oops, something went wrong.