From 171d903d04d59316b517100fd9d551a9c73e1e3b Mon Sep 17 00:00:00 2001 From: Raja Date: Mon, 26 Jun 2017 11:43:28 +0530 Subject: [PATCH] Fix Python3 Errors in Azure Cloud Module When using Python3, the exec_module function errors out with a unsupported operand type(s) for +: 'dict_keys' and 'list' error when adding the .keys() to a static list. Use the explicit list function to make a list of keys and then add to the ['tags'] list. --- lib/ansible/modules/cloud/azure/azure_rm_deployment.py | 2 +- lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py | 2 +- lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py | 2 +- lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py | 2 +- lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py | 2 +- lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py | 2 +- lib/ansible/modules/cloud/azure/azure_rm_storageblob.py | 2 +- lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py | 2 +- lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_deployment.py b/lib/ansible/modules/cloud/azure/azure_rm_deployment.py index c93b533529..1381f33f12 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_deployment.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_deployment.py @@ -451,7 +451,7 @@ class AzureRMDeploymentManager(AzureRMModuleBase): if PREREQ_IMPORT_ERROR: self.fail(PREREQ_IMPORT_ERROR) - for key in self.module_arg_spec.keys() + ['tags']: + for key in list(self.module_arg_spec.keys()) + ['tags']: setattr(self, key, kwargs[key]) if self.state == 'present': diff --git a/lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py b/lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py index 2a0cf94d43..15bc0edff7 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py @@ -336,7 +336,7 @@ class AzureRMNetworkInterface(AzureRMModuleBase): def exec_module(self, **kwargs): - for key in self.module_arg_spec.keys() + ['tags']: + for key in list(self.module_arg_spec.keys()) + ['tags']: setattr(self, key, kwargs[key]) results = dict() diff --git a/lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py b/lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py index ed9824fdca..6c1bf462f9 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py @@ -182,7 +182,7 @@ class AzureRMPublicIPAddress(AzureRMModuleBase): def exec_module(self, **kwargs): - for key in self.module_arg_spec.keys() + ['tags']: + for key in list(self.module_arg_spec.keys()) + ['tags']: setattr(self, key, kwargs[key]) results = dict() diff --git a/lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py b/lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py index 831cfdda40..9f05b96499 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py @@ -153,7 +153,7 @@ class AzureRMResourceGroup(AzureRMModuleBase): def exec_module(self, **kwargs): - for key in self.module_arg_spec.keys() + ['tags']: + for key in list(self.module_arg_spec.keys()) + ['tags']: setattr(self, key, kwargs[key]) results = dict() diff --git a/lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py b/lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py index 4fd47b2dec..1831e5e570 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py @@ -548,7 +548,7 @@ class AzureRMSecurityGroup(AzureRMModuleBase): def exec_module(self, **kwargs): - for key in self.module_arg_spec.keys() + ['tags']: + for key in list(self.module_arg_spec.keys()) + ['tags']: setattr(self, key, kwargs[key]) changed = False diff --git a/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py b/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py index a5877f0b31..a291ce3906 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py @@ -206,7 +206,7 @@ class AzureRMStorageAccount(AzureRMModuleBase): def exec_module(self, **kwargs): - for key in self.module_arg_spec.keys() + ['tags']: + for key in list(self.module_arg_spec.keys()) + ['tags']: setattr(self, key, kwargs[key]) resource_group = self.get_resource_group(self.resource_group) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_storageblob.py b/lib/ansible/modules/cloud/azure/azure_rm_storageblob.py index 10b879c1f1..ad00a9a46d 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_storageblob.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_storageblob.py @@ -267,7 +267,7 @@ class AzureRMStorageBlob(AzureRMModuleBase): def exec_module(self, **kwargs): - for key in self.module_arg_spec.keys() + ['tags']: + for key in list(self.module_arg_spec.keys()) + ['tags']: setattr(self, key, kwargs[key]) self.results['check_mode'] = self.check_mode diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py index 45454a9cb7..bf5d0d08eb 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py @@ -555,7 +555,7 @@ class AzureRMVirtualMachine(AzureRMModuleBase): def exec_module(self, **kwargs): - for key in self.module_arg_spec.keys() + ['tags']: + for key in list(self.module_arg_spec.keys()) + ['tags']: setattr(self, key, kwargs[key]) # make sure options are lower case diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py index cc492fd658..34ded2f0bf 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py @@ -221,7 +221,7 @@ class AzureRMVirtualNetwork(AzureRMModuleBase): def exec_module(self, **kwargs): - for key in self.module_arg_spec.keys() + ['tags']: + for key in list(self.module_arg_spec.keys()) + ['tags']: setattr(self, key, kwargs[key]) self.results['check_mode'] = self.check_mode