couler-proj / couler

Unified Interface for Constructing and Managing Workflows on different workflow engines, such as Argo Workflows, Tekton Pipelines, and Apache Airflow.

Home Page:https://couler-proj.github.io/couler/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Passing a `kube_client_config` to `client_configuration` on `Submitter` constructor doesn't save the `client_configuration`

moshewe opened this issue · comments

Summary

Submitter constructor ignores client configuration passed.

Diagnostics

I was trying to instantiate a Submitter to point to a certain URL by passing in a client configuration thusly:

kube_client_config = Configuration(host=ARGO_HOST_URL)
submitter = ArgoSubmitter(client_configuration=kube_client_config)

All attempts to submit a workflow resulted in calls to localhost. Looking into the code, I saw that the Submitter constructor created _custom_object_api_client and _core_api_client without the passed in configuration.

Using Couler 0.1.1rc8
Argo version 2.11.7

Suggested solution:

Instantiate the API/Code clients with the given configuration.

Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

Thanks for reporting. Would you like to submit a PR to allow passing the configuration to submitter?

Sure thing.
I've also noticed another thing - kube_config.py:load_kube_config doesn't save a configuration as default (to be used also when creating clients as above) when the passed in configuration is not None. Would it be wise for our use case to explicitly set the given configuration as default? I consider this analogous to the assumption as in #213 , that a process is highly unlikely to change its kube_client_config once set.

fixed and clsoed