-
Notifications
You must be signed in to change notification settings - Fork 270
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
add JOB_KUBE_LABELS #236
add JOB_KUBE_LABELS #236
Conversation
Tested it on minikube with and without orchestration enabled (with E2E Testing connectors). Also checked that there is no crash if this variable not set. |
Looks good to me! Now testing internally. |
/create-oss-pr |
@igsaf2 I'm trying to follow up on this PR as I've upgraded my Airbyte to v0.50.17 which includes this PR. |
@chendatadog Personaly, I switched to my version of Airbyte platform to roll out changes I need faster and I am completely behind the current codebase. So I cannot tell anything useful here. My code already differs a lot and I cannot debug current Airbyte versions without a proper dive-in. |
@igsaf2 I confirmed that JOB_KUBE_LABELS env variable is set correctly. I can see the team label under "KUBERNETES LABELS" on airbyte-worker pod. However I can't find this label on airbyte-read or airbyte-write pod. |
I can confirm the same issue on my setup: |
Same here the JOB_KUBE_LABELS does not work! |
same issue on the latest (0.57.3 today) version of airbyte. |
What
Resolves: airbytehq/airbyte#7790
How
Add
JOB_KUBE_LABELS
env variable in a similar toJOB_KUBE_ANNOTATIONS
way.The differences are:
ENV_VARS_TO_TRANSFER
to pass the labels variable to an orchestrator podKubeProcessFactory.getLabels
to accept labels fromJOB_KUBE_LABELS
(with the lowerst priority if the keys areThere are some limitations in the way how config works with Micronaut as of now. It requires
CHECK
,DISCOVER
,SPEC
prefixed variables to run specific jobs and do not fallback to default. This problem exists for otherJOB_KUBE_*
variables and it seems like some refactoring is ongoing, so I left it out.I also left out
JOB_KUBE_LABELS
for normalization jobs. I did it because otherJOB_KUBE_*
variables behave in the same way and I have no easy way to test this feature.Recommended reading order
Configs
airbyte-config/config-models/src/main/java/io/airbyte/config/Configs.java
airbyte-config/config-models/src/main/java/io/airbyte/config/EnvConfigs.java
airbyte-commons-worker/src/main/java/io/airbyte/workers/WorkerConfigs.java
airbyte-workers/src/main/resources/application.yml
airbyte-commons-worker/src/main/java/io/airbyte/workers/config/KubeResourceConfig.java
airbyte-commons-worker/src/main/java/io/airbyte/workers/config/WorkerConfigsProvider.java
airbyte-commons-temporal/src/main/java/io/airbyte/commons/temporal/sync/OrchestratorConstants.java
Tests
airbyte-workers/src/test/java/io/airbyte/workers/config/WorkerConfigProviderMicronautTest.java
airbyte-workers/src/test/resources/application-config-test.yaml
Process Creation
airbyte-commons-worker/src/main/java/io/airbyte/workers/process/KubeProcessFactory.java
airbyte-commons-worker/src/main/java/io/airbyte/workers/sync/LauncherWorker.java
Helm
charts/airbyte-worker/values.yaml
charts/airbyte-worker/templates/deployment.yaml
charts/airbyte/values.yaml.test
charts/airbyte/values.yaml
charts/airbyte/templates/env-configmap.yaml
Can this PR be safely reverted / rolled back?
If unsure, leave it blank.