Skip to content

Conversation

@wking
Copy link
Member

@wking wking commented Jul 9, 2020

E.g. if AWS Boskos capacity is frequently pegged, this walks you through picking candidates and migrating them to GCP.

@wking wking force-pushed the rebalance-docs branch 6 times, most recently from 4446080 to f0a3b23 Compare July 10, 2020 16:25
@wking
Copy link
Member Author

wking commented Jul 10, 2020

Rebased onto master and dropped the unable to determine platform-agnostic workflows... bit now that #10165 has landed.

@wking wking force-pushed the rebalance-docs branch 4 times, most recently from 5a87c2d to 4697a26 Compare July 16, 2020 20:46
@wking wking force-pushed the rebalance-docs branch 2 times, most recently from fc8634d to ac09bd9 Compare July 16, 2020 23:19
@openshift-ci-robot openshift-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 18, 2020
@openshift-ci-robot openshift-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 20, 2020
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
@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Jul 21, 2020
@openshift-ci-robot
Copy link
Contributor

[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

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 21, 2020
@openshift-merge-robot openshift-merge-robot merged commit ec1eed3 into openshift:master Jul 21, 2020
@wking wking deleted the rebalance-docs branch July 22, 2020 03:55
wking added a commit to wking/openshift-release that referenced this pull request Aug 27, 2020
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants