ferj
ferj

Reputation: 111

Not Able to add a custom script extension for Linux vm

I have a linux Cent OS vm and am trying to add a custom script to it. If i do it manually from the portal i am able to install the custom script extension for linux. But i am not able to install the custom script via powershell code that i added below. Need some help on it. I am storing the custom script file in a storage account and calling it from there when installing the custom script extension on Linux.

Error i get is : Enable failed: processing file downloads failed: failed to download file[0]: failed to download file: unexpected status code: actual=404 expected=200

if($vmname.OSType -eq "Linux"){

    $resourcegroup=$vmname.ResourceGroupName
    $location=$vmname.Location
    $vm=$vmname.Name
    $TheURI = "https://storageaccount.blob.core.windows.net/container/cstmscript.sh" 
    $ScriptSettings = @{"fileUris" = @($TheURI); "commandToExecute" = "sh cstmscript.sh";}
     
    Set-AzVMExtension -ResourceGroupName $resourcegroup -VMName $vm -Name "Custom Script" -Publisher "Microsoft.Azure.Extensions" -TypeHandlerVersion 2.0 -ExtensionType "CustomScript" -Location $location -Settings $ScriptSettings
    }

Cant use Set-AzVMCustomScriptExtension as that's for only Windows VM's

Upvotes: 0

Views: 706

Answers (2)

ferj
ferj

Reputation: 111

Thanks Satya It did work Btw . I needed to add the access keys. here is the code

if($vmname.OSType -eq "Linux"){

    $resourcegroup=$vmname.ResourceGroupName
    $location=$vmname.Location
    $vm=$vmname.Name
    $TheURI = "https://storage.blob.core.windows.net/container/cstmscript.sh" 
    $ScriptSettings = @{"fileUris" = @($TheURI); "commandToExecute" = " sh cstmscript.sh";}
    $ProtectedSettings = @{"storageAccountName"="storage";"storageAccountKey" = ""};
     
    Set-AzVMExtension -ResourceGroupName $resourcegroup -VMName $vm -Name "Custom Script" -Publisher "Microsoft.Azure.Extensions" -TypeHandlerVersion 2.0 -ExtensionType "CustomScript" -Location $location -Settings $ScriptSettings -ProtectedSettings $ProtectedSettings
    }

Upvotes: 1

Satya V
Satya V

Reputation: 4174

I had tried hitting the above the url

https://storageaccount.blob.core.windows.net/container/cstmscript.sh

enter image description here

Which is more or less 404 error as encountered below :

Enable failed: processing file downloads failed: failed to download file[0]: failed to download file: unexpected status code: actual=404 expected=200

Looks like you re not able to access the cstmsscript.sh & encountering a 404 - you will have to host the file anonymously accessible or alternatively use means to grant access ( like SAS )

Upvotes: 0

Related Questions