A VM reconfigure operation failed due to an error message: "Permission to perform this operation was denied. NoPermission.message.format"
search cancel

A VM reconfigure operation failed due to an error message: "Permission to perform this operation was denied. NoPermission.message.format"

book

Article ID: 318881

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

  • Any reconfigure operation on the Virtual Machine fails with the error message below :-

    "Permission to perform this operation was denied. NoPermission.message.format"

  • Login to the vCenter ssh/putty via root user
  • Run the command shell.set --enabled true
  • Navigate to the log file /var/log/vmware/vpxd.log. You will see the error message below
YYYY-MM-DD HH:MM info vpxd[04851] [Originator@6876 sub=vpxLro opID=VmDeviceConnectionManager-apply-256885-ngc:70013108-eb] [VpxLRO] -- FINISH task-2054
  2020-06-09T10:23:24.273+09:00 info vpxd[04851] [Originator@6876 sub=Default opID=VmDeviceConnectionManager-apply-256885-ngc:70013108-eb] [VpxLRO] -- ERROR task-2054 -- vm-849 -- vim.VirtualMachine.reconfigure: vim.fault.GenericVmConfigFault:
  --> Result:
  --> (vim.fault.GenericVmConfigFault) {
  --> faultCause = (vmodl.MethodFault) null,
  --> faultMessage = (vmodl.LocalizableMessage) [
  --> (vmodl.LocalizableMessage) {
  --> key = "msg.disk.onlineConnectFail",
  --> arg = (vmodl.KeyAnyValue) [
  --> (vmodl.KeyAnyValue) {
  --> key = "1",
  --> value = "ide1:0"
  --> }
  --> ],
  --> message = "Connection control operation failed for disk 'ide1:0'."
  --> }
  --> ],
  --> reason = "Connection control operation failed for disk 'ide1:0'."
  --> msg = "Connection control operation failed for disk 'ide1:0'."
  --> }
  • Navigate to the log file location /var/log/vmware/vsphere-ui/logs/vsphere_client_virgo.log
YYYY-MM-DD HH:MM [DEBUG] https-jsse-nio-9443-exec-9 com.vmware.vise.vim.commons.vcservice.impl.VcServiceImpl Will determine whether to retry managed method reconfigure for moref ManagedObjectReference: type = VirtualMachine, value = vm-xxx, serverGuid = ########-####-####-########. The failure was com.vmware.vim.binding.vim.fault.NoPermission: Permission to perform this operation was denied. 
YYYY-MM-DD HH:MM [DEBUG] https-jsse-nio-9443-exec-9 com.vmware.vise.vim.commons.vcservice.impl.VcServiceImpl Will not retry because of the failure type 
YYYY-MM-DD HH:MM [ERROR] https-jsse-nio-9443-exec-9 com.vmware.vsphere.client.vm.impl.VmMutationProvider Could not reconfigure VM urn:vmomi:VirtualMachine:vm-xxx:########-####-####-######## com.vmware.vim.binding.vim.fault.NoPermission: Permission to perform this operation was denied.
   at sun.reflect.GeneratedConstructorAccessor393.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
   at java.lang.Class.newInstance(Class.java:442)
   at com.vmware.vim.vmomi.core.types.impl.ComplexTypeImpl.newInstance(ComplexTypeImpl.java:174)
   at com.vmware.vim.vmomi.core.types.impl.DefaultDataObjectFactory.newDataObject(DefaultDataObjectFactory.java:25)
   at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.ComplexStackContext.<init>(ComplexStackContext.java:30)
   at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl$UnmarshallSoapFaultContext.parse(UnmarshallerImpl.java:150)
   at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl$UnmarshallSoapFaultContext.unmarshall(UnmarshallerImpl.java:101)
   at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl.unmarshalSoapFault(UnmarshallerImpl.java:88)
   at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl.unmarshalSoapFault(UnmarshallerImpl.java:83)
   at com.vmware.vim.vmomi.client.common.impl.SoapFaultStackContext.setValue(SoapFaultStackContext.java:40)
   at com.vmware.vim.vmomi.client.common.impl.ResponseUnmarshaller.processNextElement(ResponseUnmarshaller.java:127)
   at com.vmware.vim.vmomi.client.common.impl.ResponseUnmarshaller.unmarshal(ResponseUnmarshaller.java:70)
   at com.vmware.vim.vmomi.client.common.impl.ResponseImpl.unmarshalResponse(ResponseImpl.java:279)
   at com.vmware.vim.vmomi.client.common.impl.ResponseImpl.setResponse(ResponseImpl.java:234)
   at com.vmware.vim.vmomi.client.http.impl.HttpExchangeBase.parseResponse(HttpExchangeBase.java:156)
   at com.vmware.vim.vmomi.client.http.impl.HttpExchange.run(HttpExchange.java:53)
   at com.vmware.vim.vmomi.client.http.impl.HttpProtocolBindingBase.executeRunnable(HttpProtocolBindingBase.java:226)
   at com.vmware.vim.vmomi.client.http.impl.HttpProtocolBindingImpl.send(HttpProtocolBindingImpl.java:106)
   at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl$CallExecutor.sendCall(MethodInvocationHandlerImpl.java:629)
   at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl$CallExecutor.executeCall(MethodInvocationHandlerImpl.java:610)
   at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl.completeCall(MethodInvocationHandlerImpl.java:360)
   at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl.invokeOperation(MethodInvocationHandlerImpl.java:311)
   at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl.invoke(MethodInvocationHandlerImpl.java:184)
   at com.sun.proxy.$Proxy725.reconfigure(Unknown Source)

Environment

VMware vCenter Server 

Cause

  • VM had undergone a failed VMware Tools Upgrade.
  • The specific parameter toolsInstallManager.lastInstallError is an informational flag used by the VMware hypervisor (ESXi ) to keep track of the success or failure of the last attempted VMware Tools installation on the virtual machine.
  • Therefore, whenever VM encounters a a failed Tools Upgrade/Install attempt, the following parameter gets added in the VM's configuration file under /vmfs/volumes/<datastore-1>/<vm-name>/<vm-name>.vmx
    toolsInstallManager.lastInstallError = "21003"

Resolution

After ensuring that appropriate VMware tools is successfully installed on the VM, follow the steps below

  • Power off the VM.
  • Login to the ESXI host where the VM is deployed as user root via ssh/putty
  •  Browse to the virtual machine directory using the below command:
    # cd /vmfs/volumes/<datastore>/<VM_name>
  •  Edit the virtual machine configuration file <VM_name>.vmx using a text editor (vi). For more information, see Editing files on an ESXi host using vi (1020302)
  • Change the value of the parameter "toolsInstallManager.lastInstallError" to be set to "0"
    Example:   toolsInstallManager.lastInstallError = "0"
  • Run the below command on the ESXi host to identify the vmid of the affected VM.
    # vim-cmd vmsvc/getallvms
  • Run the below command to reload the VM config.
    # vim-cmd vmsvc/reload <Vmid>
    Example: # vim-cmd vmsvc/reload X 

Try editing the Virtual machine after performing the steps above.

 

For further help, please open a Broadcom support case. Refer to the KB https://knowledge.broadcom.com/external/article/142884