From 0ee108bda0a61ecdb7598c7b5e3e837d6fe6494a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Moser?= Date: Wed, 15 Mar 2017 02:02:38 +0100 Subject: [PATCH] cloudstack: cs_instance: revert VPC support (#22629) Partly reverts 5374c7cd096b72b7998fb9ef0cad11600273b62c --- lib/ansible/module_utils/cloudstack.py | 14 -------------- .../modules/cloud/cloudstack/cs_instance.py | 16 +--------------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/lib/ansible/module_utils/cloudstack.py b/lib/ansible/module_utils/cloudstack.py index 55c3b02be87..784cdeb8f3d 100644 --- a/lib/ansible/module_utils/cloudstack.py +++ b/lib/ansible/module_utils/cloudstack.py @@ -245,13 +245,6 @@ class AnsibleCloudStack(object): return self._get_by_key(key, self.vpc) self.module.fail_json(msg="VPC '%s' not found" % vpc) - def is_vm_in_vpc(self, vm): - for n in vm.get('nic'): - if n.get('isdefault', False): - return self.is_vpc_network(network_id=n['networkid']) - self.module.fail_json(msg="VM has no default nic") - - def is_vpc_network(self, network_id): """Returns True if network is in VPC.""" # This is an efficient way to query a lot of networks at a time @@ -383,23 +376,16 @@ class AnsibleCloudStack(object): if not vm: self.module.fail_json(msg="Virtual machine param 'vm' is required") - vpc_id = self.get_vpc(key='id') - args = { 'account': self.get_account(key='name'), 'domainid': self.get_domain(key='id'), 'projectid': self.get_project(key='id'), 'zoneid': self.get_zone(key='id'), 'networkid': self.get_network(key='id'), - 'vpcid': vpc_id, } vms = self.cs.listVirtualMachines(**args) if vms: for v in vms['virtualmachine']: - # Due the limitation of the API, there is no easy way (yet) to get only those VMs - # not belonging to a VPC. - if not vpc_id and self.is_vm_in_vpc(vm=v): - continue if vm.lower() in [ v['name'].lower(), v['displayname'].lower(), v['id'] ]: self.vm = v return self._get_by_key(key, self.vm) diff --git a/lib/ansible/modules/cloud/cloudstack/cs_instance.py b/lib/ansible/modules/cloud/cloudstack/cs_instance.py index 0d5d22ee0e9..d7d5040e113 100644 --- a/lib/ansible/modules/cloud/cloudstack/cs_instance.py +++ b/lib/ansible/modules/cloud/cloudstack/cs_instance.py @@ -198,12 +198,6 @@ options: - Consider switching to HTTP_POST by using C(CLOUDSTACK_METHOD=post) to increase the HTTP_GET size limit of 2KB to 32 KB. required: false default: null - vpc: - description: - - Name of the VPC. - required: false - default: null - version_added: "2.3" force: description: - Force stop/start the instance if required to apply changes, otherwise a running instance will not be changed. @@ -524,22 +518,16 @@ class AnsibleCloudStackInstance(AnsibleCloudStack): instance = self.instance if not instance: instance_name = self.get_or_fallback('name', 'display_name') - vpc_id = self.get_vpc(key='id') args = { 'account': self.get_account(key='name'), 'domainid': self.get_domain(key='id'), 'projectid': self.get_project(key='id'), - 'vpcid': vpc_id, } # Do not pass zoneid, as the instance name must be unique across zones. instances = self.cs.listVirtualMachines(**args) if instances: for v in instances['virtualmachine']: - # Due the limitation of the API, there is no easy way (yet) to get only those VMs - # not belonging to a VPC. - if not vpc_id and self.is_vm_in_vpc(vm=v): - continue - if instance_name.lower() in [ v['name'].lower(), v['displayname'].lower(), v['id'] ]: + if instance_name.lower() in [v['name'].lower(), v['displayname'].lower(), v['id']]: self.instance = v break return self.instance @@ -636,7 +624,6 @@ class AnsibleCloudStackInstance(AnsibleCloudStack): 'domainid': self.get_domain(key='id'), 'projectid': self.get_project(key='id'), 'zoneid': self.get_zone(key='id'), - 'vpcid': self.get_vpc(key='id'), } networks = self.cs.listNetworks(**args) if not networks: @@ -1017,7 +1004,6 @@ def main(): ssh_key = dict(default=None), force = dict(type='bool', default=False), tags = dict(type='list', aliases=[ 'tag' ], default=None), - vpc = dict(default=None), poll_async = dict(type='bool', default=True), ))