community.vmware icon indicating copy to clipboard operation
community.vmware copied to clipboard

vmware_* modules should allow for case insensitive name

Open NeverUsedID opened this issue 4 years ago • 14 comments

SUMMARY All the vmware_* modules that take a name (machine) parameter appears to be case sensitive. It is very common to have casing differences between the inventory and whats in vmware, which then requires use of the vmware powershell module to find the exact name for every machine before using any vmware ansible module. At the minimum there should be parameter that allows override to be case insensitive.

ISSUE TYPE Feature Idea COMPONENT NAME vmware_guest_powerstate vmware_guest_facts vmware_guest vmware_guest_tools_wait vmware_*

ADDITIONAL INFORMATION

I just copied this issue from https://github.com/ansible/ansible/issues/53749 as i can't find it here.

NeverUsedID avatar Aug 25 '20 08:08 NeverUsedID

Files identified in the description:

If these files are inaccurate, please update the component name section of the description or use the !component bot command.

click here for bot help

ansibullbot avatar Aug 25 '20 08:08 ansibullbot

cc @Akasurde @GBrawl @MikeKlebolt @Tomorrow9 @anusha94 @bedecarroll @castawayegr @chrrrles @dav1x @digifuchsi @dx0xm @equelin @garbled1 @goneri @gyorgypeter @imjoseangel @jjahns @kamsz @karstenjakobsen @lparkes @lrivallain @mariolenz @michaeldeaton @nafpliot-ibm @nerzhul @oboukili @pdellaert @pgbidkar @ritzk @rmin @scottd018 @sky-joker @stravassac @sumkincpp @victron @vmwjoseph @warthog9 @woshihaoren click here for bot help

ansibullbot avatar Aug 25 '20 08:08 ansibullbot

Can someone please suggest any workaround for this issue, How to handle this in ansible 2.9.6

sathe06 avatar Oct 02 '20 12:10 sathe06

Are you referring to "display name" as "name"? I just tested this with vCenter version 6.7. On vCenter side they made a change. VM display names are now case sensitive.

my_favorite_vm_1 can be a different vm than My_favorite_vm_1

I don't think that this request is useful any longer except it is not meant for vm display names.

phospi avatar Oct 19 '20 15:10 phospi

Sorry, I might not have understood this reply correctly, but I think what he meant is that it is impossible to run any vmware ansible module without knowing the exact name of the machine and what case has been used for it's name in vsphere. Your example is valid, so does the initial request to have a way around that. Especially considering that searching for entities in vCenter is case insensitive.

Still an issue for some people.

Thanks.

DMunkov avatar Jan 14 '21 01:01 DMunkov

I would suggest to use the vmware_vm_info module to search for the correct VM name if it is not possible to have the correct VM name/case in the inventory.

The VM name is the primary identifier for the VM object. To make this case insensitive when vSphere stores the name case sensitive will lead to some serious issues managing VMs that are called the same but have a different case in some letters.

digifuchsi avatar Jan 14 '21 07:01 digifuchsi

VM names are definitely case sensitive. It drives me insane, but some people do name them badly in the console, and then don't notice and re-use a name with a different case.

I guess you could have a case_sensitive_name: no option with a bunch of warnings about "you might get the wrong vm" ?

garbled1 avatar Jan 14 '21 13:01 garbled1

I would suggest to use the vmware_vm_info module to search for the correct VM name if it is not possible to have the correct VM name/case in the inventory.

The VM name is the primary identifier for the VM object. To make this case insensitive when vSphere stores the name case sensitive will lead to some serious issues managing VMs that are called the same but have a different case in some letters.

Thanks for your reply. For some reason vmware_vm_info takes so much time to run, that I've had to Ctrl+C out of the execution all three times I've attempted in running this module (we have ~2000 VMs in ~50 Datacenters, maybe it's too heavy for this module).

Not to be a snob, but the machine GUID is the primary identifier for vSphere. However, I agree with the rest.

For a workaround, I'm investing time looking at dynamic inventories and have a regex case insensitive search ((?i)machineName) within it to find the proper machine spelling.

DMunkov avatar Jan 14 '21 19:01 DMunkov

I would suggest to use the vmware_vm_info module to search for the correct VM name if it is not possible to have the correct VM name/case in the inventory. The VM name is the primary identifier for the VM object. To make this case insensitive when vSphere stores the name case sensitive will lead to some serious issues managing VMs that are called the same but have a different case in some letters.

Thanks for your reply. For some reason vmware_vm_info takes so much time to run, that I've had to Ctrl+C out of the execution all three times I've attempted in running this module (we have ~2000 VMs in ~50 Datacenters, maybe it's too heavy for this module).

Not to be a snob, but the machine GUID is the primary identifier for vSphere. However, I agree with the rest.

For a workaround, I'm investing time looking at dynamic inventories and have a regex case insensitive search ((?i)machineName) within it to find the proper machine spelling.

Yeah this module will take a while when you have a big environment. It could only help you to fix your inventory.

Not to be a snob as well: moref is the one for vSphere. GUID was added to have a unique identifier across all your vCenters, but moref is still the one that is used by ESXi and vCenter. ;D With primary identifier I was referring to the Ansible Modules. They chose to identify a VM by its name. It is not an optimal solution, because you can have VMs called the same in different folders since some time now, but for the most folks it is better than having to deal with moref or GUID.

You may check on the VMware inventory plugin. It may suit you better and will get you the correct VM names. Doing some tag based group assignment will get you the right vars on your inventory hosts as well.

digifuchsi avatar Jan 15 '21 08:01 digifuchsi

Files identified in the description:

If these files are inaccurate, please update the component name section of the description or use the !component bot command.

click here for bot help

ansibullbot avatar Jan 15 '21 16:01 ansibullbot

cc @laidbackware click here for bot help

ansibullbot avatar Jan 15 '21 16:01 ansibullbot

Files identified in the description:

  • [plugins/modules/vmware_about_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_about_facts.py)
  • [plugins/modules/vmware_about_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_about_info.py)
  • [plugins/modules/vmware_category.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_category.py)
  • [plugins/modules/vmware_category_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_category_facts.py)
  • [plugins/modules/vmware_category_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_category_info.py)
  • [plugins/modules/vmware_cfg_backup.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_cfg_backup.py)
  • [plugins/modules/vmware_cluster.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_cluster.py)
  • [plugins/modules/vmware_cluster_drs.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_cluster_drs.py)
  • [plugins/modules/vmware_cluster_ha.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_cluster_ha.py)
  • [plugins/modules/vmware_cluster_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_cluster_info.py)
  • [plugins/modules/vmware_cluster_vsan.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_cluster_vsan.py)
  • [plugins/modules/vmware_content_library_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_content_library_info.py)
  • [plugins/modules/vmware_datacenter.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_datacenter.py)
  • [plugins/modules/vmware_datacenter_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_datacenter_info.py)
  • [plugins/modules/vmware_datastore_cluster.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_datastore_cluster.py)
  • [plugins/modules/vmware_datastore_cluster_manager.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_datastore_cluster_manager.py)
  • [plugins/modules/vmware_datastore_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_datastore_info.py)
  • [plugins/modules/vmware_deploy_ovf.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_deploy_ovf.py)
  • [plugins/modules/vmware_dns_config.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dns_config.py)
  • [plugins/modules/vmware_drs_group.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_drs_group.py)
  • [plugins/modules/vmware_drs_group_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_drs_group_facts.py)
  • [plugins/modules/vmware_drs_group_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_drs_group_info.py)
  • [plugins/modules/vmware_drs_rule_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_drs_rule_facts.py)
  • [plugins/modules/vmware_drs_rule_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_drs_rule_info.py)
  • [plugins/modules/vmware_dvs_host.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dvs_host.py)
  • [plugins/modules/vmware_dvs_portgroup.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dvs_portgroup.py)
  • [plugins/modules/vmware_dvs_portgroup_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dvs_portgroup_facts.py)
  • [plugins/modules/vmware_dvs_portgroup_find.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dvs_portgroup_find.py)
  • [plugins/modules/vmware_dvswitch.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dvswitch.py)
  • [plugins/modules/vmware_dvswitch_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dvswitch_info.py)
  • [plugins/modules/vmware_dvswitch_lacp.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dvswitch_lacp.py)
  • [plugins/modules/vmware_dvswitch_nioc.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dvswitch_nioc.py)
  • [plugins/modules/vmware_dvswitch_pvlans.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_dvswitch_pvlans.py)
  • [plugins/modules/vmware_evc_mode.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_evc_mode.py)
  • [plugins/modules/vmware_export_ovf.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_export_ovf.py)
  • [plugins/modules/vmware_guest.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest.py)
  • [plugins/modules/vmware_guest_boot_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_boot_facts.py)
  • [plugins/modules/vmware_guest_boot_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_boot_info.py)
  • [plugins/modules/vmware_guest_boot_manager.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_boot_manager.py)
  • [plugins/modules/vmware_guest_controller.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_controller.py)
  • [plugins/modules/vmware_guest_cross_vc_clone.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_cross_vc_clone.py)
  • [plugins/modules/vmware_guest_custom_attribute_defs.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_custom_attribute_defs.py)
  • [plugins/modules/vmware_guest_custom_attributes.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_custom_attributes.py)
  • [plugins/modules/vmware_guest_customization_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_customization_facts.py)
  • [plugins/modules/vmware_guest_customization_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_customization_info.py)
  • [plugins/modules/vmware_guest_disk.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_disk.py)
  • [plugins/modules/vmware_guest_disk_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_disk_facts.py)
  • [plugins/modules/vmware_guest_disk_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_disk_info.py)
  • [plugins/modules/vmware_guest_file_operation.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_file_operation.py)
  • [plugins/modules/vmware_guest_find.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_find.py)
  • [plugins/modules/vmware_guest_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_info.py)
  • [plugins/modules/vmware_guest_move.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_move.py)
  • [plugins/modules/vmware_guest_network.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_network.py)
  • [plugins/modules/vmware_guest_powerstate.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_powerstate.py)
  • [plugins/modules/vmware_guest_register_operation.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_register_operation.py)
  • [plugins/modules/vmware_guest_screenshot.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_screenshot.py)
  • [plugins/modules/vmware_guest_sendkey.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_sendkey.py)
  • [plugins/modules/vmware_guest_serial_port.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_serial_port.py)
  • [plugins/modules/vmware_guest_snapshot.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_snapshot.py)
  • [plugins/modules/vmware_guest_snapshot_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_snapshot_info.py)
  • [plugins/modules/vmware_guest_tools_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_tools_info.py)
  • [plugins/modules/vmware_guest_tools_upgrade.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_tools_upgrade.py)
  • [plugins/modules/vmware_guest_tools_wait.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_tools_wait.py)
  • [plugins/modules/vmware_guest_video.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_video.py)
  • [plugins/modules/vmware_guest_vnc.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_guest_vnc.py)
  • [plugins/modules/vmware_host.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host.py)
  • [plugins/modules/vmware_host_acceptance.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_acceptance.py)
  • [plugins/modules/vmware_host_active_directory.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_active_directory.py)
  • [plugins/modules/vmware_host_auto_start.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_auto_start.py)
  • [plugins/modules/vmware_host_capability_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_capability_facts.py)
  • [plugins/modules/vmware_host_capability_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_capability_info.py)
  • [plugins/modules/vmware_host_config_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_config_facts.py)
  • [plugins/modules/vmware_host_config_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_config_info.py)
  • [plugins/modules/vmware_host_config_manager.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_config_manager.py)
  • [plugins/modules/vmware_host_datastore.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_datastore.py)
  • [plugins/modules/vmware_host_disk_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_disk_info.py)
  • [plugins/modules/vmware_host_dns.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_dns.py)
  • [plugins/modules/vmware_host_dns_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_dns_facts.py)
  • [plugins/modules/vmware_host_dns_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_dns_info.py)
  • [plugins/modules/vmware_host_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_facts.py)
  • [plugins/modules/vmware_host_feature_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_feature_facts.py)
  • [plugins/modules/vmware_host_feature_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_feature_info.py)
  • [plugins/modules/vmware_host_firewall_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_firewall_facts.py)
  • [plugins/modules/vmware_host_firewall_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_firewall_info.py)
  • [plugins/modules/vmware_host_ipv6.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_ipv6.py)
  • [plugins/modules/vmware_host_iscsi.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_iscsi.py)
  • [plugins/modules/vmware_host_iscsi_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_iscsi_info.py)
  • [plugins/modules/vmware_host_lockdown.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_lockdown.py)
  • [plugins/modules/vmware_host_logbundle.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_logbundle.py)
  • [plugins/modules/vmware_host_ntp.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_ntp.py)
  • [plugins/modules/vmware_host_ntp_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_ntp_facts.py)
  • [plugins/modules/vmware_host_ntp_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_ntp_info.py)
  • [plugins/modules/vmware_host_package_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_package_facts.py)
  • [plugins/modules/vmware_host_package_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_package_info.py)
  • [plugins/modules/vmware_host_powerstate.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_powerstate.py)
  • [plugins/modules/vmware_host_scanhba.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_scanhba.py)
  • [plugins/modules/vmware_host_scsidisk_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_scsidisk_info.py)
  • [plugins/modules/vmware_host_service_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_service_facts.py)
  • [plugins/modules/vmware_host_service_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_service_info.py)
  • [plugins/modules/vmware_host_service_manager.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_service_manager.py)
  • [plugins/modules/vmware_host_snmp.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_snmp.py)
  • [plugins/modules/vmware_host_sriov.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_sriov.py)
  • [plugins/modules/vmware_host_ssl_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_ssl_facts.py)
  • [plugins/modules/vmware_host_ssl_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_ssl_info.py)
  • [plugins/modules/vmware_host_vmhba_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_vmhba_facts.py)
  • [plugins/modules/vmware_host_vmhba_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_vmhba_info.py)
  • [plugins/modules/vmware_host_vmnic_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_vmnic_facts.py)
  • [plugins/modules/vmware_host_vmnic_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_host_vmnic_info.py)
  • [plugins/modules/vmware_local_role_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_local_role_facts.py)
  • [plugins/modules/vmware_local_role_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_local_role_info.py)
  • [plugins/modules/vmware_local_user_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_local_user_facts.py)
  • [plugins/modules/vmware_local_user_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_local_user_info.py)
  • [plugins/modules/vmware_local_user_manager.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_local_user_manager.py)
  • [plugins/modules/vmware_maintenancemode.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_maintenancemode.py)
  • [plugins/modules/vmware_migrate_vmk.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_migrate_vmk.py)
  • [plugins/modules/vmware_object_rename.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_object_rename.py)
  • [plugins/modules/vmware_portgroup.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_portgroup.py)
  • [plugins/modules/vmware_portgroup_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_portgroup_facts.py)
  • [plugins/modules/vmware_portgroup_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_portgroup_info.py)
  • [plugins/modules/vmware_resource_pool.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_resource_pool.py)
  • [plugins/modules/vmware_resource_pool_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_resource_pool_facts.py)
  • [plugins/modules/vmware_tag.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_tag.py)
  • [plugins/modules/vmware_tag_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_tag_info.py)
  • [plugins/modules/vmware_tag_manager.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_tag_manager.py)
  • [plugins/modules/vmware_target_canonical_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_target_canonical_facts.py)
  • [plugins/modules/vmware_target_canonical_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_target_canonical_info.py)
  • [plugins/modules/vmware_vcenter_settings.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vcenter_settings.py)
  • [plugins/modules/vmware_vcenter_settings_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vcenter_settings_info.py)
  • [plugins/modules/vmware_vcenter_statistics.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vcenter_statistics.py)
  • [plugins/modules/vmware_vm_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vm_info.py)
  • [plugins/modules/vmware_vm_shell.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vm_shell.py)
  • [plugins/modules/vmware_vm_storage_policy.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vm_storage_policy.py)
  • [plugins/modules/vmware_vm_storage_policy_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vm_storage_policy_info.py)
  • [plugins/modules/vmware_vmkernel_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vmkernel_facts.py)
  • [plugins/modules/vmware_vmkernel_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vmkernel_info.py)
  • [plugins/modules/vmware_vmotion.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vmotion.py)
  • [plugins/modules/vmware_vsan_cluster.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vsan_cluster.py)
  • [plugins/modules/vmware_vsan_health_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vsan_health_info.py)
  • [plugins/modules/vmware_vspan_session.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vspan_session.py)
  • [plugins/modules/vmware_vswitch.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vswitch.py)
  • [plugins/modules/vmware_vswitch_facts.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vswitch_facts.py)
  • [plugins/modules/vmware_vswitch_info.py](https://github.com/['ansible-collections/amazon.aws', 'ansible-collections/community.aws', 'ansible-collections/community.vmware']/blob/main/plugins/modules/vmware_vswitch_info.py)

If these files are inaccurate, please update the component name section of the description or use the !component bot command.

click here for bot help

ansibullbot avatar Jan 15 '21 23:01 ansibullbot

VMWare own powercli retreive VMs by name regardless of case, e.g. both Get-VM name and Get-VM NAME work. I would expect the same from the vmware modules.

andrewsav-bt avatar Nov 17 '21 10:11 andrewsav-bt

Any update on this issue? As @andrewsav-bt wrote, the oficial powercli plugin do the search on a case insensitive way. So, why not vmware_* modules?

PS > Get-VM -name guest01
Name                 PowerState Num CPUs MemoryGB
----                 ---------- -------- --------
GUEST01              PoweredOn  4        4.000

joaoolavobv avatar Jul 20 '22 16:07 joaoolavobv

I don't think we will implement case insensitivity. You see, it's easy for PowerCLI to be case insensitive because PowerShell itself already is:

> $foo = "test"
> $bar = "TEST"
> $Foo -eq $baR
True

But this collection is written in Python, which isn't:

>>> foo = "test"
>>> bar = "TEST"
>>> Foo == baR
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'Foo' is not defined
>>> foo == bar
False

We would have to implement case insensitivity explicitly. There are far more than 100 modules in this collection, and this sounds like a constant source of new bugs for the future.

mariolenz avatar Dec 01 '22 07:12 mariolenz

That's bad.

> $foo = "test"
> $bar = "TEST"
> $Foo -ceq $baR
False

I'm quite sure that an experienced programmer can write maintainable code to the requirements in any language they are proficient with, and Python in particular is mainstream and flexible. This particular requirement by the way is not outlandish in any shape or form this is expected behaviour.

There are far more than 100 modules in this collection, and this sounds like a constant source of new bugs for the future.

Not fixing a quite straightforward and well understood bug now for the fear of hypothetical bugs in future does not sound like a solid approach. I'm really surprised to hear this reasoning from official maintainers.

AndrewSav avatar Dec 02 '22 02:12 AndrewSav