locked
Run template "https://github.com/Azure/azure-quickstart-templates/tree/master/101-vms-with-selfhost-integration-runtime" using a storage account RRS feed

  • Question

  • Hi,

    I'm trying to use the template (https://github.com/Azure/azure-quickstart-templates/tree/master/101-vms-with-selfhost-integration-runtime
    ) to create a logical selfhost IR in Data Factory and I created a storage account to store the scripts. 

    I changed the script "azuredeploy.json" to put the storage account and SAS token:

    "_artifactsLocation": {
          "type": "string",
          "metadata": {
            "description": "The base URI where artifacts required by this template are located."
          },
          "defaultValue": "https://stgxxxxx.blob.core.windows.net/ir-scripts/"
          //"defaultValue": "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vms-with-selfhost-integration-runtime/"
        },
    "_artifactsLocationSasToken": {
          "type": "securestring",
          "metadata": {
            "description": "The sasToken required to access _artifactsLocation.  When the template is deployed using the accompanying scripts, a sasToken will be automatically generated."
          },
          "defaultValue": "?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2030-01-01T03:00:00Z&st=2020-01-07T16:26:37Z&spr=https&sig=dP1sB%2FRGBtv%2F2XXXXXXXXXXXXX%3D"
          //"defaultValue": ""
        }
      }
    
    

    But when I ran the template an error occurred in "Microsoft.Compute / virtualMachines / extensions" from "IRInstall.json", the file "gatewayInstall.ps1" wasn't found:

    [
        {
            "code": "ComponentStatus/StdOut/succeeded",
            "level": "Info",
            "displayStatus": "Provisioning succeeded",
            "message": "Windows PowerShell \r\nCopyright (C) 2016 Microsoft Corporation. All rights reserved.\r\n\r\n"
        },
        {
            "code": "ComponentStatus/StdErr/succeeded",
            "level": "Info",
            "displayStatus": "Provisioning succeeded",
            "message": "The argument 'gatewayInstall.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the -File parameter.\r\n"
        }
    ]
    
    

    I tried to put the "storageAccountName" and "storageAccountKey" parameters in the "IRInstall.json" file as suggested in link "https://github.com/Azure/azure-quickstart-templates/issues/4010" but I received another error message:

    "VM has reported a failure when processing extension 'vm0-integrationinstallGW'. Error message: \\\"Failed to download all specified files. Exiting. Error Message: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters"

    Does anyone know how to successfully run this template using a storage account?

    Best regards,
    Cristina

    Thursday, January 9, 2020 1:19 AM

All replies

  • Hello Cristina and thank you for your question.  I followed the link to https://github.com/Azure/azure-quickstart-templates/tree/master/101-vms-with-selfhost-integration-runtime , and clicked on the Deploy to Azure link.  The deployment succeeded after 10-20 minutes, but i noticed there were two (2) storage accounts in the resource group.  One of them I created and referenced in the deployment, but the other was created by the deployment script.  I checked in the Factory, and the Integration Runtime status was fine.

    Before the deployment, I did not place any restrictions, i.e. no firewall on storage account.  I also did not include a SAS token.

    Now that I know the template works per instructions, I can try the storage based version.  I suspect the issue is in the references.

    Tuesday, January 14, 2020 12:39 AM
  • Hi MartinJaffer-MSFT,

    Thanks for your help, when I ran the script without using the SAS token it also worked.

    Best regards,
    Cristina
    Tuesday, January 14, 2020 3:13 PM
  • Thank you for letting me know, Christina.  Since you have found a solution, I will stop working on this.
    Saturday, January 18, 2020 12:18 AM
  • Hi @MartinJaffer-MSFT,

    No, I didn't find a solution yet. The script only works without the SAS Token, but I need to use it.

    Best regards,
    Cristina
    Saturday, January 18, 2020 12:45 AM
  • My apologies Cristina.  I misunderstood the situation.  I will re-start work on this.
    Wednesday, January 22, 2020 6:46 PM
  • Hello Cristina, a pull request was submitted for a related issue yesterday.  Are you still facing the issue?
    Tuesday, February 4, 2020 8:29 PM
  • Hello @MartinJaffer-MSFT,

    Thanks for the info, I'll try again!

    Best regards,
    Cristina
    Wednesday, February 5, 2020 1:13 PM
  • Hi @MartinJaffer-MSFT,

    Before including the SAS Token I ran the scripts stored on GitHub to see if it worked, but the Integration Runtime connection wasn't created. 

    Could you check if I'm doing something wrong please? The step by step is in the document linked below:

    https://drive.google.com/file/d/1-S13tgR9WYsEP_F6semidkXeUw41LRps/view?usp=sharing

    Best regards,
    Cristina
    Wednesday, February 5, 2020 4:29 PM
  • Thank you for the detailed instructions.  I noticed in the azuredeploy.parameters.json :

       "existingDataFactoryVersion": {
          "value":"V1"
        },

    This should be "V2" .

    After some trial & error , I seem to have gotten  the integration runtime created.  (Errors like, typos and insufficienct password complexity.)


    Thursday, February 6, 2020 12:19 AM
  • Hi @MartinJaffer-MSFT,

    If you look at the "azuredeploy.parameters.json" file of item 2 I put "V2" for the "existingDataFactoryVersion" parameter, I think this is not the problem. Anyway thanks for the help, I'll continue investigating!

    Best regards,
    Cristina
    Thursday, February 6, 2020 1:23 PM