Closed smarlowucf closed 6 years ago
Given the limited functionality IPA needs from each cloud provider I think it is reasonable to switch to libcloud for EC2 and Azure as well.
Migrating Azure will require a decision on authentication. Currently there are two Libcloud drivers for legacy ASM and ARM.
The legacy driver could use Azurectl config and publish settings files http://libcloud.readthedocs.io/en/latest/compute/drivers/azure.html. However, it's not compatible with the ARM drvier http://libcloud.readthedocs.io/en/latest/compute/drivers/azure_arm.html.
Thus when Azurectl moves to the new API and changes auth this will trickle down to the IPA Azure module requiring a change to new ARM driver.
Also using Azurectl config files mean manually handling them in IPA since this is automagically done by AzurectlConfig and AzureAccount classes.
I think the two best options are either stick to Azurectl for now or move entirely to Libcloud and using IPA config instead of Azurectl config.
As a side note it appears the new API requires setting a new cloud_environment
option to connect to disconnected regions.
Dug into the ARM driver a bit more. There are issues with API versions and even with a correct version could not create an instance. There doesn't appear to be a way to create an instance with a new resource group and NIC. Needs further investigation.
This is finished. Azure will use the azure python SDK.
Consider migrating EC2 and Azure to Apache Libcloud to minimize dependencies and make providers more uniform.
This would also make adding new providers much easier so long as they are supported by libcloud.
Todo: