Hacker News new | ask | show | jobs
by anirudhgarg 1432 days ago
Hi tremon. I work for the Azure Functions team. Sorry for the trouble. This should not happen. We should be giving you a proper response code when the deployment fails. It looks like you are using the sync version of the API but just double checking if you are using the sync or async version ? If you are using the async version then in that case we do return a 201 immediately and then you can use the status url to poll for the status. I would like to dig in and figure out what's happening here.

For the PowerShell Az issue as well - it would be good to know what command you were using/what you were trying to do. We dont support deployment of code using the Functions PowerShell Module (https://www.powershellgallery.com/packages/Az.Functions/4.0....). Did you deploy using AZ CLI and then using the PowerShell Module ?

You can either share your Function App info here by using this method: https://github.com/Azure/azure-functions-host/wiki/Sharing-Y...

or just email me at anirudhg at microsoft.com and I will look into this.

Thanks again for using Functions.

2 comments

We don't perform the zip push manually, we use the AzureFunctionApp pipeline task. What that uses under the hood, I can't tell.

  - task: AzureFunctionApp@1
    inputs:
      appType: functionApp
      deploymentMethod: runFromPackage
This task always succeeds. Whether that is because it's using the async API and ignoring the status url or because of different reasons is beyond my control. All I can tell is that with regular occurrence, the wwwroot will contain the file 'FAILED TO INITIALIZE RUN FROM PACKAGE.txt' instead of the actual deployed code (web.config will show "503 Site Unavailable: Could not download zip").

Our retry code repeats the same push using Publish-AzWebApp, which is sync FAFAIK (and regularly fails the same way as the pipeline task). We don't use AZ CLI at all. As long as Microsoft keeps updating both the CLI and Powershell modules, we expect them both to be equally supported.

Hello tremon,

I am the PM working on Azure Functions Deployments. Thank you for sharing your experience. We are currently investing in improving our deployment flows via Azure DevOps and this is a known issue. There are two aspects here - one is to address the not so optimal user experience that sets an incorrect expectation of "success" and second to actually provide more visibility into errors that cause deployment failures. I have prioritized the former to go out as part of the next DevOps release and will be happy to help you with the latter if you can create a support ticket with more details so we can investigate further. Please feel free to email me with any additional feedback on sokulkar at microsoft.com. Again thank you for your valuable feedback and usage of Azure Functions.

Thanks for the details. Will let you know what we find.
Do you have any plans for “easy auth” (that’s what MS support called it despite it not being called that anywhere in the Azure UI or documentation) with azure functions or at least not allowing people to try to set up auth for azure functions when according to your internal support AD-B2C “easy auth” is not compatible?

BTW I just want to say that functions kinda work aside from the above issue, but having to write a boot-loader that handles auth, kinda defeats the purpose. Or is it just that AD/B2C is so bad even your support guys don’t know how to set it up? Tried this about 12 months ago so maybe it’s changed in that time but fuck me dead getting auth to work with functions was a pain in the ass and made me swear I’d never touch another azure project again. I don’t think the problem is with Azure Functions per say, every interaction with AD/B2C at every org I’ve worked for that used Azure has been a monumental disaster of poor documentation and excessive complexity. You need a true expert in auth to work with it and even then they will spend half their working life swearing. The auth offerings from Google and AWS just work.

AD/B2C is also the biggest problem with teams (I just can’t log in on my machine as I’ve too many accounts for it not to get in a tizzy). I can’t even play minecraft cross platform because of it.