keep backwards compatibility
This commit is contained in:
parent
607b7c14bd
commit
f2bc0a6d85
1 changed files with 18 additions and 6 deletions
|
@ -249,22 +249,29 @@ AZURE_ROLE_SIZES = ['ExtraSmall',
|
|||
'Standard_G4',
|
||||
'Standard_G5']
|
||||
|
||||
from distutils.version import LooseVersion
|
||||
|
||||
try:
|
||||
import azure as windows_azure
|
||||
|
||||
from azure.common import AzureException, AzureMissingResourceHttpError
|
||||
if hasattr(windows_azure, '__version__') and LooseVersion(windows_azure.__version__) <= "0.11.1":
|
||||
from azure import WindowsAzureError as AzureException
|
||||
from azure import WindowsAzureMissingResourceError as AzureMissingException
|
||||
else:
|
||||
from azure.common import AzureException as AzureException
|
||||
from azure.common import AzureMissingResourceHttpError as AzureMissingException
|
||||
|
||||
from azure.servicemanagement import (ServiceManagementService, OSVirtualHardDisk, SSH, PublicKeys,
|
||||
PublicKey, LinuxConfigurationSet, ConfigurationSetInputEndpoints,
|
||||
ConfigurationSetInputEndpoint, Listener, WindowsConfigurationSet)
|
||||
|
||||
HAS_AZURE = True
|
||||
except ImportError:
|
||||
HAS_AZURE = False
|
||||
|
||||
from distutils.version import LooseVersion
|
||||
from types import MethodType
|
||||
import json
|
||||
|
||||
|
||||
def _wait_for_completion(azure, promise, wait_timeout, msg):
|
||||
if not promise: return
|
||||
wait_timeout = time.time() + wait_timeout
|
||||
|
@ -353,7 +360,7 @@ def create_virtual_machine(module, azure):
|
|||
try:
|
||||
# check to see if a vm with this name exists; if so, do nothing
|
||||
azure.get_role(name, name, name)
|
||||
except AzureMissingResourceHttpError:
|
||||
except AzureMissingException:
|
||||
# vm does not exist; create it
|
||||
|
||||
if os_type == 'linux':
|
||||
|
@ -453,7 +460,7 @@ def terminate_virtual_machine(module, azure):
|
|||
disk_names = []
|
||||
try:
|
||||
deployment = azure.get_deployment_by_name(service_name=name, deployment_name=name)
|
||||
except AzureMissingResourceHttpError, e:
|
||||
except AzureMissingException, e:
|
||||
pass # no such deployment or service
|
||||
except AzureException, e:
|
||||
module.fail_json(msg="failed to find the deployment, error was: %s" % str(e))
|
||||
|
@ -545,6 +552,11 @@ def main():
|
|||
subscription_id, management_cert_path = get_azure_creds(module)
|
||||
|
||||
wait_timeout_redirects = int(module.params.get('wait_timeout_redirects'))
|
||||
|
||||
if hasattr(windows_azure, '__version__') and LooseVersion(windows_azure.__version__) <= "0.8.0":
|
||||
# wrapper for handling redirects which the sdk <= 0.8.0 is not following
|
||||
azure = Wrapper(ServiceManagementService(subscription_id, management_cert_path), wait_timeout_redirects)
|
||||
else:
|
||||
azure = ServiceManagementService(subscription_id, management_cert_path)
|
||||
|
||||
cloud_service_raw = None
|
||||
|
|
Loading…
Reference in a new issue