Logic app Standard Storage issue investigation using Slots

  • Thread starter Thread starter Mohammed_Barqawi
  • Start date Start date
M

Mohammed_Barqawi

Logic Apps require an Azure Storage Account file share to host their files. Even though the Logic App site will work without a storage account, it will not be scalable across multiple instances.

Unfortunately, if the storage is inaccessible due to DNS or other network issues, both the main site and the Kudu site will not work, resulting in the following error:

System.Private.CoreLib: The network path was not found. : 'C:\\home\\data\\Functions\\secrets\\Sentinels'

large?v=v2&px=999.png



Usually, to resolve network issues, we need the Kudu console working, but in this case, it is not because the site is broken.

We can make it work without a storage account by using the Slots option, which utilizes local storage.

Steps​


  1. Rename the following two environment variables by adding X at the beginning of the key name:

    1. WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
    2. WEBSITE_CONTENTSHARE
Spoiler (Highlight to read)
Make the changes in the environment variables section -> Advanced edit.
large?v=v2&px=999.gif
Make the changes in the environment variables section -> Advanced edit.
  1. Go to Slots and add a new one.
  2. Click on the new Slot and go to Advanced Tools (Kudu).
  3. In the CMD console, download the PS1 file responsible for diagnostics using the command:

curl -o "LADiag.ps1" https://raw.githubusercontent.com/mbarqawi/logicappfiles/main/LADiag.ps1
  1. After downloading the PS1 file, switch to PowerShell to execute the script. You can find the script here: LADiag.ps1
  2. Run the PS1 script by typing:

./LADiag.ps1

Check the file list; you will find an HTML file named ConnectionAndDnsResults.html.

AnimationTeams2.gif



Test cases​


In the PowerShell:

  • TCPPing on all storage four endpoints. This command will ensure that the HTTPS endpoint is pingable.
  • Use NameResolver on all endpoints to ensure that the DNS is resolvable.
  • Connect to the file endpoint and list all the shares using REST HTTPS on port 443.
  • Perform TCPPing to the file endpoint on SMB port 445.



For additional network-related commands, you can follow this article: Networking related commands for Azure App Services.

Cleaning


After you generated the report and figure out the issue , you can delete the slot and rename back the environment variable

Continue reading...
 
Back
Top