Hi All , on today scenario i will be sharing some info about Azure Linux extensions .
So how is the extension get installed on your VM?
Once you have submitted a request to add an extension via : Portal , Power Shell , SDK , Azure Cli your request will go throw ARM and from there will navigate to the compute provide and it will fetch the Url where your WAL[Windows Azure Linux Agent =waagent] agent will download the extension to your VM.
Kind of a wget for a zip file. then the compressed file will be extracted and run. Extension location is /var/lib/waggent/[Ext Name]
on each extension there is a folder which contains the files and script. the bash script name install.sh is the main script which can perform different operations using different parameters. {install|uninstall|enable|disable|update} on default installation it will run : ./install.sh install
to uninstall the extension we may use different options : Portal , Powers Shell , SDK , Azure Cli etc..
But if we are facing an issue to communicate with the extension or our request operations request fails then we can try to mitigate our task by trying to fix the issue from inside the guest vm.
by navigating to the extension folder /var/lib/waagent/[Ext Name] and run the bash script ./install.sh with the required parameter {install|uninstall|enable|disable|update}
If you would like to learn more just use the command cat in order to see the entire Install.sh script cat install.sh
Example:

Remember if you face any issue Feel free to raise a ticket to our wonderfully Azure support and an engineer will be happy to assist mitigate the issue.
Thank you , Tzachi Elkabatz