<div dir="ltr">Folks,<div>=====<br><div><br></div><div>I've got a dilemma right now about how to proceed with containerising ironic-inspector:</div><div><br></div><div>Fat Container</div><div>------------------</div><div>put ironic-inspector and dnsmasq into a single container i.e consider a container as a complete inspection service shipping unit, use supervisord inside to fork and monitor both the services. </div><div><br></div><div>Pros:</div><div><br></div><div>* decoupling: dnsmasq of inspector isn't used by any other service which makes our life simpler as we won't need to reset dnsmasq configuration in case inspector died (to avoid exposing an unfiltered DHCP service)</div><div><br></div><div>* we can use dnsmasq filter (an on-line configuration files updating facility) driver to limit access to dnsmasq instead of iptables, in a self-contained "package" that is configured to work together as a single unit</div><div><br></div><div>* we don't have to worry about always scheduling dnsmasq and inspector containers on a single node (both services are bundled)</div><div><br></div><div>* we have a *Spine-Leaf deployment capable & containerised undercloud*</div><div><br></div><div>* an *HA capable inspector* service to be reused in overcloud</div><div><br></div><div>* an integrated solution, tested to work by upstream CI in inspector (compatibility, versioning, configuration,...)</div><div><br></div><div>Cons:</div><div><br></div><div>* inflexibility: container has to be rebuilt to be used with different DHCP service (filter driver)</div><div><br></div><div>* supervisord dependency and the need to refactor current container of inspector</div><div><br></div><div>* <put your input here></div><div><br></div><div>Flat Container</div><div>-------------------</div><div><br></div><div>Put inspector and dnsmasq into separate containers. Use the (current) iptables driver to protect dnsmasq. IIRC this is the current approach.</div><div><br></div><div>Pros:</div><div><br></div><div>* containerised undercloud</div><div><br></div><div>Cons:</div><div><br></div><div>* no decoupling of dnsmasq</div><div><br></div><div>* no spine-leaf (iptables)</div><div><br></div><div>* containers have to be scheduled together on a single node,</div><div><br></div><div>* no HA (iptables driver)</div><div><br></div><div>* container won't be cool for overcloud as it won't be HA</div><div><br></div><div>Flat container with dnsmasq filter driver</div><div>----------------------------------------------------</div><div><br></div><div>Same as above but iptables isn't used anymore. Since it's not the current approach, we'd have to reshape the containers of dnsmasq and inspector to expose each others configuration so that inspector can write dnsmasq configuration on the fly (does inotify work in the mounted directories case???)</div><div><br></div><div>Pros:</div><div><br></div><div>* containerised undercloud</div><div><br></div><div><div>* Spine-Leaf</div><div><br></div></div><div>Cons:</div><div><br></div><div>* No (easy) HA (dnsmasq would be exposed in case inspector died)</div><div><br></div><div>* No decoupling of dnsmasq (shared between multiple services)</div><div><br></div><div>* containers to be reshaped to expose the configuration</div><div><br></div><div>* overcloud-uncool container (lack of HA)</div><div><br></div><div>No Container</div><div>------------------</div><div><br></div></div><div>we ship inspector as a service and configure dnsmasq for inspector to be shut down in case inspector dies (to prevent exposing an unfiltered DHCP service interference). We use dnsmasq (configuration) filter driver to have a Spine-Leaf deployment capable undercloud.</div><div><br></div><div>Pros:</div><div><br></div><div>* Spine&Leaf</div><div><br></div><div>Cons:</div><div><br></div><div>* no HA inspector (shared dnsmasq?)</div><div><br></div><div>* no containers</div><div><br></div><div>* no reusable container for overcloud</div><div><br></div><div>* we'd have to update the undercloud systemd to shut down dnsmasq in case inspector dies if we want to use the dnsmasq filter driver</div><div><br></div><div>* no decoupling</div><div><br></div><div>The Question</div><div>------------------</div><div><br></div><div>What is your take on it?</div><div><br></div><div>Cheers,</div><div>milan </div><div><br></div></div>