https://prefect.io logo
Title
v

Vadym Dytyniak

07/21/2022, 10:07 AM
Hi. How to pass job template in KubernetesRun as python dict?
{
            'apiVersion': 'batch/v1',
            'kind': 'Job',
            'spec': {
                'template': {
                    'spec': {
                        'nodeSelector': {
                            "<http://topology.kubernetes.io/zone|topology.kubernetes.io/zone>": "us-east-1a",
                            "<http://dask.corp.com/subnet-type|dask.corp.com/subnet-type>": "private",
                            "<http://dask.corp.com/storage|dask.corp.com/storage>": 'true',
                        },
                        'containers': [
                            {'name': 'flow'},
                        ]
                    }
                }
            }
        }
s

Sylvain Hazard

07/21/2022, 10:23 AM
Hey ! You can use
KubernetesRun(job_template=YOUR_TEMPLATE)
as described here.
:thank-you: 1
v

Vadym Dytyniak

07/21/2022, 10:27 AM
Passing example I provided fails with
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Job in version \"v1\" cannot be handled as a Job: v1.Job.Spec: v1.JobSpec.Template: v1.PodTemplateSpec.Spec: v1.PodSpec.NodeSelector: ReadString: expects \" or n, but found t, error found in #10 byte of ...|torage\": true, \"topo|..., bigger context ...|}], \"nodeSelector\": {\"<http://dask.corp.com/storage\|dask.corp.com/storage\>": true, \"<http://topology.kubernetes.io/zone\|topology.kubernetes.io/zone\>": \"us-east-1a\", |...","reason":"BadRequest","code":400}