Skip to content

[Functionapp] Fix Azure/azure-cli-extensions#10029: az functionapp create: Fix transient 403 on content share creation#10030

Draft
Copilot wants to merge 2 commits into
mainfrom
copilot/issue-32019-fix-function-app-creation
Draft

[Functionapp] Fix Azure/azure-cli-extensions#10029: az functionapp create: Fix transient 403 on content share creation#10030
Copilot wants to merge 2 commits into
mainfrom
copilot/issue-32019-fix-function-app-creation

Conversation

Copilot AI commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

This checklist is used to make sure that common guidelines for a pull request are followed.

Related command

az functionapp create

Creating a function app immediately after provisioning a network-restricted storage account can fail when Azure Files share creation races storage firewall/VNet rule propagation. This change adds targeted retry handling for that transient 403 path and surfaces a more actionable final error if propagation still has not completed.

  • Behavior change

    • Override functionapp create in the extension and wrap core content share creation with retry/backoff when the storage management call returns HTTP 403.
    • Preserve existing behavior for non-403 failures.
  • Failure mode

    • If all retries are exhausted, raise a concise error that points to storage network rule propagation delay instead of a generic storage accessibility failure.
  • Scope

    • Applies only to the content share creation path used by az functionapp create with network-restricted storage accounts.
    • No change to unrelated functionapp commands.
  • Targeted coverage

    • Add unit tests for retry-on-403, no-retry on non-403, and the final propagated error message.
for delay in (5, 10, 20, 40):
    try:
        return create_file_share(...)
    except Exception as ex:
        if status_code(ex) != 403:
            raise
        time.sleep(delay)

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (azdev required; see .azure-pipelines/templates/azdev_setup.yml for the install command until azdev==0.2.11b1 is on PyPI)
  • My extension version conforms to the Extension version schema

For new extensions:

About Extension Publish

There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

@azure-client-tools-bot-prd

azure-client-tools-bot-prd Bot commented Jun 23, 2026

Copy link
Copy Markdown
⚠️Azure CLI Extensions Breaking Change Test
⚠️functionapp
rule cmd_name rule_message suggest_message
⚠️ 1001 - CmdAdd functionapp create cmd functionapp create added

@azure-client-tools-bot-prd

Copy link
Copy Markdown

Hi @copilot,
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in setup.py as well.

Copilot AI changed the title [WIP] Fix issue with Azure CLI creating function app in the same script [Functionapp] Fix Azure/azure-cli-extensions#10029: az functionapp create: Fix transient 403 on content share creation Jun 23, 2026
Copilot AI requested a review from a0x1ab June 23, 2026 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants