Test-infra: Add a prow controller manager binary

Created on 30 Mar 2020  路  12Comments  路  Source: kubernetes/test-infra

What would you like to be added:

A prow controller manager binary that contains:

  • Sinker
  • Plank
  • Crier
  • Jenkins opreator

Probably more in the future

Why is this needed:

The current design of "one binary per controller" has a set of drawbacks:

  • It makes prow hard to debug for ppl that are not intimatedly familiar with its architecture
  • It makes prow hard to setup, because a total of a billion flags has to be set properly
  • It creates a needless amount of overhead on the apiserver due to zero cache sharing
  • It increases the overhead for adding something to Prow

A sample of "Weird things we did because overhead of a new component is too high": The abortDuplicates functionality is in a library and imported by multiple agent implementations instead of having one controller that sets unneeded ProwJobs to aborted via a spec field and then have all the agents abort the test workloads based on that.

/area prow

areprow kinfeature lifecyclrotten

Most helpful comment

Hook and deck have different availability requirements and therefore should remain separate. Merging the other stuff -- how about horologium? -- makes sense.

All 12 comments

Wouldn't it be better if that was handled similar to how hook plugins are handled right now, so that the proposed components would be plugins of a prow-controller-manager.

Thinking of that approach since not everyone is using e.g. crier, jenkins operator. Plank and sinker could be enabled by default and if someone wants more, enable more?

Wouldn't it be better if that was handled similar to how hook plugins are handled right now, so that the proposed components would be plugins of a prow-controller-manager.

Thinking of that approach since not everyone is using e.g. crier, jenkins operator. Plank and sinker could be enabled by default and if someone wants more, enable more?

Generally, adding flags to enable/disable certain controllers could make sense. IMHO all of the mentioned controllers should be enabled, they will not do anything if you don't use them.

Hook and deck have different availability requirements and therefore should remain separate. Merging the other stuff -- how about horologium? -- makes sense.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

/remove-lifecycle-stale
This actually exists already at https://github.com/kubernetes/test-infra/blob/3c8c05e6db807a2edb26f354cfd069fea3e1080d/config/prow/experimental/controller_manager.yaml and currently contains the PlankV2 implementation

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/reopen
/lifecycle active

@alvaroaleman: Reopened this issue.

In response to this:

/reopen
/lifecycle active

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Aisuko picture Aisuko  路  3Comments

cjwagner picture cjwagner  路  3Comments

zacharysarah picture zacharysarah  路  3Comments

BenTheElder picture BenTheElder  路  4Comments

xiangpengzhao picture xiangpengzhao  路  3Comments