PowerFlex Manager: Unable To Ingest HCI Service: "Error: `Process': Undefined Method `ManagedBy' For Nil:NilClass"
Summary: Unable to ingest HCI service into PowerFlex Manager.
Symptoms
Attempting to ingest a hyperconverged service or resource group into PowerFlex Manager fails with the following error in the exception log:
nil:NilClass error thrown when service ingestion is attempted.
A more detailed explanation of the problem is described in the deployment log:
#<NoMethodError: undefined method `managedBy' for nil:NilClass> /opt/asm-deployer/lib/asm/provider/cluster/vmware.rb:1963:in `block in find_vcls_vms' /org/jruby/RubyArray.java:1865:in `each' /opt/asm-deployer/lib/asm/provider/cluster/vmware.rb:1958:in `find_vcls_vms' /opt/asm-deployer/lib/asm/lazy_connection.rb:101:in `block in with_connection' /opt/asm-deployer/lib/asm/lazy_connection.rb:86:in `with_connection' /opt/asm-deployer/lib/asm/lazy_connection.rb:100:in `block in with_connection' /opt/asm-deployer/lib/asm/provider/cluster/vmware.rb:1961:in `block in find_vcls_vms' /org/jruby/RubyArray.java:1865:in `each' /opt/asm-deployer/lib/asm/provider/cluster/vmware.rb:1958:in `find_vcls_vms' /opt/asm-deployer/lib/asm/lazy_connection.rb:101:in `block in with_connection' /opt/asm-deployer/lib/asm/lazy_connection.rb:86:in `with_connection' /opt/asm-deployer/lib/asm/lazy_connection.rb:100:in `block in with_connection' /opt/asm-deployer/lib/asm/provider/cluster/vmware.rb:1949:in `vcls_vms' /opt/asm-deployer/lib/asm/lazy_connection.rb:101:in `block in with_connection' /opt/asm-deployer/lib/asm/lazy_connection.rb:86:in `with_connection' /opt/asm-deployer/lib/asm/lazy_connection.rb:100:in `block in with_connection' /opt/asm-deployer/lib/asm/provider/cluster/vmware.rb:1802:in `update_allowed_datastore_config' /opt/asm-deployer/lib/asm/lazy_connection.rb:101:in `block in with_connection' /opt/asm-deployer/lib/asm/lazy_connection.rb:86:in `with_connection' /opt/asm-deployer/lib/asm/lazy_connection.rb:100:in `block in with_connection' /opt/asm-deployer/lib/asm/service_deployment.rb:3853:in `process_cluster_post_ops' /opt/asm-deployer/lib/asm/service_deployment.rb:1511:in `block in create_component_thread'
Impact
Unable to ingest service.
Cause
The process involves using a specific code to locate and identify the vSphere Cluster Services virtual machines (vCLS VMs) within a VMware cluster. This code initiates a comprehensive scan of all the VMs present in the cluster by accessing vCenter. If one of those VMs is currently inaccessible, it returns a nilClass empty error, thus causing the failure. Any inaccessible VM triggers this error.
Resolution
Address the issue of the inaccessible VMs by either restoring them from backup or removing them from the inventory. Once this is done, retrying the operation should be successful.
Impacted Versions
PowerFlex Manager 3.x
PowerFlex Manager 4.x
Fixed In Version
PowerFlex Manager 3.8.7
PowerFlex Manager 4.6