Azure / data-management-zone

Template to deploy the Data Management Zone of Cloud Scale Analytics (former Enterprise-Scale Analytics). The Data Management Zone provides data governance and management capabilities for the data platform of an organization.
MIT License
169 stars 87 forks source link

Bug: DeploymentOutputEvaluationFailed #286

Open ansmah opened 2 years ago

ansmah commented 2 years ago

Deployment Mode

Deploy To Azure

Steps to reproduce

Screenshot 2022-03-03 162304

Error when choosing deploy in Azure Landing Zone (former Enterprise-Scale Landing Zone) environment when specifying Third Party Appliance firewall and the DNS Forwarder IP addresses of existing environment.

Error Message

{
    "status": "Failed",
    "error": {
        "code": "DeploymentOutputEvaluationFailed",
        "message": "Unable to evaluate template outputs: 'serviceSubnet'. Please see error details and deployment operations. Please see https://aka.ms/arm-debug for usage details.",
        "details": [
            {
                "code": "DeploymentOutputEvaluationFailed",
                "target": "serviceSubnet",
                "message": "The template output 'serviceSubnet' is not valid: The language expression property array index '1' is out of bounds.."
            }
        ]
    }
}

Screenshots

No response

Code of Conduct

marvinbuss commented 2 years ago

Thanks for sharing this issue @ansmah. Let me try to reproduce this on my side.

marvinbuss commented 2 years ago

Hi @ansmah I just tried reproducing the issue in the portal, but I was not able to get the same error. Would you be able to share the selected IP addresses with me? You can also reach out to me on LinkedIn and share the information in a private message: https://www.linkedin.com/in/marvinbuss/

image image

ansmah commented 2 years ago

hi @marvinbuss I have shared details with the IP addresses I have used in the portal with you over LinkedIn

ansmah commented 2 years ago

@marvinbuss I think the issue is in network.bicep where its specified in output to look for output serviceSubnet string = vnet.properties.subnets[1].id

In the case where "enableDnsAndFirewallDeployment": {

        "value": false

    },

There is only one element returned in var subnets. Trying this locally to see if we can make it work here.

output serviceSubnet string = enableDnsAndFirewallDeployment ? vnet.properties.subnets[1].id : vnet.properties.subnets[0].id

abdale commented 2 years ago

I'm seeing the same issue only when I try to deploy into Azure Landing Zone.

"statusMessage": "{\"status\":\"Failed\",\"error\":{\"code\":\"ResourceDeploymentFailure\",\"message\":\"The resource operation completed with terminal provisioning state 'Failed'.\",\"details\":[{\"code\":\"DeploymentOutputEvaluationFailed\",\"message\":\"Unable to evaluate template outputs: 'serviceSubnet'. Please see error details and deployment operations. Please see https://aka.ms/arm-debug for usage details.\",\"details\":[{\"code\":\"DeploymentOutputEvaluationFailed\",\"target\":\"serviceSubnet\",\"message\":\"The template output 'serviceSubnet' is not valid: The language expression property array index '1' is out of bounds..\"}]}]}}",

ansmah commented 2 years ago

the modified output line allows me to deploy into Landing Zone.

imcloud-unni commented 1 year ago

@ansmah Could you please let me know, whether you changed that particular line only in network.bicep file OR did any other additional step. I also changed the line, but the same error happening.