From 7d9fb08e1ad180dcae8108e8a35d02c370112cbb Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Thu, 19 May 2016 15:34:59 -0700 Subject: [PATCH] Py3 exclude list (#3698) * Fix a few modules to pass syntax checks under python3 * Move from a whitelist of modules to check for python3 compat to a blacklist --- lib/ansible/modules/cloud/azure/azure.py | 22 +++++++++---------- .../cloud/azure/azure_rm_storageaccount.py | 6 ++--- lib/ansible/modules/cloud/linode/linode.py | 16 +++++++------- lib/ansible/modules/windows/win_feature.py | 4 +--- lib/ansible/modules/windows/win_get_url.py | 2 +- 5 files changed, 24 insertions(+), 26 deletions(-) diff --git a/lib/ansible/modules/cloud/azure/azure.py b/lib/ansible/modules/cloud/azure/azure.py index 73ce40b5b74..865c287f8b4 100644 --- a/lib/ansible/modules/cloud/azure/azure.py +++ b/lib/ansible/modules/cloud/azure/azure.py @@ -305,7 +305,7 @@ def _delete_disks_when_detached(azure, wait_timeout, disk_names): if disk.attached_to is None: azure.delete_disk(disk.name, True) disk_names.remove(disk_name) - except AzureException, e: + except AzureException as e: module.fail_json(msg="failed to get or delete disk, error was: %s" % (disk_name, str(e))) finally: signal.alarm(0) @@ -363,7 +363,7 @@ def create_virtual_machine(module, azure): result = azure.create_hosted_service(service_name=name, label=name, location=location) _wait_for_completion(azure, result, wait_timeout, "create_hosted_service") changed = True - except AzureException, e: + except AzureException as e: module.fail_json(msg="failed to create the new service, error was: %s" % str(e)) try: @@ -434,13 +434,13 @@ def create_virtual_machine(module, azure): virtual_network_name=virtual_network_name) _wait_for_completion(azure, result, wait_timeout, "create_virtual_machine_deployment") changed = True - except AzureException, e: + except AzureException as e: module.fail_json(msg="failed to create the new virtual machine, error was: %s" % str(e)) try: deployment = azure.get_deployment_by_name(service_name=name, deployment_name=name) return (changed, urlparse(deployment.url).hostname, deployment) - except AzureException, e: + except AzureException as e: module.fail_json(msg="failed to lookup the deployment information for %s, error was: %s" % (name, str(e))) @@ -468,9 +468,9 @@ def terminate_virtual_machine(module, azure): disk_names = [] try: deployment = azure.get_deployment_by_name(service_name=name, deployment_name=name) - except AzureMissingException, e: + except AzureMissingException as e: pass # no such deployment or service - except AzureException, e: + except AzureException as e: module.fail_json(msg="failed to find the deployment, error was: %s" % str(e)) # Delete deployment @@ -483,13 +483,13 @@ def terminate_virtual_machine(module, azure): role_props = azure.get_role(name, deployment.name, role.role_name) if role_props.os_virtual_hard_disk.disk_name not in disk_names: disk_names.append(role_props.os_virtual_hard_disk.disk_name) - except AzureException, e: + except AzureException as e: module.fail_json(msg="failed to get the role %s, error was: %s" % (role.role_name, str(e))) try: result = azure.delete_deployment(name, deployment.name) _wait_for_completion(azure, result, wait_timeout, "delete_deployment") - except AzureException, e: + except AzureException as e: module.fail_json(msg="failed to delete the deployment %s, error was: %s" % (deployment.name, str(e))) # It's unclear when disks associated with terminated deployment get detatched. @@ -497,14 +497,14 @@ def terminate_virtual_machine(module, azure): # become detatched by polling the list of remaining disks and examining the state. try: _delete_disks_when_detached(azure, wait_timeout, disk_names) - except (AzureException, TimeoutError), e: + except (AzureException, TimeoutError) as e: module.fail_json(msg=str(e)) try: # Now that the vm is deleted, remove the cloud service result = azure.delete_hosted_service(service_name=name) _wait_for_completion(azure, result, wait_timeout, "delete_hosted_service") - except AzureException, e: + except AzureException as e: module.fail_json(msg="failed to delete the service %s, error was: %s" % (name, str(e))) public_dns_name = urlparse(deployment.url).hostname @@ -613,7 +613,7 @@ class Wrapper(object): while wait_timeout > time.time(): try: return f() - except AzureException, e: + except AzureException as e: if not str(e).lower().find("temporary redirect") == -1: time.sleep(5) pass diff --git a/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py b/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py index 7282551ae4f..eaea0bc7a1d 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py @@ -241,7 +241,7 @@ class AzureRMStorageAccount(AzureRMModuleBase): self.log('Checking name availability for {0}'.format(self.name)) try: response = self.storage_client.storage_accounts.check_name_availability(self.name) - except AzureHttpError, e: + except AzureHttpError as e: self.log('Error attempting to validate name.') self.fail("Error checking name availability: {0}".format(str(e))) if not response.name_available: @@ -384,7 +384,7 @@ class AzureRMStorageAccount(AzureRMModuleBase): try: poller = self.storage_client.storage_accounts.create(self.resource_group, self.name, parameters) self.get_poller_result(poller) - except AzureHttpError, e: + except AzureHttpError as e: self.log('Error creating storage account.') self.fail("Failed to create account: {0}".format(str(e))) # the poller doesn't actually return anything @@ -402,7 +402,7 @@ class AzureRMStorageAccount(AzureRMModuleBase): status = self.storage_client.storage_accounts.delete(self.resource_group, self.name) self.log("delete status: ") self.log(str(status)) - except AzureHttpError, e: + except AzureHttpError as e: self.fail("Failed to delete the account: {0}".format(str(e))) return True diff --git a/lib/ansible/modules/cloud/linode/linode.py b/lib/ansible/modules/cloud/linode/linode.py index 36f78d126e6..022dc231bf4 100644 --- a/lib/ansible/modules/cloud/linode/linode.py +++ b/lib/ansible/modules/cloud/linode/linode.py @@ -259,7 +259,7 @@ def linodeServers(module, api, state, name, plan, distribution, datacenter, lino api.linode_update(LinodeId=linode_id, Label='%s_%s' % (linode_id, name)) # Save server servers = api.linode_list(LinodeId=linode_id) - except Exception, e: + except Exception as e: module.fail_json(msg = '%s' % e.value[0]['ERRORMESSAGE']) if not disks: @@ -291,7 +291,7 @@ def linodeServers(module, api, state, name, plan, distribution, datacenter, lino Label='%s swap disk (lid: %s)' % (name, linode_id), Size=swap) jobs.append(res['JobID']) - except Exception, e: + except Exception as e: # TODO: destroy linode ? module.fail_json(msg = '%s' % e.value[0]['ERRORMESSAGE']) @@ -334,7 +334,7 @@ def linodeServers(module, api, state, name, plan, distribution, datacenter, lino api.linode_config_create(LinodeId=linode_id, KernelId=kernel_id, Disklist=disks_list, Label='%s config' % name) configs = api.linode_config_list(LinodeId=linode_id) - except Exception, e: + except Exception as e: module.fail_json(msg = '%s' % e.value[0]['ERRORMESSAGE']) # Start / Ensure servers are running @@ -395,7 +395,7 @@ def linodeServers(module, api, state, name, plan, distribution, datacenter, lino if server['STATUS'] != 2: try: res = api.linode_shutdown(LinodeId=linode_id) - except Exception, e: + except Exception as e: module.fail_json(msg = '%s' % e.value[0]['ERRORMESSAGE']) instance['status'] = 'Stopping' changed = True @@ -415,7 +415,7 @@ def linodeServers(module, api, state, name, plan, distribution, datacenter, lino instance = getInstanceDetails(api, server) try: res = api.linode_reboot(LinodeId=server['LINODEID']) - except Exception, e: + except Exception as e: module.fail_json(msg = '%s' % e.value[0]['ERRORMESSAGE']) instance['status'] = 'Restarting' changed = True @@ -426,7 +426,7 @@ def linodeServers(module, api, state, name, plan, distribution, datacenter, lino instance = getInstanceDetails(api, server) try: api.linode_delete(LinodeId=server['LINODEID'], skipChecks=True) - except Exception, e: + except Exception as e: module.fail_json(msg = '%s' % e.value[0]['ERRORMESSAGE']) instance['status'] = 'Deleting' changed = True @@ -481,14 +481,14 @@ def main(): if not api_key: try: api_key = os.environ['LINODE_API_KEY'] - except KeyError, e: + except KeyError as e: module.fail_json(msg = 'Unable to load %s' % e.message) # setup the auth try: api = linode_api.Api(api_key) api.test_echo() - except Exception, e: + except Exception as e: module.fail_json(msg = '%s' % e.value[0]['ERRORMESSAGE']) linodeServers(module, api, state, name, plan, distribution, datacenter, linode_id, diff --git a/lib/ansible/modules/windows/win_feature.py b/lib/ansible/modules/windows/win_feature.py index 3ba53d0553e..04226c609a8 100644 --- a/lib/ansible/modules/windows/win_feature.py +++ b/lib/ansible/modules/windows/win_feature.py @@ -77,7 +77,7 @@ author: - "Trond Hindenes (@trondhindenes)" ''' -EXAMPLES = ''' +EXAMPLES = r''' # This installs IIS. # The names of features available for install can be run by running the following Powershell Command: # PS C:\Users\Administrator> Import-Module ServerManager; Get-WindowsFeature @@ -99,6 +99,4 @@ ansible -m "win_feature" -a "name=NET-Framework-Core source=C:/Temp/iso/sources/ restart: yes include_sub_features: yes include_management_tools: yes - - ''' diff --git a/lib/ansible/modules/windows/win_get_url.py b/lib/ansible/modules/windows/win_get_url.py index f7c5819cb22..1492cb44f05 100644 --- a/lib/ansible/modules/windows/win_get_url.py +++ b/lib/ansible/modules/windows/win_get_url.py @@ -84,7 +84,7 @@ options: required: false ''' -EXAMPLES = ''' +EXAMPLES = r''' # Downloading a JPEG and saving it to a file with the ansible command. # Note the "dest" is quoted rather instead of escaping the backslashes $ ansible -i hosts -c winrm -m win_get_url -a "url=http://www.example.com/earthrise.jpg dest='C:\Users\Administrator\earthrise.jpg'" all