-
Notifications
You must be signed in to change notification settings - Fork 5
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
[Discussion] Azure Functions Runtime 2.0 preview breaking changes #64
Comments
Thanks for the update but we faced an issue to migrate existing resource groups which were built based on a previous runtime version 2.0.11933-alpha to 2.0.11946.0. The migration of existing Azure Java functions towards that runtime version was not working and we had to rollback due to that. although building a new resource group with a new java function based on latest runtime was working properly. As such, the question is -- Does it require removing the whole app and rebuilding it from scratch is the a correct solution? or is it enough only to update the function app settings? ///Thx |
Just updating the app setting is sufficient. If done now, this will leave you in the same state you’re currently in, but will avoid the automatic update to the next, breaking, release. |
How do we install the storage bindings? If we're already using the storage SDK in our Node apps' codebase, does it make sense to simply abandon the bindings altogether and read/write to the storage account programmatically, using the SDK? |
@willmorgan once the bits get released the process will be the same to install in app as other extensions we have today. Ideally you should be able to open up your project locally and just run That said, nothing the binding does that you couldn't do with just SDK. So if you prefer to just use SDK in code you can. |
Nice! What is the expected timeline for it to roll out everywhere? |
@jeffhollan What's the ETA on the extensions being released? Will there be adequate time to test between the extension release, and the removal of the built-in bindings? |
@willmorgan from the announcement:
So you'll have plenty of time. We don't have the exact date where it will be released, but it is coming soon. |
The updated extensions will be on NuGet slightly before we begin deployment. |
You guys seem to do your best to confuse with releases. Friday evening (8:30 EDT) you published a notice about an imminent release; I came in Saturday intending to pin to 2.0.11933 and found that 2.0.11946 was already running in EAST US. Now you say pin to 2.0.11961 and it is NOT running in EAST US, I am leery of pinning to a future version, since I have already been burned multiple times on unclear functionality in releases. And acknowledging it is my ignorance, I still have no idea what you mean when you reference function extensions and what has to be done. I have Java functions. I can debug locally. I can deploy. I can monitor them. I am about to launch a site that relies on the functions. Where does an "extension" come in? What is going to break when suddenly 2.0.11961 gets pushed out. Could you not at minimum (a) tell us now that you will specifically tell us x (1? 2?) days before you plan to start rolling out a release; and then (b) not start the rollout before then. I understand I am and have been working with "preview" (for one year, I also note) - but that should not be taken as a free pass to do whatever you feel like when you start pushing this stuff out. |
@TurtleBeach the 'imminent' release was And while we don't know the exact day of the next release that has the breaking changes, the point of the announcement is that if you pin yourself to Does that help clear the confusion? |
Why does the Azure portal tell me my functions in EAST US are running 2.0.11946?? |
@TurtleBeach please see my previous response which covers that (i.e. try restarting it). |
OK. Restart gets the runtime up to 2.0.11961. But I trust you see my frustration. Friday night I'm told to expect an update. Saturday morning I see that all my functions, which were on 2.0.11933 transitioned to 2.0.11946. Now you tell me that Friday everything supposedly went to 2.0.11961. What happened in between, and how am I supposed to divine that? But I do appreciate the clarification now and I will pin everything to 11961. |
Yep, I hear you. I think most of the confusion comes from the fact that an app does not get a new version until it restarts, either explicitly by user or via platform upgrade. So you can end up running an older build for a while. I assume that's what happened to you on Friday. Your app was still running |
One final observation - after I pin to 2.0.11961-alpha, the portal now reports "A newer version is available (~2)". Am I to ignore that, and leave functions pinned to 2.0.11961-alpha, or should the pinned version be -beta? |
Ignore the portal for now. If you use the syntax "beta' or "~2" you wont be pinned anymore. Unfortunately the portal does not fully understand pinning and will show confusing messages like this one. |
Hi! How can I change the version in the VS tools? Thanks |
I'd like to know how long Azure Functions v1 runtime will be supported? |
30 days is not "plenty of time", especially if you are breaking a bunch of stuff. Will you also be sending out an email to all Function v2 users so they know about this? |
@flowest I think they promised at least one year of v2 in GA, before v1 deprecation. |
@flowest for some discussion of this topic see here. Doesn't make much sense to discuss it here. @MisinformedDNA V2 is in preview and we have real world constraints that limit how long we can keep older versions available in Azure. I do not understand your assertion about the time window for these upgrades. I hope you agree that us releasing these previews, despite the pain of breaking changes and their frequency, is better than going dark for extended periods of time with no releases. |
Hi, a couple of questions:
|
|
Hello, I have my function app pinned at 2.0.11857-alpha. This was because a subsequent release broke the ability to return message text in HTTP responses. Example: return new BadRequestObjectResult("Missing one or more required fields"); --pinning to 11857 was the documented workaround. I have two questions,
Thank you. |
@kenturley Yes, that issues was fixed a while back. I highly suggest that you try to pin yourself to 2.0.11961-alpha and verify that all is well. You are definitely at risk by being pinned to that older build. Generally, pinning is always meant to be temporary to help transition to the next build. So if you need to be pinned, you should always be actively looking at what it takes for you to run on the latest version and unpin yourself. |
@davidebbo Okay.... We'll work on getting ourselves upgraded. Thank you for the quick reply. |
You can run this bash script to update all affected function apps in the current subscription. Switch subscriptions via #!/bin/bash
APPS=$(az functionapp list --query "[].{group: resourceGroup, name: name}" --output tsv)
IFS=$'\n'
for APP in $APPS
do
GROUP=$(echo $APP | cut -f 1)
NAME=$(echo $APP | cut -f 2)
VERSION=$(az functionapp config appsettings list -g $GROUP -n $NAME --query "[?name == 'FUNCTIONS_EXTENSION_VERSION'].value" --output tsv)
if [ "$VERSION" = "~2" ] || [ "$VERSION" = "~beta" ] || [ "$VERSION" = "beta" ]; then
echo "Function app $NAME with version $VERSION in group $GROUP is being updated."
$(az functionapp config appsettings set -n $NAME -g $GROUP --settings FUNCTIONS_EXTENSION_VERSION=2.0.11961-alpha)
echo "Restarting function app $NAME in group $GROUP."
$(az functionapp restart -n $NAME -g $GROUP)
fi
done |
@berndverst nice, thanks for sharing! |
We got missing functions fixed by moving extensions.csproj from functions-extensions/ to app root folder. An incompatible toolage version with "func extensions install" seems to cause this. |
@brettsam I've update SDK also installed the new required packages for Storage extensions. (I can see using the console everything is in there) |
@mieliespoor -- we likely won't move to Microsoft.Extensions.Logging 2.2.0 until there is a non-preview release. As of now, I see 2.1.1 as the latest release on nuget. |
@paulroub -- in reference to your AppInsights exception. Are you running this on Windows? If you disable the SnapshotCollector in host.json with this, does it work?
|
@brettsam No, our local testing is on macOS. Tried disabling the snapshots just in case, but nothing changes. |
@paulroub -- Thanks for trying that. I assume that you're enabling App Insights locally with APPINSIGHTS_INSTRUMENTATIONKEY? If you remove that, does your host start up? I've opened up Azure/azure-webjobs-sdk#1877 to track this, so please follow along there (I'll likely have some more questions). |
@brettsam I uninstalled the reference and even installed v2.1.0, but then in both cases I get this error: |
I had an error saying that "queueTrigger" was not registered (.Net). I installed locally the pre-release NuGet for storage, redeploy, and voilà. check here |
There are too many distinct things being discussed in this thread, and it's hard to track/respond properly. Please open a separate issue on https://github.com/Azure/azure-functions-host for each distinct issue that you are having (you can post a link from here). We will get to all of them. Thanks! |
I'm not sure this necessitates a separate issue, so posting here. I only see versions being removed and how to pin to a specific alpha version on app-service-announcements#129 and app-service-announcements#132. How do we target the latest (or 'stable' when that is eventually reached) version of v2? Should we have |
@shurane it should be set to |
I reported that was getting errors about the extensions not being registered even after following all the steps described in the docs. Because I was packing my function inside a docker container to generate to zip file, it wasn't generating the |
Is there a date that |
@dabutvin yup thats correct. |
When will the VS for Mac extension be updated? Is there something special users need to do to get it? |
Hello, I'm also experiencing issues adding an Event Grid subscription to my azure function in the portal. { I can't validate my subscriber endpoint, however i update my url manually like @jmsalvo suggested before. It is also related here : Azure/app-service-announcements#129. Here is my url endpoint : https://___.azurewebsites.net/runtime/webhooks/EventGrid?functionName=&code= I tried many scenariis, i check 'Subscribe to all event types' first and then uncheck and specify event type. But deployment failed all the time. What am I doing wrong ? Thanks. |
@brandonh-msft VS for mac team working on it this sprint. They are hopeful they can get it into VS for Mac 7.6 but if not would be in Mac 7.7 preview 3 |
Has the logging logic changed? I used to be able to see the exception details when a function failed, but now I only see a general error message that it failed. I have changed the host.json file to the new logging structure and tried various combinations but I still can't get it to log the exception detail. |
@brian-toniq -- are you referring to the logs in the Portal? If so, that was a bug with our FileLogger that we just fixed (Azure/azure-functions-host#3486). Unfortunately it didn't make the cutoff for our very next release, but it will be available shortly. |
@brettsam Yes I am referring to logs in Portal, sorry I should have been more clear. Thanks for the further info and good to hear that a fix will be available soon. |
We tried with following changes: |
@chethanrajp those errors do not seem related to the keys. If you're still experiencing this, can you please open an issue on https://github.com/Azure/azure-functions-host/issues with the details requested there for investigation? |
Discussion for the upcoming Azure Functions Runtime breaking change release
The text was updated successfully, but these errors were encountered: