Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtimeSubnetId not used? No IP addresses are used when deploying an app #374

Closed
1 of 3 tasks
cwe1ss opened this issue Aug 25, 2022 · 7 comments
Closed
1 of 3 tasks
Labels
Needs: triage 🔍 Pending a first pass to read, tag, and assign

Comments

@cwe1ss
Copy link

cwe1ss commented Aug 25, 2022

This issue is a:

  • bug report -> please search issues before submitting
  • documentation issue or request
  • regression (a behavior that used to work and stopped in a new release)

Issue description

When connecting an app environment to a VNET, no IPs are used from the "runtimeSubnetId".

Steps to reproduct

  1. Create a VNET with two subnets (the first one for infrastructure, the second one for runtime)
  2. Assign those subnets to "infrastructureSubnetId" and "runtimeSubnetId" on the environment "vnetConfiguration" (internal: false)
  3. Deploy an app
  4. Call the app URL to ensure it's running
  5. Look at "connected devices" on the VNET or run (Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $groupName -ExpandResource 'subnets/ipConfigurations').Subnets[1].IpConfigurations.Count.
  6. There are no IPs used from the runtime subnet. (wheres the infrastructure-subnet is using 183 ip addresses)

Expected behavior [What you expected to happen.]
I expected the app to take an IP address from the runtime subnet since its documentation says "Resource ID of a subnet that Container App containers are injected into."

Actual behavior [What actually happened.]
No IPs are used from the "runtimeSubnetId". I have no idea which IP address has been given to the app.

Screenshots

I noticed that when you look at the environment in the Azure portal's resource explorer, the "runtimeSubnetId" property is not returned but the property does show up in the deployed template details.

Deployed template:
image

View from resource explorer:
image

(PS: Note that this also doesn't show the dapr* fields for some reason, but dapr does log dependency calls to Application Insights)

@ghost ghost added the Needs: triage 🔍 Pending a first pass to read, tag, and assign label Aug 25, 2022
@ezYakaEagle442
Copy link

The “runtime subnet” field is currently deprecated and not used. If you provide a value there during creation of your container apps environment it will be ignored. Only the infrastructure subnet is required if you wish to provide your own VNET.
see

@kendallroden
Copy link
Contributor

To echo the above, the runtime subnet is not required and the updates are reflected in our documentation

@cwe1ss
Copy link
Author

cwe1ss commented Sep 10, 2022

Thank you for the information!

Would be great if you could document this in the Bicep/ARM reference as well - it's not deprecated there yet:

image

https://docs.microsoft.com/en-us/azure/templates/microsoft.app/managedenvironments?pivots=deployment-language-bicep

@praneetloke
Copy link

Yeah I was misled as well from looking at the Bicep/ARM reference. I don't see a way to contribute edits to that page. It would be good to patch that up as well.

navba-MSFT added a commit to Azure/azure-rest-api-specs that referenced this issue Nov 2, 2022
fixes #21354

runtimeSubnetId was the old way of doing it and now it is no longer needed.

This PR updates the description of this property. More Info here:

microsoft/azure-container-apps#374
MicrosoftDocs/azure-docs#100319
@jimseld
Copy link

jimseld commented Dec 1, 2022

Doc still isn't updated regarding deprecation of runtimeSubnetId, for both ARM and Bicep.

https://learn.microsoft.com/en-us/azure/templates/microsoft.app/managedenvironments?pivots=deployment-language-arm-template

@miqm
Copy link

miqm commented Jan 9, 2023

And now the deployment fails - the 2022-03-01 API still defines this property. This is a breaking change and it shouldn't be done like that. You may ignore but you shuldn't change API backwards!

On one case you (Microsoft) cannot make a change for vnet empty subnets property behavior for 7 years(!), but here you make a deployment breaking change and you don't even care to update docs.

I don't see any logic here.

cc: @bmoore-msft

@bmoore-msft
Copy link

Sorrym no ideas - this one is even odd for me?!?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs: triage 🔍 Pending a first pass to read, tag, and assign
Projects
None yet
Development

No branches or pull requests

7 participants