testgrid-config-generator

command
v0.0.0-...-c780de0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

README

Updating TestGrid configuration

This utility updates the TestGrid configuration based on our job annotations and release-controller configuration.

Blocking jobs are those that signal widespread failure of the platform. These are traditionally the core end-to-end test runs on our major platforms and upgrades from previous versions. Informing jobs are a broader suite that test the variety of enviroments and configurations our customers expect. Broken jobs are those that have a known, triaged failure that prevents their function for a sustained period of time (more than a week).

The release config and the job annotation combine to determine the dashboard. If a job in the release definition is an upgrade job it goes into the overall informing dashboard (because upgrades cross dashboards), if it is optional it is considered informing, and is otherwise considered blocking. If the job has an entry in /release/core-services/testgrid-config-generator/_allow-list.yaml that will override the default on the job (unless the job is blocking on the release controller and the annotation is informing). The allowed values in _allow-list are informing, broken and generic-informing. Note: blocking is not a valid entry in the _allow-list since blocking jobs must be in the release controller configuration.

The name of jobs are used to determine which dashboard tab they are grouped with. If they have -okd- in their name they are grouped as an OKD tab, and if they have -ocp- or -origin- they are considered OCP tabs. The job must have an -X.Y identifier to be associated to a release version.

New jobs should start in broken until they have successive runs, then they can graduate to informing or blocking. A job does not have to be referenced by the release controller to be informing - the release controller simply ensures it is run once per release build.

PRs are generated automatically for runs of the testgrid-config-generator tool which result in changes in github.com/kubernetes/test-infra/config/testgrids/openshift. This is done by the periodic-prow-auto-testgrid-generator job which is run once a day.

Optionally users can run the testgrid-config-generator tool manually to check the results of their changes locally. Instructions for manual runs are given below.

Note: Go 1.13 is required.

First build testgrid-config-generator:

$ pwd
path/to/github.com/openshift/ci-tools/cmd/testgrid-config-generator
$ ls
main.go  README.md
$ go version
go version go1.13 linux/amd64
$ go build .
go: downloading ...
...
$ ls
main.go  README.md  testgrid-config-generator

Ensure you have cloned and updated https://github.com/kubernetes/test-infra locally, along with https://github.com/openshift/release

Assuming you have all your repos rooted at the same toplevel dir, you can run the following command from the github.com/openshift/ci-tools/cmd/testgrid-config-generator directory, otherwise you will need to specify the correct paths to the repos/subdirs:

$ ./testgrid-config-generator -testgrid-config ../../../../kubernetes/test-infra/config/testgrids/openshift -release-config ../../../release/core-services/release-controller/_releases -prow-jobs-dir ../../../release/ci-operator/jobs -allow-list=../../../release/core-services/testgrid-config-generator/_allow-list.yaml

Verify that changes were made by checking your local test-infra repo. For example:

$ cd path/to/github.com/kubernetes/test-infra/config/testgrids/openshift
$ git status
modified:   groups.yaml
new file:   redhat-openshift-...

Commit the changes and file a PR in https://github.com/kubernetes/test-infra/ to land them if you cannot wait for the daily run of periodic-prow-auto-testgrid-generator job.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL