SUSE-Enceladus / img-proof

img-proof provides a command line utility to test images in the Public Cloud
https://img-proof.readthedocs.io/en/latest/
GNU General Public License v3.0
14 stars 7 forks source link

Apache libcloud #31

Closed smarlowucf closed 6 years ago

smarlowucf commented 7 years ago

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:

rjschwei commented 7 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.

smarlowucf commented 6 years ago

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.

smarlowucf commented 6 years ago

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.

smarlowucf commented 6 years ago

This is finished. Azure will use the azure python SDK.