changed 5 years ago
Linked with GitHub

Full end to end CI for ceph-ansible

Problem

ceph-ansible is used in TripleO deployment using ceph-ansible.
It basically runs in scenario 1 and 4 jobs where a released ceph-ansible rpm is consumed.

Current Workflow

New version of ceph-ansible lands in CentOS Build System and is consumed through storage repo in TripleO CI job. Currently Ceph developers, updates the release file for all release with the new base repo url from ceph-nautilus testing tag of the ceph repo and then tests it in scenario-1 and scenario-04.

For example: https://review.opendev.org/#/c/501810/ updates the centos testing repo for ceph
and https://review.opendev.org/#/c/501987/ a patch against tripleo heat templates to trigger the tripleo based scenario-01 and scenario-03 got triggered.

It is a manual process and it requires a lot of effort.

Vision

In order to catch issues in ceph-ansible which affect ooo deployments before they get into ceph-ansible releases.

Proposal

trigger one of the existing tripleo jobs on every pull-request for ceph-ansible and publish back the results into a pull-request comment

Work down till now

Integrate ceph-ansible github repo with Zuul

Current Jobs defined for ceph-ansible Integration

Work pending

  • Since rpm is already generated and repo is there, we need to pass this repo to other job
  • Build test packages needs to be improved if depends-on of ceph-ansible patch used in rdo reviews or vice versa
    • [better] Improve build-test-packages to build the rpm itself there as just like normal jobs by parsing git commit message
  • Need to find a list of files on which we need to trigger the job on each ceph-ansible PR
  • Add the job in cockpit for monitoring and maintaince

Some reuse of the tools

Open Questions:

  • Do we want to run tripleo-jobs on each PR?
    • IF yes, then we need to find list of files going to change on which tripleo jobs will be triggered?
    • all ceph-ansible stable-4 branches trigger tripleo train
    • all ceph-ansible stable-3 branches trigger tripleo queens (or rocky)
  • Except scenario 1 & 4, is there any other fastest job we can run?
  • What about adding a post pipeline which got triggered automatically if a new release of ceph-ansible comes?

Design Approach on passing yum repos file to TripleO CI Job [needs discussion with team]

Select a repo