<div dir="ltr">HI!<div>I’ve worked with kolla-ansible for over the year, currently on rocky version. I’ve done some work which can maybe be intersting to community.<br><br>1. Proposal - Adding additional functionality to kolla-ansible playbook<br>For functionalities which are not officially supported by kolla-ansible group, but are done by any individual or a group and are interesting for a community. <br><br>Each additional functionality has its own GIT project. It consists of one or more ansible roles. The structure of project  is very similar to the kolla-ansible project.<br><br>addfunct-name / README.md<br>                         / etc / kolla / globals.yml<br>                                           / passwords.yml<br>                         / ansible / inventory / all-in-one<br>                                                         / multinode<br>                                        / group_vars / all.yml<br>                                        / roles / addmodule_role1 / …<br>                                                   / addmodule_role2 / …<br>                                        / destroy.yml<br>                                        / kolla-host.yml<br>                                        / post-deploy.yml<br>                                        / site.yml<br>                                        / stop.yml<br><br>Configuration parameters of functionality are put to globals.yml and all.yml. Passwords are put to passwords.yml.<br>Inventory data are added to all-in-one and multinode files. <br>Roles variables, tasks, handlers, templates are added to ansible/roles.<br>Activation of roles are included to destroy.yml, kolla-host.yml, post-deploy.yml, stop.yml and/or site.yml.<br>Not all steps are compulsory.<br><br>Merging additional module project to kolla-ansible is quite simple with basic shell commands:<br>cat $ADD_MODULE/etc/kolla/globals.yml >> $KOLLA_ANSIBLE/etc/kolla/globals.yml<br>cat $ADD_MODULE/etc/kolla/passwords.yml >> $KOLLA_ANSIBLE/etc/kolla/passwords.yml<br>cat $ADD_MODULE/ansible/group_vars/all.yml >> $KOLLA_ANSIBLE/ansible/group_vars/all.yml<br>cat $ADD_MODULE/ansible/inventory/all-in-one >> $KOLLA_ANSIBLE/ansible/inventory/all-in-one<br>cat $ADD_MODULE/ansible/inventory/multinode >> $KOLLA_ANSIBLE/ansible/inventory/multinode<br>cat $ADD_MODULE/ansible/destroy.yml >> $KOLLA_ANSIBLE/ansible/destroy.yml<br>cat $ADD_MODULE/ansible/kolla-host.yml >> $KOLLA_ANSIBLE/ansible/kolla-host.yml<br>cat $ADD_MODULE/ansible/post-deploy.yml >> $KOLLA_ANSIBLE/ansible/post-deploy.yml<br>cat $ADD_MODULE/ansible/site.yml >> $KOLLA_ANSIBLE/ansible/site.yml<br>cat $ADD_MODULE/ansible/stop.yml >> $KOLLA_ANSIBLE/ansible/stop.yml<br>cp -r $ADD_MODULE/ansible/roles/* >> $KOLLA_ANSIBLE/ansible/roles<br><br>That way additional roles are executed together with other kolla-ansible roles on hosts which are specified in a common inventory. Tasks can use all available kolla-ansible variables, tools, ansible modules.<br><br>2. Proposal – building kolla-ansible container image<br>kolla-ansible can be run in a container. Image is built together with other kolla containers and is available on docker hub. That way it would be easier for somebody to try kolla.<br>It is also possible to build images, which have some interesting additional functionalities included.<br><br>3. Proposal – adding ceph as an additional functionality described in previous proposals<br>Ansible roles are developed for external ceph deployment. Cephadm, kolla-ceph or any other tool can be used in role’s plays. Has somebody have a suggestion, what to use?<br>A special kolla-ansible container image is built with included ceph roles. Merging is specified in Dockerfile.<br><br>I’ve already included three additional functionalities:<br>- docker_settings (docker_bip network is configurable)<br>- resource_reservation (resources – cpu cores and memory can be limited for openstack services)<br>- freeipa_client_install (freeipa client installation – done by my colleague, not finished yet)<br>They are now all included in the same project and can be viewed on: <br><a href="http://gitlab.com/kemopq/addmodules-kolla-ansible/-/tree/master/ansible">https://gitlab.com/kemopq/addmodules-kolla-ansible/-/tree/master/ansible</a> <br></div><div><br></div><div>I’m building kolla-ansible container with those functioanlities included and running kolla-ansible playbook in container. I’m planing to do external Ceph deployment that way in next weeks. <br><br></div><div>I’m open to suggestions how this concept can be improved.<br></div><div>Klemen</div></div>