logicapps icon indicating copy to clipboard operation
logicapps copied to clipboard

Logic Apps Standard Project runtime doesn't support functions runtime v4

Open hari-dotnet opened this issue 3 years ago • 20 comments

I am trying to create logic app standard workflow project in visual studio code with .Net 6.0 and functions runtime v4 but getting the error "You must have the .Net Core SDK installed to perform this operation" and realize that Project Runtime setting doesn't have selection of 4 and default doesn't seem to work for latest version. Is there a way to use .Net 6.0 and functions runtime v4 with logic app standard project?

hari-dotnet avatar Dec 14 '21 17:12 hari-dotnet

Hello @hari-dotnet

For now Logic App Standard on VSCode supports only Azure Functions Core Tools - 3.x version. .NET 6.0 should work but not functions rutime v4.

https://docs.microsoft.com/en-us/azure/logic-apps/create-single-tenant-workflows-visual-studio-code#tools

Thanks Kenny

kennyMSFT avatar Dec 14 '21 17:12 kennyMSFT

Hi @kennyMSFT, is there a projected roadmap date for v4 support?

anthonywhite avatar Dec 22 '21 09:12 anthonywhite

Hi @kennyMSFT, is there a projected roadmap date for v4 support?

Hi @anthonywhite, as of now there is no confirmation but we would request you to file a user voice request for same over here: https://feedback.azure.com/forums/287593-logic-apps/

Rajre avatar Jan 11 '22 20:01 Rajre

Hi @kennyMSFT, is there a projected roadmap date for v4 support?

Hi @anthonywhite, as of now there is no confirmation but we would request you to file a user voice request for same over here: https://feedback.azure.com/forums/287593-logic-apps/

Are you saying it's not even on the roadmap and needs uservoice votes to get there?! Rather surprised...

anthonywhite avatar Jan 11 '22 20:01 anthonywhite

@Rajre I filed a new User Voice request for this issue: https://feedback.azure.com/d365community/idea/c3f46128-0188-ec11-a81b-6045bd7956bb. This should be a top priority since currently it is very complicated to have both Azure Functions v4 and Logic Apps (Standard) in the same project/solution, without using something like VSCode Dev Containers. Moreover, for NuGet-based Logic Apps (Standard) projects, support for the target framework netcoreapp3.1 will drop from December 2022.

gastonmuijtjens avatar Feb 07 '22 10:02 gastonmuijtjens

@kennyMSFT @Rajre any news on this yet?

anthonywhite avatar Mar 25 '22 10:03 anthonywhite

Thanks for the feedback. We plan to get Logic apps Standard running on Azure Functions v4 and to get this done well before Dec 2022. Can share more specific ETA in a month.

NitashaV avatar Mar 30 '22 03:03 NitashaV

Hi @NitashaV

Are you able to update us on the ETA now?

Garyljackson avatar May 04 '22 00:05 Garyljackson

Hi Guys

Checking in to see if there is progress on this?

Garyljackson avatar May 18 '22 22:05 Garyljackson

We are now actively working on getting Logic apps Standard on Azure Functions v4 and we plan to release this support by Fall this year.

NitashaV avatar May 19 '22 19:05 NitashaV

We are now actively working on getting Logic apps Standard on Azure Functions v4 and we plan to release this support by Fall this year.

Thanks for the update @NitashaV

Garyljackson avatar May 24 '22 21:05 Garyljackson

So we received the recommended action, that we should update our Function Apps to use runtime version 4.x before 3 December 2022. Since we don't have any Azure Functions I guess this recommendation refers to our Standard Logic Apps.

What is the actual plan here, if runtime 4 will be supported that late?

image

rubenaster avatar Jun 17 '22 15:06 rubenaster

Our plan is to move most of Logic App standard apps to Functions v4 without any user involvement before the end of the year. We will continue to support v3 based apps until they are are moved to v4. We are planning to release a v4 based Logic App package in couple of months so that users can try running Logic Apps on top of Functions v4.

rohithah avatar Jul 16 '22 18:07 rohithah

A few months have passed since the last update, are there any timelines known concerning the release of the v4 package yet?

Pauwelz avatar Sep 28 '22 11:09 Pauwelz

We are now actively working on getting Logic apps Standard on Azure Functions v4 and we plan to release this support by Fall this year.

@NitashaV can you give us a date we can start using v4

anthonywhite avatar Sep 29 '22 12:09 anthonywhite

Our plan is to move most of Logic App standard apps to Functions v4 without any user involvement before the end of the year. We will continue to support v3 based apps until they are are moved to v4. We are planning to release a v4 based Logic App package in couple of months so that users can try running Logic Apps on top of Functions v4.

@rohithah any update?

anthonywhite avatar Oct 05 '22 14:10 anthonywhite

Hi @anthonywhite - We are starting rollout of Azure Functions V4. In the next weeks we will rolling changes in the portal. The migration will happen automatically for the most part:

  • Customer creating new Logic Apps Standard instances: between now and end of October, we will stage rollout creation with V4 as the default setting.
  • Existing Logic Apps Standard: During November we will migrate existing Logic App Standard to Functions V4. This will be automatically done and in stages (like the creation).
  • Edge cases (customer that deployed using nuget or pinned a specific version of the Function runtime) - we are working on guidance with steps to update the configuration and will publish that documentation. I will include links for that documentation here once published.

I hope this helps, Wagner.

wsilveiranz avatar Oct 07 '22 21:10 wsilveiranz

@wsilveiranz thanks for the info, but me and others here I think would also like to know when the AF Core Tools for local development of Logic App Standard will be available?

anthonywhite avatar Oct 12 '22 07:10 anthonywhite

Thanks @wsilveiranz. You say that existing Standard Logic Apps will be migrated automatically by Microsoft, will this include changing the value of the FUNCTIONS_EXTENSION_VERSION setting from ~3 to ~4? Will any other settings be changed? We use Terraform to manage our application settings for Logic Apps so any changes to settings that happen outside of Terraform could be reversed by a Terraform deployment. Are you able to share details about exactly how this migration is going to occur, rollback options (if any) and when in November it will occur?

I also agree with @anthonywhite's point about the local development environment, this migration to Functions v4 is more than just migrating Azure Logic Apps, we have development environments that need to be updated (and tested) as well.

mark-abrams avatar Oct 12 '22 08:10 mark-abrams

A few months have passed since the last update, are there any timelines known concerning the release of the v4 package yet?

Any news on this? Thanks!!!!!!!

MassimoC avatar Oct 12 '22 09:10 MassimoC

Only a few weeks to that December deadline and still deafening silence here. Any news @NitashaV @rohithah @wsilveiranz @hartra344 on the local development story???

anthonywhite avatar Oct 28 '22 14:10 anthonywhite

Just an update. This is being included in the next bundle release. We were hoping to release it at the same time as the Azure Side deployment but we need a change in the azure core tools first. We're working with the Azure Functions team to get this done and out ASAP.

hartra344 avatar Oct 30 '22 22:10 hartra344

I wonder if the following steps are the correct one to take to upgrade NuGet-based project for logicapps standard to v4? I followed the instructions mentioned on this page. Now when deploying a logicapp resource to azure I'm `"FUNCTIONS_EXTENSION_VERSION": "~4" as mentioned in the instructions

When using the NuGet-based project, it also includes a csproj file. I upgrade part of this file to the following values:

<PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <TargetFramework>v4</AzureFunctionsVersion>
    <RootNamespace>MyNamespace</RootNamespace>
    <MSBuildWarningsAsMessages>MSB3246;$(MSBuildWarningsAsMessages)</MSBuildWarningsAsMessages>
    <!-- Surpress warning 
      NU1701: Package 'Microsoft.SqlServer.Types 11.0.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, 
      .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' 
      instead of the project target framework 'net6.0'. This package may not be fully compatible with your project.
    -->
    <NoWarn>NU1701</NoWarn>
  </PropertyGroup>
  <ItemGroup>
	   <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.1.3" />
	   <PackageReference Include="Microsoft.Azure.Workflows.WebJobs.Extension" Version="1.2.*" />
  </ItemGroup>

Upgrading the csproj file is not mentioned in the instructions on the previously mentioned page.

I assume the values for Microsoft.NET.Sdk.Functions (net6.0) and TargetFramework (v4) are the correct ones. That seems to be pretty obvious. But are the values for the packageReferences correct?

  • "Microsoft.NET.Sdk.Functions" Version="4.1.3"
  • "Microsoft.Azure.Workflows.WebJobs.Extension" Version="1.2.*" (at moment of writing version = 1.2.18.1)

When building the project in the devops build pipelines, I'm using dotnetVersion: 6.0.x.

At first glance the logicapp is deployed correctly to Azure and the first run does not throw any unexpected exceptions.

Can anyone from the Logic Apps team please confirm that current actions taken are correct and complete?

cc: @wsilveiranz, @hartra344, @rohithah

rob-thijssen avatar Nov 11 '22 14:11 rob-thijssen

@rob-thijssen - At this time, we are only moving the runtime version to v4 (so that we run on top of .NET6) and not moving the sdk versions. So you shouldnt need to change anything on how you would build your LogicApp nuget based project except for the latest Microsoft.Azure.Workflows.WebJobs.Extension package to latest version (1.2.18.1).

You need the following settings on the Logic App resource: "FUNCTIONS_EXTENSION_VERSION": "~4" "netFrameworkVersion":"v6.0"

rohithah avatar Nov 14 '22 19:11 rohithah

@rohithah, Thank you very much for you reply. I have only one question regarding your answer. I hope you can help me on this last one as well??

You need the following settings on the Logic App resource: "FUNCTIONS_EXTENSION_VERSION": "~4" "netFrameworkVersion":"v6.0"

This confuses me a little. If netFrameworkVersion is set to v6.0. Then I would think that I should also upgrade the properties

<TargetFramework>net6.0</TargetFramework>
<TargetFramework>v4</AzureFunctionsVersion>

Or are these properties in the csproj file only used for building LogicApps?

Thanks in advance!

rob-thijssen avatar Nov 15 '22 07:11 rob-thijssen

Hi, I upgraded the logic apps to the newer version, but it fails to start. I've deployed logic apps with

"FUNCTIONS_EXTENSION_VERSION": "~4" FUNCTIONS_WORKER_RUNTIME: node WEBSITE_NODE_DEFAULT_VERSION: ~16

and in csproj: <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <AzureFunctionsVersion>v4</AzureFunctionsVersion> <MSBuildWarningsAsMessages>MSB3246;$(MSBuildWarningsAsMessages)</MSBuildWarningsAsMessages> </PropertyGroup> <ItemGroup> <PackageReference Include="CachedApiTokenProvider" Version="1.0.1" /> <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.1.3" /> <PackageReference Include="Microsoft.Azure.Workflows.WebJobs.Extension" Version="1.2.18.1" /> </ItemGroup>

CachedApiTokenProvider is a local Nuget which is using Azure.Security.KeyVault.Secrets 4.4.0.

Build and deploy are done without errors, but the logic apps are not started. On the portal I see "Functions runtime error: Error Microsoft.Azure.WebJobs.Script.WebHost: vaultUri."

Can anyone please help? What can go wrong?

Thanks in advance!

oananicolaie avatar Nov 15 '22 09:11 oananicolaie

@oananicolaie, There's at least one thing I notice in your configuration:

FUNCTIONS_WORKER_RUNTIME: node
WEBSITE_NODE_DEFAULT_VERSION: ~16

FUNCTIONS_WORKER_RUNTIME should be set to dotnet WEBSITE_NODE_DEFAULT_VERSION can (should?) be removed

rob-thijssen avatar Nov 15 '22 10:11 rob-thijssen

There's at least one thing I notice in your configuration:

FUNCTIONS_WORKER_RUNTIME: node
WEBSITE_NODE_DEFAULT_VERSION: ~16

FUNCTIONS_WORKER_RUNTIME should be set to dotnet WEBSITE_NODE_DEFAULT_VERSION can (should?) be removed

@rob-thijssen @oananicolaie for our Logic App Standard FUNCTIONS_WORKER_RUNTIME has been set to node up to now.

@rohithah can you confirm valid values for this with the new runtime please?

anthonywhite avatar Nov 15 '22 11:11 anthonywhite

I have preciously created a documentation ticket about FUNCTIONS_WORKER_RUNTIME. see https://github.com/MicrosoftDocs/azure-docs/issues/97193

For me it is still unclear what this setting actually does...

timjansenortec avatar Nov 15 '22 11:11 timjansenortec

The problem that @oananicolaie (she is a colleague) reported was solved by adding setting AzureWebJobsSecretStorageKeyVaultUri, since we use "AzureWebJobsSecretStorageType": "KeyVault".

see https://github.com/Azure/azure-functions-host/pull/7683

timjansenortec avatar Nov 15 '22 12:11 timjansenortec