8 Replies Latest reply on Aug 24, 2020 1:46 PM by Rajesh S

    Take VMstate snapshot - BMC TSSA

    Rajesh S
      Share This:

      Hi All,

       

      We have BMC TSSA 20.02 version installed in our environment.. We configured AMO for vcenter to perform actions on VM's like VM snapshot with / without snap memory.

       

      I am not able to snapshot the state of a VM by right-clicking on Live\ESX Host\Virtual Machines\"VM Name" then selecting "Snapshot VM State".

       

      I am getting error : VM_SNAPSHOT_OPERATION_FAILED.

       

       

        • 1. Re: Take VMstate snapshot - BMC TSSA
          Bill Robinson

          i would start by looking in the blcoserver log on the amo proxy system to see if there is more information about the error.

          • 3. Re: Take VMstate snapshot - BMC TSSA
            Bill Robinson

            if you look in the stack trace from the blcoserver log you see some mentions of 'nopermission'.  does the user you use to connect to vcenter have permission to snapshot this VM ?  for example, if you login w/ the same creds to vcenter that you are using for tssa, can you initiate a snapshot of the vm ?

             

            07/30/20 20:54:10.462 ERROR    blcoserver -  CHCLPWEMSTSA01 7764 BladeLogicRSCD (SYSTEM): (Not_available): Exception occurred in plugin: com.bladelogic.om.infra.daal.jco.CustomObjectException: VM_SNAPSHOT_OPERATION_FAILED com.bladelogic.virtualization.jpa.VirtCustomObject.performAction(VirtCustomObject.java:429) com.bladelogic.om.infra.daal.jco.GenericPlugin.notify(GenericPlugin.java:181) com.bladelogic.om.infra.daal.jco.JPAShim.performAction(JPAShim.java:416) com.bladelogic.om.infra.daal.jco.JPAShim.performAction(JPAShim.java:392) Caused by: com.bladelogic.virtualization.ServiceException: VM_SNAPSHOT_OPERATION_FAILED com.bladelogic.vmware.VMwareJpaAdapter.processVMException(VMwareJpaAdapter.java:257) com.bladelogic.vmware.actionhandler.VMwareLegacyActionHandler.performAction(VMwareLegacyActionHandler.java:148) com.bladelogic.vmware.actionhandler.VMwareAbstractActionHandler.performAction(VMwareAbstractActionHandler.java:32) com.bladelogic.vmware.actionhandler.VMwareAbstractActionHandler.performAction(VMwareAbstractActionHandler.java:18) com.bladelogic.virtualization.jpa.VirtCustomObject.performAction(VirtCustomObject.java:421) com.bladelogic.om.infra.daal.jco.GenericPlugin.notify(GenericPlugin.java:181) com.bladelogic.om.infra.daal.jco.JPAShim.performAction(JPAShim.java:416) com.bladelogic.om.infra.daal.jco.JPAShim.performAction(JPAShim.java:392) Caused by: com.bladelogic.om.virtualization.vmware.VMException: VM_SNAPSHOT_OPERATION_FAILED com.bladelogic.om.virtualization.vmware.VMWareWebService.snapshotVirtualMachine(VMWareWebService.java:1569) com.bladelogic.om.virtualization.vmware.VMWareCommandService.executeCommand(VMWareCommandService.java:166) com.bladelogic.vmware.actionhandler.VMwareLegacyActionHandler.performAction(VMwareLegacyActionHandler.java:81) com.bladelogic.vmware.actionhandler.VMwareAbstractActionHandler.performAction(VMwareAbstractActionHandler.java:32) com.bladelogic.vmware.actionhandler.VMwareAbstractActionHandler.performAction(VMwareAbstractActionHandler.java:18) com.bladelogic.virtualization.jpa.VirtCustomObject.performAction(VirtCustomObject.java:421) com.bladelogic.om.infra.daal.jco.GenericPlugin.notify(GenericPlugin.java:181) com.bladelogic.om.infra.daal.jco.JPAShim.performAction(JPAShim.java:416) com.bladelogic.om.infra.daal.jco.JPAShim.performAction(JPAShim.java:392) Caused by: com.vmware.vim25.NoPermission: (no message available) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.lang.reflect.Constructor.newInstance(Constructor.java:423) java.lang.Class.newInstance(Class.java:442) org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104) org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90) com.vmware.vim25.NoPermission.getDeserializer(NoPermission.java:159) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:155) org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84) org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:484) org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:567) org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157) org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1052) com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374) com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784) com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602) com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505) com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842) com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771) com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:241) org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) org.apache.axis.Message.getSOAPEnvelope(Message.java:435) org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) org.apache.axis.client.Call.invokeEngine(Call.java:2782) org.apache.axis.client.Call.invoke(Call.java:2765) org.apache.axis.client.Call.invoke(Call.java:2443) org.apache.axis.client.Call.invoke(Call.java:2366) org.apache.axis.client.Call.invoke(Call.java:1812) com.vmware.vim25.VimBindingStub.createSnapshot_Task(VimBindingStub.java:58396) com.bladelogic.om.virtualization.vmware.VMWareWebService.snapshotVirtualMachine(VMWareWebService.java:1553) com.bladelogic.om.virtualization.vmware.VMWareCommandService.executeCommand(VMWareCommandService.java:166) com.bladelogic.vmware.actionhandler.VMwareLegacyActionHandler.performAction(VMwareLegacyActionHandler.java:81) com.bladelogic.vmware.actionhandler.VMwareAbstractActionHandler.performAction(VMwareAbstractActionHandler.java:32) com.bladelogic.vmware.actionhandler.VMwareAbstractActionHandler.performAction(VMwareAbstractActionHandler.java:18) com.bladelogic.virtualization.jpa.VirtCustomObject.performAction(VirtCustomObject.java:421) com.bladelogic.om.infra.daal.jco.GenericPlugin.notify(GenericPlugin.java:181) com.bladelogic.om.infra.daal.jco.JPAShim.performAction(JPAShim.java:416) com.bladelogic.om.infra.daal.jco.JPAShim.performAction(JPAShim.java:392) 

            • 4. Re: Take VMstate snapshot - BMC TSSA
              Rajesh S

              Hi Robinson,

               

              Thanks & issue with permission.. Now we are able to perform vm snapshot successfully. Also can you please guide me how to take snapshot of vm's prior to patch remediation

              • 5. Re: Take VMstate snapshot - BMC TSSA
                Bill Robinson

                there's the blcli Virtualization.snapshotVirtualGuest command.  you can call that via a nsh script job, TSO, or some other orchestration product.  then you would run the patching jobs.

                • 6. Re: Take VMstate snapshot - BMC TSSA
                  Rajesh S

                  Hi Robinson,

                   

                  Can you help me with nsh script job for sample.

                  • 7. Re: Take VMstate snapshot - BMC TSSA
                    Bill Robinson

                    before you start scripting something out, have you tried using the commands ?

                     

                    Virtualization - snapshotVirtualGuest - Documentation for BMC Server Automation Command Line Interface 8.9 - BMC Documen…

                    Virtualization - getVirtualGuestKeyByServerName - Documentation for BMC Server Automation Command Line Interface 8.9 - B…

                     

                    you need a way to get the virtual machine name.  if it's the same as the name of the server object registered in tssa, then you can use a 'type 2' (run once and pass the targets as a list) nsh script and pass in the target server name to the 2nd blcli call.  then take the resulting entity key and pass it to the snapshot command.

                    • 8. Re: Take VMstate snapshot - BMC TSSA
                      Rajesh S

                      Thanks.. Let me check and update.