# 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