From 5fd5d1221072b795988ffccf343dfb1ffdf75df7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miha=20Ple=C5=A1ko?= Date: Thu, 1 Mar 2018 09:53:35 +0100 Subject: [PATCH] Skip "none" vApp network when inventoring MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With this commit we prevent NetworkManager from crashing is case when there is a special network "none" listed in vApp network configuration section. This "none" network is a reserved vApp network name which is for some reason present in case when at least one NIC of the vApp VMs is not connected to any network. Following XML is present for such "none" networks: ``` This is a special place-holder used for disconnected network interfaces. false 196.254.254.254 255.255.0.0 196.254.254.254 isolated false ``` and it must be ignored when inventoring. Signed-off-by: Miha Pleško --- .../vmware/network_manager/refresh_parser.rb | 3 +++ .../vmware/network_manager/refresher.yml | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/app/models/manageiq/providers/vmware/network_manager/refresh_parser.rb b/app/models/manageiq/providers/vmware/network_manager/refresh_parser.rb index 0b53996d3..51e994f8f 100644 --- a/app/models/manageiq/providers/vmware/network_manager/refresh_parser.rb +++ b/app/models/manageiq/providers/vmware/network_manager/refresh_parser.rb @@ -44,6 +44,9 @@ def get_vapp_networks @ems.orchestration_stacks.each do |stack| fetch_network_configurations_for_vapp(stack.ems_ref).map do |net_conf| + # 'none' is special network placeholder that we must ignore + next if net_conf[:networkName] == 'none' + $vcloud_log.debug("#{log_header} processing net_conf for vapp #{stack.ems_ref}: #{net_conf}") network_id = network_id_from_links(net_conf) $vcloud_log.debug("#{log_header} calculated vApp network id: #{network_id}") diff --git a/spec/vcr_cassettes/manageiq/providers/vmware/network_manager/refresher.yml b/spec/vcr_cassettes/manageiq/providers/vmware/network_manager/refresher.yml index 51c19ee21..6fcb67f94 100644 --- a/spec/vcr_cassettes/manageiq/providers/vmware/network_manager/refresher.yml +++ b/spec/vcr_cassettes/manageiq/providers/vmware/network_manager/refresher.yml @@ -9325,6 +9325,21 @@ http_interactions: The configuration parameters for logical networks + + This is a special place-holder used for disconnected network interfaces. + + + + false + 196.254.254.254 + 255.255.0.0 + 196.254.254.254 + + + isolated + + false +