Azure / Azure/azure-functions-core-tools
Publishing Azure functions, for Linux with python language, times out if we include AzureWebJobs.<FUNCTION_NAME>.Disabled app setting.
- Dominant language
- C#
- Stars
- 1.5k
- Forks
- 498
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 14
Description
### Version
Python: 3.12.10
Azure Functions Core Tools
Core Tools Version: 4.2.2+78afd8b84c8e31f0ddac570ba9e8128eefbd3d4a (64-bit)
Function Runtime Version: 4.1041.200.25360
### Description
Following guidance in https://learn.microsoft.com/en-us/azure/azure-functions/disable-function?tabs=portal.
If I add a configuration setting AzureWebJobs..Disabled (where FUNCTION_NAME is replace with name of my function) then deploying the Azure function using the Azure Functions Core Tools fails. Following is sample output -
```
Starting the function app deployment...
Updating Application Settings for Remote build...
Timed out waiting for SCM to update the Environment Settings
```
Just removing the configuration setting deploys the function successfully.
Interestingly, even the option to "Enable"/ "Disable" function from the Azure Portal does not work. There is no action that takes place on clicking the option.
However, if I manually define a configuration setting via the Azure portal then I get the desired behavior.
Note: This works as expected if the function is targeting C# on Windows. It only fails for Python on Linux. (didn't try other combinations)
### Steps to reproduce
1. Create an Azure function as per standard documentation / process. Ensure this function is using Linux host and function is developed using Python.
2. Add a configuration setting `AzureWebJobs..Disabled` (where FUNCTION_NAME is replaced with a valid function name)
3. Deploy the function using the command -
`func azure functionapp publish "my-test-func" --python --build remote`
4. The deployment times out.
Contributor guide
Research direction
Start by reproducing the issue with `func azure functionapp publish "my-test-func" --python --build remote` on a Linux Python function, comparing runs with and without `AzureWebJobs..Disabled`. Trace the deployment path around remote-build application settings and the SCM environment-settings timeout. Done means publishing succeeds with the setting and the function can still be disabled as intended.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, python
- Domain
- cli, cloud
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100