Azure durable orchestration function doesn't exist, is disabled, or is not an orchestrator function

1.8k views Asked by At

Azure Durable HttpStart failed at client.start_new(req.route_params["functionName"], None, None) function call.

Function app works local develop environment, even in docker container. Once it's deployed to Azure Kubernetes Service, HttpStart function failed to start Orchestration Function.

Log trace:

Microsoft.Azure.WebJobs.Host.FunctionInvocationException: Exception while executing function: Functions.DurableFunctionsHttpStart
 ---> Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException: Result: Failure
Exception: Exception: The function 'DurableFunctionsOrchestrator' doesn't exist, is disabled, or is not an orchestrator function. Additional info: No orchestrator functions are currently registered!
Stack:   File "/azure-functions-host/workers/python/3.7/LINUX/X64/azure_functions_worker/dispatcher.py", line 338, in _handle__invocation_request
    call_result = await fi.func(**args)
  File "/home/site/wwwroot/DurableFunctionsHttpStart/__init__.py", line 16, in main
    instance_id = await client.start_new(req.route_params["functionName"], None, None)
  File "/usr/local/lib/python3.7/site-packages/azure/durable_functions/models/DurableOrchestrationClient.py", line 82, in start_new
    raise Exception(exception_message)

System overview:

Function runtime: 3.0.2630
Python version: 3.7.7
azure-functions: 1.3.1
azure-functions-durable: 1.0.0b9/1.0.0b7
Kubernetes version: 1.17.11
Node size: Standard_DS2_v2
OS type: Linux

Docker file:

FROM mcr.microsoft.com/azure-functions/python:3.0-python3.7

ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
    AzureFunctionsJobHost__Logging__Console__IsEnabled=true \
    WEBSITE_HOSTNAME=<ip-address>:<port>

COPY requirements.txt /
RUN pip install -r /requirements.txt

COPY . /home/site/wwwroot

Reproduction scenario:

  1. Create a Durable Function HttpStart App from VSCode.
  2. Use func init --docker-only command
  3. Docker command az acr build --registry yourRegistryName --image durableFunction:v1 .
  4. Deploy in AKS func kubernetes deploy --name durableFunction --namespace yourNameSpace --service-type ClusterIP --registry yourRegistryName

Funcation app starts normally but when failed in http post request. However, this same contaninarized function app, works in Azure Hosted Function App.

There is an similar issue was reported two years back, but it's happening now.

0

There are 0 answers