Azure / Azure/azure-functions-host

Functions v3 Language Worker Validation

Open
#5,041 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
2k
Forks
482
Avg merge
2d 10h
Merged PRs (30d)
36

Description

Meta-issue for tracking language worker validation in one place. Individual issues are:

- [x] Node: https://github.com/Azure/azure-functions-nodejs-worker/issues/249
- [x] Java: https://github.com/Azure/azure-functions-java-worker/issues/330
- [ ] Powershell: https://github.com/Azure/azure-functions-powershell-worker/issues/349
- [ ] Python: https://github.com/Azure/azure-functions-python-worker/issues/559
- [ ] Go: https://github.com/Azure/azure-functions-go/issues/86
- [ ] Rust: https://github.com/peterhuene/azure-functions-rs/issues/436

Private site extension: https://ci.appveyor.com/api/buildjobs/e02wfig4qbng51o9/artifacts/Functions.Private.3.0.12765-prerelease.win-x32.inproc.zip
How to use private site extension: https://github.com/Azure/azure-functions-host/wiki/Deploying-the-Functions-runtime-as-a-private-site-extension. In short:
1. Create a v2 function app in an App Service Plan.
2. Grab the zip above and drag it into the root of your Kudu Console.
3. Restart app. You should see the host version as 3.0.12765.0

![image](https://user-images.githubusercontent.com/1089915/66342688-e0a8b200-e8fe-11e9-94aa-d0b2bffef060.png)

_Note -- this Site Extension is a self-contained .NET Core 3 app, so it's large. This is necessary as we wait for .NET Core 3 to roll out to App Service, but it'll work for our testing._

CLI build: https://azfunc.visualstudio.com/_apis/resources/Containers/3299272?itemPath=drop%2FAzure.Functions.Cli.win-x86.3.0.1719.zip
How to use the CLI:
1. Download zip, extract to a folder anywhere.
2. Run func.exe directly from that folder for any tests.
You should be able to create apps just like currently. And `func host start` will launch v3 -- so try it with existing apps.

If you want to use this locally with VS, you can do something like this:
![image](https://user-images.githubusercontent.com/1089915/66439859-e2997080-e9e5-11e9-9370-d15a532830fb.png)

What to do?
- Really, whatever you need to to give this the "ok" for preview. Some ideas:
- Take an existing app, install the site extension, and make sure things continue working as expected.
- Create a site, update the site extension, and run whatever E2E tests you may have for your language.
- Try different bindings, exercise as many code paths as you can.
- Use the existing CLI/tools to deploy your function app to your v3 site. It should work.
- Use the updated CLI to run an app with the v3 host locally (_those steps coming soon as I work out a build issue_).

The ultimate goal here is to make sure there's no glaring preview-stopper that causes one of the language workers to be unusable. Some bugs are okay and we can update the preview pretty quickly to address them.

Let me know here if you run into issues so we can all coordinate. I'll relay any updated details here as well.

Contributor guide

Open the contributing guide

Research direction

Review the linked language-worker issues and the Functions v3 site-extension and CLI instructions in this issue. Validate existing and newly created apps across the listed workers, bindings, deployment paths, and local `func host start`; done means no glaring preview-stopping issue remains and any failures are reported for coordination.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp, go, java, node.js, powershell, python, rust
Domain
backend, cloud, devops, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.