Note we already implemented an approach where the required os-* tools are built into a "agent container" image, that is then deployed and used to deploy subsequent containers:
The basic approach is to use cloud-init to start the agent container on boot, then heat drives all subsequent launching of containers via the os-* tools running in the agent container.
We used a somewhat modified version of this to implement containerized compute services on TripleO compute nodes, so the basic approach is proven:
Note we already implemented an approach where the required os-* tools are built into a "agent container" image, that is then deployed and used to deploy subsequent containers:
https:/ /github. com/openstack/ heat-templates/ tree/master/ hot/software- config/ heat-container- agent
https:/ /github. com/openstack/ heat-templates/ blob/master/ hot/software- config/ boot-config/ templates/ install_ container_ agent.yaml
The basic approach is to use cloud-init to start the agent container on boot, then heat drives all subsequent launching of containers via the os-* tools running in the agent container.
We used a somewhat modified version of this to implement containerized compute services on TripleO compute nodes, so the basic approach is proven:
https:/ /github. com/openstack/ tripleo- heat-templates/ tree/master/ docker