# Testing Ansible and Friends together ###### tags: `Design` ## Projects targetted * ceph-ansible * Ansible * podman * ansible-podman-collections * Molecule [used in ansible role testing] ## user story: https://tree.taiga.io/project/tripleo-ci-board/us/1606 ## Goal New releases of Ansible and friends does not break TripleO Goal should me more descriptive here so that everyone will understand ## Meeting Topics * Current Status: * ceph-ansible with stable-4.0 branch and podman with latest master gatted with tripleo * No failures caught till now * Do we want to gate Ansible and Friends? If yes * Do we want to go ahead with the same way as we had done for third party testing? * Build the rpm and then feed into the CI * What other jobs do we want to cover? * Do we want to keep a sync what is going to come in next release of RHEL-8.x with the testing? * Other questions? * You mean here we want the third party job should run on recent stable branch/master branch of ceph-ansible? ## Initial Goal * Make sure ceph-ansible and ansible works together ## Opinion from ceph-ansible team * Summarry: * try to bump up ansible on the existing tripleo jobs and see if we got a successful deployment ## Ceph-ansible test matrix * check-rdo /check-github workflow ceph-ansible version <-> openstack-release <-> distro version master -> master -> centos-8 stable-4.0 -> train -> centos-7 * testing with ansible-2.9 for openstack-regular pipeline ceph-ansible version <-> openstack-release <-> distro version -> ansible-version master -> master -> centos-8 -> ansible-2.9 stable-4.0 -> train -> centos-7 -> 2.9 ### Things to fix based on current matrix without ansible * tripleo-ceph-integration-master -> build rpm from master branch * currently running from stable-4.0 that needs to be fixed to master * Add sc1 and sc4 centos-8 based jobs which will be running from master branch * Make sure it gets triggered using check-rdo or check-github pr * Add these same jobs in regular pipeline * Define a new job named tripleo-ceph-integration-train -> which will build rpm from stable-4.0 branch * It should be based on centos-7 * Add sc1 and sc4 centos-7 based jobs which will be running from stable/train branch * Make sure it gets triggered using check-rdo or check-github pr * Add these same jobs in regular pipeline ### Things to fix based on ansible-2.9 * add build rpm jobs * ceph-ansible master + ansible-2.9 -> centos-8 * ceph-ansible stable-4.0 + ansible-2.9 -> centos-7 * Add scenario 1 and 4 job * master * ceph-ansible master + ansible-2.9 -> centos-8 * train * ceph-ansible stable-4.0 + ansible-2.9 -> centos-7 ### Add below jobs: Based on the discussion on IRC with John and Giulio, Here is what we need to cover: Jobs running when 'check-rdo' or 'check-github' comment is added to ceph-ansible PR on * ceph-ansible-4.0 branch * build rpm of ceph-ansible from stable-4.0 branch * for train * centos-7 rpm build job * rpm will get consumed in sc1 and sc4 on centos-7 * ceph-ansible stable-3.2 branch * build rpm of ceph-ansible stable-3.2 branch on centos-7 * rpm will be get consumed in sc 1 and sc 4 job on centos-7 * * ceph-ansible-4.0 branch with ansible-2.9 * build rpm of ceph-ansible from stable-4.0 branch + ansible -2.9 * for train * centos-7 rpm build job * rpm will get consumed in sc1 and sc4 on centos-7 * ceph-ansible stable-3.2 branch + ansible-2.7 * build rpm of ceph-ansible stable-3.2 branch on centos-7 * rpm will be get consumed in sc 1 and sc 4 job on centos-7 Jobs running in regular or weekend pipeline * Add all the above jobs here * Add sc10 for master with ceph-ansible from stable-4.0 branch and ansible-2.9 on centos-8 ## Add jobs to test ceph-ansible and tripleo according to below test matrix * acronym: ver = version sc = scenario10 * check-rdo /check-github workflow * Matrix-1: **ceph-ansible ver <-> openstack-release <-> distro ver <-> ansible-ver <-> test** stable-3.2 -> queens -> centos-7 -> -> sc001 and 004 stable-3.2 -> queens -> centos-7 -> ansible-2.7 -> sc001 and 004 * Matrix-2: **ceph-ansible ver <-> openstack-release <-> distro ver <-> ansible-ver <-> test** stable-4.0 -> train -> centos-7 -> -> sc001 and 004 stable-4.0 -> train -> centos-7 -> ansible-2.9 -> sc001 and 004 * Matrix-3: **ceph-ansible ver <-> openstack-release <-> distro ver <-> ansible-ver <-> test** stable-4.0-> master -> centos-8 -> -> sc001 and 004 stable-4.0 -> master -> centos-8 -> ansible-2.9 -> sc001 and 004 * Matrix-4: **ceph-ansible ver <-> openstack-release <-> distro ver <-> ansible-ver <-> test** stable-4.0-> master -> centos-8 -> ansible-2.9 -> sc10 * testing with openstack-regular pipeline * Add all the above added jobs into the openstack-regular pipline * Note: Matrix-3 work is completed and Matrix 2 work is in progress. ## Notes: * Gate podman https://github.com/containers/libpod/tree/v1.4.2-stable * Need to fix the branch * testing podman and ansible-podman-collection and ansible-podman-molecule driver jobs * change of podman should work with ansible-podman-collection * test the change with podman molecule driver * [sagi] can help on installing sf zuul ap on ansible-podman-collection * It is not used currently in tripleo deployment * Create userstory of podman , ansible-podman-collection and podman molecule driver. * testing with Ansible and ceph-ansible * Create a job which will test the ansible-(stable-2.9 branch, Install it from pip) with ceph-ansible * In tripleo once ceph-ansible is getting installed * first remove ansible rpm * tell dnf not remove ansible deps * Install Ansible from pip * Hack on undercloud / overcloud to install Ansible from pip * Need to find out escalation point of the failures from third party deps in future * need to find the ownership of failing jobs * Adding these jobs to grafana * Documenting Add job description if job fails, who owns the job and add the channel name to ping