Azure / Azure/azure-cli

Datetime dependent error when creating pipeline

Open
#26,857 5 comments 0 reactions 0 assignees View on GitHub
act-codegen-extensibility-squad Auto-Assign Auto-Resolve bug customer-reported Machine Learning needs-team-attention Service Attention
Dominant language
Python
Stars
4.6k
Forks
3.5k
Avg merge
3d 2h
Merged PRs (30d)
60

Description

### Describe the bug

Trying to create a job using `az ml job craete -f hello_pipeline.yaml` where hello_pipline.yaml contains (modified from an example found [here](https://learn.microsoft.com/en-us/azure/machine-learning/reference-yaml-job-pipeline?view=azureml-api-2)):

```yaml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
display_name: hello_pipeline
type: pipeline
inputs:
somevariable: "2023-01-01T00:00:00Z"
jobs:
hello_job:
command: echo "hello"
environment: azureml:AzureML-sklearn-1.0-ubuntu20.04-py38-cpu@latest
compute: computename
world_job:
command: echo "world"
environment: azureml:AzureML-sklearn-1.0-ubuntu20.04-py38-cpu@latest
compute: computename
settings:
default_datastore: datastorename
```
the below error is thrown even though the created pipeline runs successfully in Azure Machine Learning. The error disappears when the value of somevariable is changed to "2023-01-01 00:00:00Z" with the pipeline still running successfully. This behaviour is independent of the name of the variable (somevariable here).

### Related command

az ml job create -f pipeline.yaml

### Errors

(UserError) A job with this name already exists. If you are trying to create a new job, use a different name. If you are trying to update an existing job, the existing job's Settings, Inputs, Outputs, Jobs, InputBindings, OutputBindings cannot be changed. Only description, tags, displayName, properties, and isArchived can be updated.
Code: UserError
Message: A job with this name already exists. If you are trying to create a new job, use a different name. If you are trying to update an existing job, the existing job's Settings, Inputs, Outputs, Jobs, InputBindings, OutputBindings cannot be changed. Only description, tags, displayName, properties, and isArchived can be updated.
Additional Information:Type: ComponentName
Info: {
"value": "managementfrontend"
}Type: Correlation
Info: {
"value": {
"operation": "XXXXX",
"request": "XXXX"
}
}Type: Environment
Info: {
"value": "SOMELOCATION"
}Type: Location
Info: {
"value": "SOMELOCATION"
}Type: Time
Info: {
"value": "2023-07-10T12:25:55.5257915+00:00"
}Type: InnerError
Info: {
"value": {
"code": "Immutable",
"innerError": {
"code": "JobPropertyImmutable",
"innerError": null
}
}
}Type: MessageFormat
Info: {
"value": "A job with this name already exists. If you are trying to create a new job, use a different name. If you are trying to update an existing job, the existing job's{property} cannot be changed. Only description, tags, displayName, properties, and isArchived can be updated."
}Type: MessageParameters
Info: {
"value": {
"property": " Settings, Inputs, Outputs, Jobs, InputBindings, OutputBindings"
}
}

### Issue script & Debug output

I did not add debug output since it is really long and I don't want to go through the whole thing to remove sensitive information at this point.

### Expected behavior

Creation of the pipeline should work when using the date time format "YYYY-mm-ddThh:mm:ssZ". However, why are variables under inputs parsed for datetime formats irrespective of their variable name?

### Environment Summary

azure-cli 2.50.0

core 2.50.0
telemetry 1.0.8

Extensions:
ml 2.18.0

Dependencies:
msal 1.22.0
azure-mgmt-resource 23.1.0b2

Python location '/opt/az/bin/python3'
Extensions directory '/opt/az/extensions'

Python (Linux) 3.10.10 (main, Jun 29 2023, 11:09:34) [GCC 9.4.0]

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.