Skip to content
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

fix(worker): Pass configured tolerations to AsyncOrchestratorPodProcess #292

Closed

Conversation

justenwalker
Copy link
Contributor

@justenwalker justenwalker commented Dec 6, 2023

What

The previous implementation of AsyncOrchestratorPodProcess did not account for tolerations that are configured for the worker pods; so if a nodeSelector was configured to isolate pods into their own private node group, the lack of a toleration could make these pods unscheduled since they would not tolerate the node taint on such a node group.

How

This solution passes the getWorkerKubeTolerations() into the AsyncOrchestratorPodProcess.create method so that the replicator pod that is created is configured with the tolerations that were configured for the job pod.

Recommended reading order

  1. airbyte-commons-worker/src/main/java/io/airbyte/workers/process/AsyncOrchestratorPodProcess.java
  2. airbyte-commons-worker/src/main/java/io/airbyte/workers/sync/LauncherWorker.java
  3. airbyte-workers/src/test-integration/java/io/airbyte/workers/process/AsyncOrchestratorPodProcessIntegrationTest.java

Can this PR be safely reverted / rolled back?

If you know that your PR is backwards-compatible and can be simply reverted or rolled back, check the YES box.

Otherwise if your PR has a breaking change, like a database migration for example, check the NO box.

If unsure, leave it blank.

  • YES 💚
  • NO ❌

🚨 User Impact 🚨

Are there any breaking changes? What is the end result perceived by the user? If yes, please merge this PR with the 🚨🚨 emoji so changelog authors can further highlight this if needed.

@marcosmarxm
Copy link
Member

@davinchia can we take a look in this contribution?

@justenwalker justenwalker force-pushed the jwalker/repl-tolerations branch from 0c60b48 to 5c6167d Compare December 8, 2023 04:20
The previous implementation of AsyncOrchestratorPodProcess did not
account for tolerations that are configured for the worker pods; so if a
nodeSelector was configured to isolate pods into their own private node
group, the lack of a toleration could make these pods unschedulable
since they would not tolerate the node taint on such a node group.
@justenwalker
Copy link
Contributor Author

@davinchia rebased. Should hopefully be a straight-forward change; unless there is some other way you'd like to approach this?

Copy link

Quality Gate Passed Quality Gate passed

Kudos, no new issues were introduced!

0 New issues
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@davinchia
Copy link
Contributor

/create-oss-pr

@davinchia
Copy link
Contributor

@justenwalker talking a look!

@davinchia
Copy link
Contributor

I've merged this in our internal repo. This should be mirrored out soon. Closing this PR and releasing an OSS version.

@davinchia davinchia closed this Dec 14, 2023
@justenwalker justenwalker deleted the jwalker/repl-tolerations branch December 14, 2023 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants