Unified Resource DB
Create one DB table for all pod manager managed resources, and in that table contain basic info like they resource type as well as a pointer for where to find them in their respective pod managers.
This has a couple of advantages that I can see.
1. It keeps the database in Valence simple and manageable – everything is a resource and each resource will tell you what type it is and where it can be found in the pod managers that Valence knows about.
2. It keeps us from having to continually update and refresh the information in our database – like if we were saving the state of a resource in our DB and it went from being healthy to broken in the pod manager, Valence wouldn’t know about it until it polls for that resource again and found out. In other words, our database would have incorrect info and we’d need to make a call out to redfish to correct it anyways, why not just make it a pointer and make the call to begin with to avoid this situation.
The structure I see for such a table would be like this (I’m open to deciding on a more descriptive name than ‘Resource’ if we want):
Class Resource(
Path = “/resource”
}
Maybe we could also add some additional metadata about what can be done to this resource, or maybe that can be handled just by what type it is (e.g. if it’s a composed node, you can do things on it like decompose it or assemble it, that kind of thing).
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Nate Potter
- Direction:
- Needs approval
- Assignee:
- Nate Potter
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Implement unified resource database