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

Add preliminary support for linux-arm64 #3584

Open
wants to merge 1 commit into
base: v4.x
Choose a base branch
from

Conversation

amih90
Copy link

@amih90 amih90 commented Jan 26, 2024

Add support for Debian11 (bulleye) on ARM64.

Issue describing the changes in this PR

resolves #3112

Pull request checklist

  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • I have added all required tests (Unit tests, E2E tests)

@EverybodyKurts
Copy link

@vrdmr @Francisco-Gamino @andystaples @amamounelsayed @ejizba @hossam-nasr @AnatoliB @khkh-ms

This PR was opened 2 months ago. Can somebody review it?

@khkh-ms
Copy link
Contributor

khkh-ms commented Apr 8, 2024

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@alecglen
Copy link

@khkh-ms Thanks for the review! FYI it appears the test failure is just a missing config in the test environment, and it's not clear to me why that'd be related to the current change.

image

@amih90
Copy link
Author

amih90 commented Apr 19, 2024

/azp run

Copy link

Commenter does not have sufficient privileges for PR 3584 in repo Azure/azure-functions-core-tools

@dirkesquire
Copy link

The test is failing with the single following error:
AZURE_MANAGEMENT_ACCESS_TOKEN is not defined in current environment

@dirkesquire
Copy link

I've determined that "AZURE_MANAGEMENT_ACCESS_TOKEN" is referred to in only two places:

echo "##vso[task.setvariable variable=azure_management_access_token]$accessToken"

 - task: AzureCLI@2
    displayName: Login via Azure CLI to acquire access token
    inputs:
      azureSubscription: $(E2ETestServiceConnectionName)
      scriptType: ps
      scriptLocation: inlineScript
      inlineScript: |
        # acquire access token from Azure CLI and export it to AZURE_MANAGEMENT_ACCESS_TOKEN
        $accessToken = (az account get-access-token --query "accessToken" | % { $_.Trim('"') })
        echo "##vso[task.setvariable variable=azure_management_access_token]$accessToken"

public const string AzureManagementAccessToken = "AZURE_MANAGEMENT_ACCESS_TOKEN";

@dirkesquire
Copy link

dirkesquire commented May 6, 2024

The error is being thrown from this piece of code:

        protected static string AccessToken
        {
            get
            {
                if (_accessToken == null)
                {
                    _accessToken = Environment.GetEnvironmentVariable(Constants.AzureManagementAccessToken);
                    if (string.IsNullOrEmpty(_accessToken))
                    {
                        throw new Exception($"{Constants.AzureManagementAccessToken} is not defined in current environment");
                    }
                }
                return _accessToken;
            }
        }

at Azure.Functions.Cli.Tests.E2E.AzureResourceManagers.BaseAzureResourceManager.get_AccessToken()

Which seems to indicate that, exactly as expected and mentioned above, an environment variable is not being set for this test environment, and that that is the reason this entire PR is being held back, and not an issue with the code in the PR itself.

So what can we do next to push this forward? At the moment the community can not actually run Azure Functions in a dev container on a M1,M2 Mac. This is such a blocker. Should we be looking to try and build the solution locally, and patch it ourselves?

@dirkesquire
Copy link

I did manage to have some level of success with the fix.
I cloned azure-functions-core-tools locally, and applied the changes, and successfully built and published the solution so that I can now run func locally without errors. Hours spent on this because the Microsoft team does not have the time to spend on this PR.

The next problem that I am facing is that there is no worker for workers/python/3.11/LINUX/Arm64.
Please can someone give some advice on how I would arrange to create this worker.
(The worker LINUX/x86 does exist, but not the Arm64 one)

Thank you!

@alecglen
Copy link

@dirkesquire where is it missing from exactly? I've been trying to trace this through and it seems like the Arm64 version should exist: https://github.com/Azure/azure-functions-python-worker/blob/cd13c6aa1db0aba958f4aedded80254d69040899/python/prodV4/worker.config.json#L7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Release for aarch64
5 participants