Azure / Azure/azure-linux-extensions

[DSCForLinux] Extension provisioning failed : "(03000)Argument error, invalid file location", but no FileUri provided

Open
#1,464 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
333
Forks
278
Avg merge
2d 9h
Merged PRs (30d)
4

Description

Hello,
I'm trying to add the DSCForLinux extension on an Azure VM I'm provisioning via Terraform.
I try to follow the steps on [this page](https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/dsc-linux), and here are my parameters:

```
public_settings =
{
"NodeConfigurationName": "${var.NodeName}",
"ConfigurationMode": "${var.DSCMode}",
"ConfigurationModeFrequencyMins": 15,
"RefreshFrequencyMins": 30
}

protected_settings =
{
"RegistrationKey" : "${azurerm_automation_account.AutomationAccount.dsc_primary_access_key}",
"RegistrationUrl": "${azurerm_automation_account.AutomationAccount.dsc_server_endpoint}"
}
```

I don't put a `FileUri` because I don't have a MOF file: I use a `azurerm_automation_dsc_configuration` on Terraform, provide my DSC configuration to Azure, and compile it on Azure. I haven't found a way to get a URI for the MOF file/compiled configuration on the Azure Portal.
The `NodeConfigurationName` is exactly the same as the compiled configuration.

However, when I try to set the extension, I get the `(03000)Argument error, invalid file location` error, whereas the FileUri is stated to be optional.

The only workaround I've found for now is to manually register the VM to AzureAutomation via SSH, and then assign a configuration according to the instructions on [this page](https://docs.microsoft.com/en-us/azure/automation/dsc-linux-powershell#register-the-azure-linux-vm-for-an-automation-account), but it isn't satisfactory as it adds a manual action.

Does anyone have any insight on this?

Thanks!

Contributor guide

No contributing guide indexed for this repository

Research direction

No repository file or test is named. Reproduce the DSCForLinux extension setup with the Terraform public_settings and protected_settings shown, then compare the documented optional FileUri behavior with the extension's validation path. Done means identifying whether Azure Automation compilation is supported without FileUri and documenting or correcting the supported provisioning flow.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python, terraform
Domain
cloud, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.