Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Bug Report]: v0.9.0 breaks deployments with existing Storage Accounts (deployed with CARML <= 0.8.0) #3445

Closed
zydio opened this issue Jul 25, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@zydio
Copy link

zydio commented Jul 25, 2023

Describe the bug

Release 0.9.0 introduced support for SFTP (and NFSv3) for Storage Accounts.

There are two problems:

  1. This is a Breaking Change and this is not advertised in the release notes
  2. This is a Breaking Change and makes it impossible to successfully run a deployment including existing Resource Groups that were first deployed with BICEPs using CARML <= 0.8.0

Looking in the repo history, this change comes from PR #2514 , which is erroneously marked as New feature (non-breaking change which adds functionality)

Regarding point 2, if you have deployed a Storage Account with any set of parameters with CARML <= 0.8.0, and you try to run a deployment again of the same BICEP with CARML >= 0.9.0 you get a BadRequest error with message The property 'isNfsV3Enabled' was specified in the input, but it cannot be updated as it is read-only. For more information, see - https://aka.ms/storageaccountupdate" and the deployment fails.

This is almost probably going to happen with isSftpEnabled too, for the same reason (can only be enabled when creating the storage account and not modified afterwards).

This might be an ARM (server side) issue: a parameter of 'isNfsV3Enabled: false' should be treated as 'isNfsV3Enabled' not being provided, given that the result is the same, and should not complain about an update to a read-only property.
For isSftpEnabled it should be the same.

New versions of the BICEP modules in stable releases should be backward compatible with existing deployments executed with old versions of the BICEP modules.

To reproduce

  1. Deploy a Storage Account with any set of parameters with CARML <= 0.8.0
  2. Run a deployment again of the same BICEP with CARML >= 0.9.0, it will fail

Code snippet

No response

Relevant log output

{
    "status": "Failed",
    "error": {
        "code": "AccountPropertyCannotBeUpdated",
        "message": "The property 'isNfsV3Enabled' was specified in the input, but it cannot be updated as it is read-only. For more information, see - https://aka.ms/storageaccountupdate"
    }
}
@zydio zydio added the bug Something isn't working label Jul 25, 2023
@github-project-automation github-project-automation bot moved this to Needs triage in Bug board Jul 25, 2023
@zydio
Copy link
Author

zydio commented Jul 25, 2023

I see this has been addressed in #3290 but not yet included in an official release, so I'm closing this issue.

@zydio zydio closed this as completed Jul 25, 2023
@github-project-automation github-project-automation bot moved this from Needs triage to Closed in Bug board Jul 25, 2023
@davidkarlsen
Copy link
Contributor

Hmm, I still get this with storage.storage-account:0.5.1283

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
Status: Closed
Development

No branches or pull requests

2 participants