From 146030e82a310a4154983a06fa493e976a9cb143 Mon Sep 17 00:00:00 2001 From: "Carlos J. Herrera" Date: Mon, 28 Sep 2020 10:46:08 -0400 Subject: [PATCH] M #~: improve list in vcenter (#253) Signed-off-by: Carlos Herrera --- src/cli/onevcenter | 2 + .../remotes/lib/vcenter_driver/datacenter.rb | 121 ++++++++++-------- 2 files changed, 72 insertions(+), 51 deletions(-) diff --git a/src/cli/onevcenter b/src/cli/onevcenter index ef9c381019..0b4f6e24d5 100755 --- a/src/cli/onevcenter +++ b/src/cli/onevcenter @@ -155,6 +155,7 @@ CommandParser::CmdParser.new(ARGV) do begin args = helper.parse_opts(options) args[:filter] = true + args[:short] = true vi_client = VCenterDriver::VIClient.new_from_host(options[:host]) importer = VCenterDriver::VcImporter .new_child(helper.client, vi_client, options[:object]) @@ -185,6 +186,7 @@ CommandParser::CmdParser.new(ARGV) do begin args = helper.parse_opts(options) args[:filter] = false + args[:short] = true vi_client = VCenterDriver::VIClient.new_from_host(options[:host]) importer = VCenterDriver::VcImporter .new_child(helper.client, vi_client, options[:object]) diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/datacenter.rb b/src/vmm_mad/remotes/lib/vcenter_driver/datacenter.rb index a455ba33ea..6455a2004b 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/datacenter.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/datacenter.rb @@ -536,6 +536,8 @@ module VCenterDriver one_host = params[:one_host] args = params[:args] + full_process = !args[:short] + # Initialize network hash network = {} # Add name to network hash @@ -546,9 +548,12 @@ module VCenterDriver # Initialize opts hash used to inject data into one template opts = {} - # Add network type to network hash - network_type = VCenterDriver::Network.get_network_type(vc_network) - network[vc_network._ref][:network_type] = network_type + if full_process + # Add network type to network hash + network_type = \ + VCenterDriver::Network.get_network_type(vc_network) + network[vc_network._ref][:network_type] = network_type + end # Determine if the network must be excluded network[vc_network._ref][:excluded] = exclude_network?(vc_network, @@ -556,44 +561,49 @@ module VCenterDriver args) return if network[vc_network._ref][:excluded] == true - case network[vc_network._ref][:network_type] - # Distributed PortGroups - when VCenterDriver::Network::NETWORK_TYPE_DPG - network[vc_network._ref][:sw_name] = \ - vc_network.config.distributedVirtualSwitch.name - # For DistributedVirtualPortgroups there is networks and uplinks - network[vc_network._ref][:uplink] = \ - vc_network.config.uplink - # network[vc_network._ref][:uplink] = false - # NSX-V PortGroups - when VCenterDriver::Network::NETWORK_TYPE_NSXV - network[vc_network._ref][:sw_name] = \ - vc_network.config.distributedVirtualSwitch.name - # For NSX-V ( is the same as DistributedVirtualPortgroups ) - # there is networks and uplinks - network[vc_network._ref][:uplink] = \ - vc_network.config.uplink - network[vc_network._ref][:uplink] = false - # Standard PortGroups - when VCenterDriver::Network::NETWORK_TYPE_PG - # There is no uplinks for standard portgroups, so all Standard - # PortGroups are networks and no uplinks - network[vc_network._ref][:uplink] = false - network[vc_network._ref][:sw_name] = - VCenterDriver::Network - .virtual_switch( - vc_network - ) - # NSX-T PortGroups - when VCenterDriver::Network::NETWORK_TYPE_NSXT - network[vc_network._ref][:sw_name] = \ - vc_network.summary.opaqueNetworkType - # There is no uplinks for NSX-T networks, so all NSX-T networks - # are networks and no uplinks - network[vc_network._ref][:uplink] = false - else - raise 'Unknown network type: ' \ - "#{network[vc_network._ref][:network_type]}" + if full_process + case network[vc_network._ref][:network_type] + # Distributed PortGroups + when VCenterDriver::Network::NETWORK_TYPE_DPG + network[vc_network._ref][:sw_name] = \ + vc_network.config.distributedVirtualSwitch.name + # For DistributedVirtualPortgroups there + # is networks and uplinks + network[vc_network._ref][:uplink] = \ + vc_network.config.uplink + # network[vc_network._ref][:uplink] = false + # NSX-V PortGroups + when VCenterDriver::Network::NETWORK_TYPE_NSXV + network[vc_network._ref][:sw_name] = \ + vc_network.config.distributedVirtualSwitch.name + # For NSX-V ( is the same as DistributedVirtualPortgroups ) + # there is networks and uplinks + network[vc_network._ref][:uplink] = \ + vc_network.config.uplink + network[vc_network._ref][:uplink] = false + # Standard PortGroups + when VCenterDriver::Network::NETWORK_TYPE_PG + # There is no uplinks for standard portgroups, + # so all Standard + # PortGroups are networks and no uplinks + network[vc_network._ref][:uplink] = false + network[vc_network._ref][:sw_name] = + VCenterDriver::Network + .virtual_switch( + vc_network + ) + # NSX-T PortGroups + when VCenterDriver::Network::NETWORK_TYPE_NSXT + network[vc_network._ref][:sw_name] = \ + vc_network.summary.opaqueNetworkType + # There is no uplinks for NSX-T networks, + # so all NSX-T networks + # are networks and no uplinks + network[vc_network._ref][:uplink] = false + else + raise 'Unknown network type: ' \ + "#{network[vc_network._ref][:network_type]}" + end end # Multicluster nets support @@ -635,17 +645,26 @@ module VCenterDriver # Mark network as processed network[vc_network._ref][:processed] = true - # General net_info related to datacenter - opts[:vcenter_uuid] = vcenter_uuid - opts[:vcenter_instance_name] = vcenter_instance_name - opts[:network_name] = network[vc_network._ref]['name'] - opts[:network_ref] = network.keys.first - opts[:network_type] = network[vc_network._ref][:network_type] - opts[:sw_name] = network[vc_network._ref][:sw_name] + if full_process + # General net_info related to datacenter + opts[:vcenter_uuid] = vcenter_uuid + opts[:vcenter_instance_name] = vcenter_instance_name + opts[:network_name] = network[vc_network._ref]['name'] + opts[:network_ref] = network.keys.first + opts[:network_type] = network[vc_network._ref][:network_type] + opts[:sw_name] = network[vc_network._ref][:sw_name] + + network[vc_network._ref] = \ + network[vc_network._ref] + .merge(VCenterDriver::Network + .to_one_template(opts)) + else + network[vc_network._ref][:ref] = \ + vc_network._ref + network[vc_network._ref][:name] = \ + network[vc_network._ref]['name'] + end - network[vc_network._ref] = \ - network[vc_network._ref].merge(VCenterDriver::Network - .to_one_template(opts)) network end