Implement a Composite Container API
A composite container is a container made of 1 or more containers that is intended to be scheduled on the same physical hardware. Each container is uniquely identified by tenant and a string name. This type of container shares specific hardware characteristics which are uniquely identified by the tenant and name of the composite container. The first characteristic shared is the network namespace. The second characteristic shared is the local disk storage.
Three operations should be implemented for a composite container.
* Create a composite container from YAML or JSON uniquely identified by name
* Delete a composite container by name
* Obtain the current status of all containers in the composite container identified by name
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Steven Dake
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Superseded
- Series goal:
- None
- Implementation:
- Deferred
- Milestone target:
- None
- Started by
- Completed by
- Steven Dake
Related branches
Related bugs
Sprints
Whiteboard
"The second characteristic shared is the local disk" - Had several questions on IRC about what this means, and I agree it is unclear.
As an example, consider two composite containers scheduled to the same hardware, each with a container that contains a docker VOLUME /var/lib/mysql. They would overwrite each other's work. Instead the first sentence implies that the VOLUME command will be namespaced to allow multi-tenancy.