Implement a management service
Implement a management service for Ironic. It needs to support functionality similar to other services and service managers within OpenStack, eg.:
* interact with other OpenStack services via client APIs (eg, quantum, cinder, glance)
* periodic tasks, eg,
-- poll hw status and update in-memory/in-db state
-- track long running processes, and terminate after timeouts
* RPC from ironic-api instances
* entrypoint-based loading of plugins per instance (heterogeneous hw may require different drivers in one manager)
* maintain state in DB, and re-sync state on resume
Blueprint information
- Status:
- Complete
- Approver:
- aeva black
- Priority:
- Essential
- Drafter:
- aeva black
- Direction:
- Approved
- Assignee:
- aeva black
- Definition:
- Approved
- Series goal:
- Accepted for havana
- Implementation:
- Implemented
- Milestone target:
- havana-3
- Started by
- aeva black
- Completed by
- aeva black
Related branches
Related bugs
Sprints
Whiteboard
Addressed by: https:/
Implement ResourceTrackers and TaskTrackers.
Addressed by: https:/
Update manager and driver names.
Addressed by: https:/
Change 'nodes' to use more driver-specific JSON.
Addressed by: https:/
Rename the 'ifaces' table to 'ports'.
Addressed by: https:/
Reimplement reserve_nodes and release_nodes.
Addressed by: https:/
Initial skeleton for an RPC layer.
Work Items
Work items:
Load drivers via entrypoints: DONE
Create a basic resource manager: DONE
Add RPC between the API and Manager: DONE