Backport/2.7/53496: fix azure_rm.py not showing nic info for vmss #53496 (#54379)

* fix azure_rm.py not showing nic info for vmss (#53496)

* fix vmss nic

* resolve comments

(cherry picked from commit 710b05fae7)

* add changelog
This commit is contained in:
Yunge Zhu 2019-04-02 04:27:39 +08:00 committed by Toshio Kuratomi
parent 3c4affeafc
commit e31620e9db
2 changed files with 9 additions and 7 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- azure_rm inventory plugin - fix no nic type in vmss nic. (https://github.com/ansible/ansible/pull/53496)

View file

@ -567,9 +567,8 @@ class AzureHost(object):
for s in vm_instanceview_model.get('statuses', []) if self._powerstate_regex.match(s.get('code', ''))), 'unknown') for s in vm_instanceview_model.get('statuses', []) if self._powerstate_regex.match(s.get('code', ''))), 'unknown')
def _on_nic_response(self, nic_model, is_primary=False): def _on_nic_response(self, nic_model, is_primary=False):
if nic_model.get('type') == 'Microsoft.Network/networkInterfaces': nic = AzureNic(nic_model=nic_model, inventory_client=self._inventory_client, is_primary=is_primary)
nic = AzureNic(nic_model=nic_model, inventory_client=self._inventory_client, is_primary=is_primary) self.nics.append(nic)
self.nics.append(nic)
class AzureNic(object): class AzureNic(object):
@ -580,10 +579,11 @@ class AzureNic(object):
self.public_ips = {} self.public_ips = {}
for ipc in nic_model['properties']['ipConfigurations']: if nic_model.get('properties', {}).get('ipConfigurations'):
pip = ipc['properties'].get('publicIPAddress') for ipc in nic_model['properties']['ipConfigurations']:
if pip: pip = ipc['properties'].get('publicIPAddress')
self._inventory_client._enqueue_get(url=pip['id'], api_version=self._inventory_client._network_api_version, handler=self._on_pip_response) if pip:
self._inventory_client._enqueue_get(url=pip['id'], api_version=self._inventory_client._network_api_version, handler=self._on_pip_response)
def _on_pip_response(self, pip_model): def _on_pip_response(self, pip_model):
self.public_ips[pip_model['id']] = AzurePip(pip_model) self.public_ips[pip_model['id']] = AzurePip(pip_model)