---
# System prepended metadata

title: How triggers/triggered jobs work
tags: [scenario10, Documentation]

---

# How triggers/triggered jobs work

###### tags: `Documentation` `scenario10`

As we know, scenario10 kvm jobs are now triggered by integration/component lines in RDO but are actually running in downstream infra. This is how it works.

A trigger job runs in the integration and component lines. This commits a file in https://review.rdoproject.org/r/{{ trigger_repository }} repos. These files are used as file triggers for the actual scenario 10 kvm jobs that runs downstream.

- create-scenario010-trigger-for-downstream is the trigger job that runs in integration lines https://github.com/rdo-infra/rdo-jobs/blob/9c0145f52b7597e25d81ea7135eb59d38b046186/zuul.d/integration-pipeline-main.yaml
- ^ is defined in config repo https://github.com/rdo-infra/review.rdoproject.org-config/blob/49d7aa53d6275e6f53e571d70030d24d5e4352a6/zuul.d/downstream-scenario010-kvm-trigger.yaml
- ^'s playbook is defined here https://github.com/rdo-infra/review.rdoproject.org-config/blob/master/playbooks/scenario010-kvm-trigger.yaml#L70
- The variables trigger_branch, trigger_os_distro, trigger_component are defined here https://github.com/rdo-infra/rdo-jobs/blob/9c0145f52b7597e25d81ea7135eb59d38b046186/zuul.d/integration-pipeline-main.yaml#L28, https://github.com/rdo-infra/rdo-jobs/blob/9c0145f52b7597e25d81ea7135eb59d38b046186/zuul.d/component-jobs-master.yaml#L1058
- So ultimately they create files like master_centos_9network etc
- The actual scenario 10 kvm jobs are defined downstream in openstack/tripleo-ci-internal-jobs zuul.d
- The template is defined in openstack/tripleo-ci-internal-config zuul.d/project.yaml with file triggers

A sample workflow adding c9 standalone 10 kvm jobs:

1. https://review.rdoproject.org/r/c/config/+/37458 - since we did not consider differenciating the trigger files based on os version
2. https://code.engineering.redhat.com/gerrit/c/openstack/tripleo-ci-internal-config/+/300982 - updates trigger file syntax in the template
3. https://review.rdoproject.org/r/c/rdo-jobs/+/37457 - Updates syntax of files commited by trigger jobs
4. https://code.engineering.redhat.com/gerrit/c/openstack/tripleo-ci-internal-jobs/+/300891 - adds the actual sc 10 kvm c9 job, also adds nodeset to be used in this job