fence_vmware_soap fails with Traceback - KeyError: 'config.uuid'

Solution Unverified - Updated

Environment

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6

Issue

When fencing a vmware host using fence_vmware_host you get a error message:

Traceback (most recent call last):
  File "/sbin/fence_vmware_soap", line 203, in ?
    main()
  File "/sbin/fence_vmware_soap", line 190, in main
    result = fence_action(conn, options, set_power_status, get_power_status, get_power_status)
  File "/usr/lib/fence/fencing.py", line 778, in fence_action
    outlets = get_outlet_list(tn, options)
  File "/sbin/fence_vmware_soap", line 102, in get_power_status
    (more_machines, more_uuid, more_mappingToUUID) = process_results(raw_machines, {}, {}, {})
  File "/sbin/fence_vmware_soap", line 48, in process_results
    machines[info["name"]] = (info["config.uuid"], info["summary.runtime.powerState"])
KeyError: 'config.uuid'

Resolution

For RHEL5

  • Update cman to latest version. Refer to this kbase article.

For RHEL6

  • It is pending release and it's going to be generally available soon. Contact your support representative.

Root Cause

Some virtual machines (usually failed P2V opperations) lacks its UUID, thus causing a parsing failure of the data array.

Diagnostic Steps

SBR
Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.