-
Notifications
You must be signed in to change notification settings - Fork 2.1k
ci-operator/README: Discuss platform job rebalancing #10166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
4446080 to
f0a3b23
Compare
|
Rebased onto master and dropped the |
5a87c2d to
4697a26
Compare
fc8634d to
ac09bd9
Compare
E.g. if AWS Boskos capacity is frequently pegged, this walks you through picking candidates and migrating them to GCP. Platform-specific code in the repos I'm excluding is in subpackages of: * https://github.com/openshift/cloud-credential-operator/tree/fb8f3f8094820c71d047146a8101d53cf53f98a1/pkg * https://github.com/openshift/installer/tree/85092be98f2e913e3ea9b45622b73c3bc44d6e98/pkg/types * https://github.com/openshift/machine-config-operator/tree/f8ff1d10d55425cd33c367c0911efcdd371125c6/templates/common The underscored local variables avoid pylint complaints like [1]: hack/step-jobs-by-platform.py:38:32: W0621: Redefining name 'repo_config' from outer scope (line 118) (redefined-outer-name) The pattern I've tried to stick to is: * Avoid underscores in function arguments to show these are public APIs. * Use underscores within functions, to avoid limiting underscore-free namespace at the package scope. * Avoid underscores at the package scope, unless that would conflict with a function argument. [1]: https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/openshift_release/10166/pull-ci-openshift-release-pylint/1285326870534950912
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: stevekuznetsov, wking The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Following the pattern from e7bb102 (ci-operator/config/openshift/cluster-version-operator: Generic e2e-gcp -> e2e for 4.4+, 2020-07-09, openshift#10152), this commit is using platform-agnostic names for the required tests. The role of platform-agnostic tests is discussed in 4212d7d (ci-operator/README: Discuss platform job rebalancing, 2020-07-09, openshift#10166). The platform-specific jobs are retained, in case folks want to ask for them explicitly with '/test e2e-aws', etc. while performing any platform-specific tuning logic. Making them on-demand reduces our load in platforms where we are near capacity. With this change: * We grow a new, platform-agnostic e2e that is always_run=true and optional=false. * e2e-gcp-upgrade becomes the platform-agnostic e2e-upgrade. * e2e-aws-operator becomes the platform-agnostic e2e-operator. * e2e-aws-disruptive becomes the platform-agnostic e2e-disruptive. * e2e-aws and e2e-gcp become always_run=false and optional=true. * e2e-azure and e2e-metal-ipi become always_run=false (they were already optional=true). I've also ordered the configs to place the platform-agnostic stuff first and shunt the platform-specific stuff towards the end. Generated by manually changing `ci-operator/config/...`, running: $ make update and tuning the configurable [1] always_run and optional. [1]: https://github.com/openshift/ci-tools/blob/7fb6fd8b3802e47162442c9a5e10807952ba12eb/GENERATOR.md#hand-edited-prow-configuration
E.g. if AWS Boskos capacity is frequently pegged, this walks you through picking candidates and migrating them to GCP.