Open Bug 1578922 Opened 5 years ago Updated 4 years ago

Let's move `workerConfig` up to the top level of workerPool configs in worker-manager

Categories

(Taskcluster :: Services, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

People

(Reporter: bstack, Unassigned)

References

Details

This will allow us to do a better job documenting it and possibly even schematizing it. This works because worker-runner will pull from it even for static instances.

My understanding of the decision last night:

  • Each WorkerPool has a top-level workerConfig property
  • That config might be exposed through the response to registerWorker, or maybe through another API method
  • tc-worker-runner would be modified to get the configuration from wherever it's exposed and merge it into the worker config
  • worker config would no longer be included in instance metadata

I'm not sure how schematizing would work -- how would a worker implementation register its schema? How would worker-manager know which version of which worker implementation a particular worker pool corresponded to?

Each WorkerPool has a top-level workerConfig property

...which is optional, we seemed to agree?

how would a worker implementation register its schema?

The workerConfig object schema will probably live in worker-manager, for the cases when it's set manually through workerPool... Is there a separate schema checks in workers and/or worker-manager?

Yes, good point -- it's optional.

What do you mean by "live in worker-manager"? In the source, or in an Azure table?

worker config would no longer be included in instance metadata I think it would still be there for the cloud use-cases to use if they want. Then we can provide a separate endpoint to fetch it for static?

(In reply to Brian Stack [:bstack] from comment #5)

worker config would no longer be included in instance metadata I think it would still be there for the cloud use-cases to use if they want. Then we can provide a separate endpoint to fetch it for static?

I think this would already be covered by workermanager.workerPool.

You need to log in before you can comment on or make changes to this bug.