
Reputation
Badges 1
6 × Eureka!From what we have seen, In order to submit the pipeline to ClearML.
Clearml processes the pipeline script locally and submits it to the queue. What happens locally is that is creates a controller task (task that orchestrates the pipeline I guess) and records the arguments of the script that needs to execute as part of this task i.e the pipeline script
Now once it is submitted to the queue, a new worker pod is spin up that continues this controller task (that was created in ClearML when the s...
After digging deep, giving the script definition starts as below
@click.command()
@click.option('--test_multiple', type=str, required=False, multiple=True, help='Test multiple values')
def test_pipeline(test_multiple: list[str] | None) -> None:
....
and looking at the Args
stored in the HyperParams
of the controller task, it stores the Args value as '(test1,)'
and the type as STRING
and maybe that is why the script is erroring out when the pipeline is running ...
Since it does not like string being given when the function definition has list[str]
So I had to create a regular service to get it working.
apiVersion: v1
kind: Service
metadata:
name: clearml-mongodb
labels:
app.kubernetes.io/component: mongodb
spec:
selector:
app.kubernetes.io/component: mongodb
ports:
- name: http
protocol: TCP
port: 27017
targetPort: 27017
I am wondering has anyone faced this before for the k8s installation
Not sure how this example would work since after looking at mongodb templates, it either creates a headless service or a external access service via loadbalancer. So in this case not sure how it can pass the init-apiserver check about