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

A VM reconfigure operation failed due to a permission 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

Even though a user has allowed enabling modify the Virtual Machine, the reconfigure operation fails with the error message "Permission to perform this operation was denied. NoPermission.message.format" using vSphere Client (HTML5).
For example:

  • CD/DVD drive configuration change fails.
  • Connect CD ISO file fails.
  • Add SCSI device fails.
  • VM had undergone a failed Tools Upgrade attempt

vpxd.log

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'."
  --> }


vsphere_client_virgo.log

YYYY-MM-DD HH:MM [DEBUG] https-jsse-nio-9443-exec-9 70013216 100364 200029 com.vmware.vise.vim.commons.vcservice.impl.VcServiceImpl Will determine whether to retry managed method reconfigure for moref ManagedObjectReference: type = VirtualMachine, value = vm-849, serverGuid = aec4b0c7-ab3d-4a18-9552-f70fc527755e. 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 70013216 100364 200029 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 70013216 100364 200029 com.vmware.vsphere.client.vm.impl.VmMutationProvider Could not reconfigure VM urn:vmomi:VirtualMachine:vm-849:aec4b0c7-ab3d-4a18-9552-f70fc527755e 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 Appliance 6.5.x
VMware vCenter Server 7.0.x
VMware vCenter Server Appliance 6.7.x

Cause

When VM had undergone a failed Tools Upgrade attempt, indicated in the vmx file as follows:

toolsInstallManager.lastInstallError = "21003"

This entry is in .vmx file, the vSphere Client (HTML5) interpreted these configurations of the VM as newly added by the user and although the user did not change anything in the Edit Settings dialog related to them, the operation failed as these changes need higher privilege VirtualMachine.Config.Settings which was missing

Resolution

Fixed in:

vSphere 7.0 Update3
vSphere 6.7 P06
vSphere 6.5 P08

Workaround:
Adding Permission: "Virtual machine -> Change Configuration -> Change Settings".

or

Remove toolsInstallManager.lastInstallError = "21003" entry from .vmx file.

Additional Information

Impact/Risks:
Unable to modify Virtual Machine settings