vmware_guest: cast vlan to int or str when relevant (#39726)

`network['vlan']` should be a VLAN ID
Integers passed around using jinja variable references are
converted to strings (see # 9362)
The # 32738 PR should allow using 'NativeType' in ansible
Explicitly converting to integer will make the module works
as expected with or without the NativeType support

`network['vlan']` can also be a VLAN NAME (fallback)
Explicitly converting to string will make the module works
as expected with or without the NativeType support
This commit is contained in:
Matthieu Fronton 2018-05-07 12:20:34 +02:00 committed by Abhijeet Kasurde
parent bc59dc471b
commit a0b4462aea

View file

@ -1004,10 +1004,10 @@ class PyVmomiHelper(PyVmomi):
dvps = self.cache.get_all_objs(self.content, [vim.dvs.DistributedVirtualPortgroup]) dvps = self.cache.get_all_objs(self.content, [vim.dvs.DistributedVirtualPortgroup])
for dvp in dvps: for dvp in dvps:
if hasattr(dvp.config.defaultPortConfig, 'vlan') and \ if hasattr(dvp.config.defaultPortConfig, 'vlan') and \
dvp.config.defaultPortConfig.vlan.vlanId == network['vlan']: dvp.config.defaultPortConfig.vlan.vlanId == int(network['vlan']):
network['name'] = dvp.config.name network['name'] = dvp.config.name
break break
if dvp.config.name == network['vlan']: if dvp.config.name == str(network['vlan']):
network['name'] = dvp.config.name network['name'] = dvp.config.name
break break
else: else: