Factory2 Team, Fedora QA Team, Infrastructure Team
gnaponie (giulia), mprahl, lucarval, ralph (threebean)
- Public addresses
Provide gating decisions.
See the focus document for background.
See the upstream docs for more detailed info.
Greenwave’s job is:
answering yes/no questions (or making decisions)
about artifacts (RPM packages, source tarballs, …)
at certain gating points in our pipeline
based on test results
according to some policy
In particular, we’ll be using Greenwave to provide yes/no gating decisions to Bodhi about rpms in each update. Greenwave will do this by consulting resultsdb and waiverdb for individual test results and then combining those results into an aggregate decision.
The policies for how those results should be combined or ignored, are defined in ansible in roles/openshift-apps/greenwave/templates/configmap.yml. We expect to grow these over time to new use cases (rawhide compose gating, etc..)
Observing Greenwave Behavior
authenticate remotely with openshift using
oc login https://os.fedoraproject.org), and run:
$ oc project greenwave $ oc status -v $ oc logs -f dc/greenwave-web
Greenwave currently has no database (and we’d like to keep it that way).
It relies on
waiverdb for information.
You can roll out configuration changes by changing the files in roles/openshift-apps/greenwave/ and running the playbooks/openshift-apps/greenwave.yml playbook.
To understand how the software is deployed, take a look at these two files:
See that we build a fedora-infra specific image on top of an app image
published by upstream. The
latest tag is automatically deployed to
staging. This should represent the latest commit to the
of the upstream git repo that passed its unit and functional tests.
prod-fedora tag is manually controlled. To upgrade prod to match
what is in stage, move the
prod-fedora tag to point to the same image
latest tag. Our buildconfig is configured to poll that tag, so
a new os.fp.o build and deployment should be automatically created.
You can watch the build and deployment with
You can poll this URL to see what version is live at the moment:
In case of problems with greenwave messaging, check the logs of the container dc/greenwave-fedmsg-consumers to see if the is something wrong:
$ oc logs -f dc/greenwave-fedmsg-consumers
It is also possible to check if greenwave is actually publishing messages looking at this link and checking the time of the last message.
In case of problems with greenwave webapp, check the logs of the container dc/greenwave-web:
$ oc logs -f dc/greenwave-web
Want to help? Learn how to contribute to Fedora Docs ›