<div dir="ltr"><div>Hi folks, </div><div><br></div><div>I’ve been approached by multiple people asking questions about what is happening with Mirantis engineers activity around the kolla-mesos project we started and I do feel that I owe an explanation to the community.</div><div><br></div><div>Indeed during the last few months we significantly reduced the amount of contribution. Jumping straight to the point, I would like to say right away that we will have to abandon the kolla-mesos initiative. If anybody would like to pick it up and continue moving forward, Mirantis will do everything we can to help with the ownership transition including sharing what we learned along the way.</div><div><br></div><div>Now please let me explain the reasons behind this decision which I hope will turn into an active discussion in the OpenStack community. When we started work on the containerization of OpenStack we did not have a clear picture of the design choices and decisions that would need to be made. What we knew there is a community project around the effort - Kolla, and we decided to try and explore the opportunity to join these efforts. </div><div><br></div><div>First let me express my gratitude towards the Kolla community for their willingness to help and support our efforts. The way the Kolla project accepted and helped new people join the project is one of the fundamental behaviours that makes me really proud to be a part of the OpenStack community.</div><div><br></div><div>During the journey working in Kolla, we discovered that there are quite a few fundamental mismatches between where we believe we need to arrive running OpenStack containers inside orchestration framework like Mesos and Kubernetes and the Kolla direction of running containers using Ansible. While there is nothing wrong with either approach, there are some technical difficulties which lead to conflicting requirements, for example:</div><div><br></div><div>* Containers definition should be easy readable and maintainable, it should provide meta information such as list of the packages to be installed in the container, etc (container image building DSL is one of the options to implement it);</div><div>* It should be possible to implement containers layering, naming and versioning in a way to support upgradability and patching, especially in terms of shipping security updates and upgrades to the users;</div><div>* Containers implementation should be clear from the bootstrap and init scripts;</div><div>* Repository per OpenStack and Infra component, e.g. one from nova, one for neutron and etc. - to contain all needed container images for running corresponding services in different topologies;</div><div>* It should be possible to use other containers, not just docker, for example - rkt.</div><div><br></div><div>Since we believed Kolla would likely have to change direction to support what we needed but we still were not sure in the exact technical direction needed to take, Mirantis decided to take a pause to prevent unnecessary churn to project and run a number of research initiative to experiment with different concepts.</div><div><br></div><div>While the above work was happening, Mirantis was also tracking how the Kubernetes project and community were developing. We were very glad to see significant progress made over a short period of time and community momentum build similar to how OpenStack grew in the early days. As part of our exploration activities we decided to give Kubernetes a try to see if we could make containerized OpenStack work on Kubernetes and better understand what changes to OpenStack itself would be needed to best support this approach.</div><div><br></div><div>At this point I’m glad to announce that I was able to do a very simple PoC (~1.5 weeks) with the core OpenStack control plane services running on top of Kubernetes. I’ve recorded a demo showing how it’s working [1].</div><div><br></div><div>Based on our research activities and rapid growth of the Kubernetes community, which shares many parallels to the OpenStack community, we are switching our efforts to focus on running OpenStack on Kubernetes. We are going to do the development work upstream and as part of that share and contribute results of prototyping and research work we have done so far.</div><div><br></div><div>We are considering multiple options on what is the right place in community for this work to happen: re-join the work with the Kolla project, start a new project or explore whether it would fit into one of OpenStack deployment projects, like Fuel.</div><div><br></div><div>I’m going to have a conversation with Kolla and Fuel teams during the summit and will keep the community posted on the progress.</div><div><br></div><div>[1] <a href="https://youtu.be/lUZuzrvlZrg">https://youtu.be/lUZuzrvlZrg</a></div><div><br></div><div>P.S. Kudos to Sergey Reshetnyak and other folks for helping me preparing demo.</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Sincerely yours,<br>Sergey Lukjanov<br>Principal Software Engineer<br>Mirantis Inc.</div></div></div>
</div>