RSA Authentication Manager 8.2 software update failed with the message "Unable to delete file"
2 years ago
Originally Published: 2017-05-18
Article Number
000050008
Applies To
RSA Product Set: SecurID
RSA Product/Service Type: Authentication Manager
RSA Version/Condition: 8.1 SP 1 or later
Issue
Applying the RSA Authentication Manager 8.2 software update (rsa-am-update-8.2.0.0.0.zip) to an Authentication Manager 8.1 SP 1 or later instance fails.

The /opt/rsa/am/server/logs/update-8.2.0.0.0-build1386271-yyyymmddhhmmss.log reports the following exception:
264574 2017-05-17 17:27:16,811 INFO: Generating the classpath jar used for thirdparty jars that are packaged outside the ear due to licensing restrictions.
Exception in thread "Main Thread" : Unable to delete file /opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old/WLS_DIAGNOSTICS000000.DAT
	at org.apache.tools.ant.taskdefs.Delete.handle(Delete.java:704)
	at org.apache.tools.ant.taskdefs.Delete.removeDir(Delete.java:753)
	at org.apache.tools.ant.taskdefs.Delete.removeDir(Delete.java:749)
	at org.apache.tools.ant.taskdefs.Delete.removeDir(Delete.java:749)
	at org.apache.tools.ant.taskdefs.Delete.removeDir(Delete.java:749)
	at org.apache.tools.ant.taskdefs.Delete.removeDir(Delete.java:749)
	at org.apache.tools.ant.taskdefs.Delete.removeDir(Delete.java:749)
	at org.apache.tools.ant.taskdefs.Delete.removeDir(Delete.java:749)
	at org.apache.tools.ant.taskdefs.Delete.execute(Delete.java:571)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at UpdateRollback.update_InvokeGroovy_Update_AM(UpdateRollback.groovy:436)
	at UpdateRollback$_update_closure2.doCall(UpdateRollback.groovy:46)
	at UpdateRollback$_update_closure2.doCall(UpdateRollback.groovy)
	at Utils.withArtifacts(Utils.groovy:48)
	at Utils$withArtifacts.call(Unknown Source)
	at UpdateRollback.update(UpdateRollback.groovy:37)
	at com.rsa.plugins.install.GroovyInstallEngine.invokeScript(GroovyInstallEngine.groovy:68)
	at com.rsa.plugins.install.GroovyInstallEngine$_runTask_closure2.doCall(GroovyInstallEngine.groovy:57)
	at com.rsa.plugins.install.GroovyInstallEngine.runTask(GroovyInstallEngine.groovy:56)
	at com.rsa.plugins.install.GroovyInstallEngine$_runTasks_closure3.doCall(GroovyInstallEngine.groovy:106)
	at com.rsa.plugins.install.GroovyInstallEngine.runTasks(GroovyInstallEngine.groovy:105)
	at com.rsa.plugins.install.GroovyInstallEngine$runTasks.call(Unknown Source)
	at com.rsa.plugins.install.CommandLineInstallEngine.main(CommandLineInstallEngine.groovy:40)
Configuration step UpdateRollback:update [FAILED]
[ERROR] Error: Failed to invoke update engine: Failed to apply the update.
java.lang.Exception: Failed to apply the update.
	at com.rsa.am.updateengine.tasks.BaseUpdateEngineTask.doExecute(BaseUpdateEngineTask.java:56)
	at com.rsa.am.updateengine.tasks.Task.execute(Task.java:136)
	at com.rsa.am.updateengine.components.impl.TaskManagerImpl.doExecuteTask(TaskManagerImpl.java:86)
	at com.rsa.am.updateengine.components.impl.TaskManagerImpl.execute(TaskManagerImpl.java:41)
	at com.rsa.am.updateengine.components.impl.UpdateInstallerImpl.run(UpdateInstallerImpl.java:30)

 
Cause
On investigation, the /opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old/ folder has an owner and group of root.

The Authentication Manager software update installer does not have the permission to access this folder to remove the WLS_DIAGNOSTICS000000.DAT file as the update installer is being used by rsaadmin.
Resolution
Where the Authentication Manager deployment is virtual and precautions were taken where snapshots were taken before applying the software update then the administrator can revert back to a good snapshot and perform one of the following options below before applying the RSA Authentication Manager 8.2 software update again.

NOTE: the authentication instance will require rebuilding with a restore from a recent backup for hardware Authentication Manager deployments where the rollback failed.
  1. Remove the /opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old/ folder and its contents.
    1. Logon to the command line using the rsaadmin credentials
    2. Change the privileges of rsaadmin with the command sudo su - root.
    3. Remove the folder with the command: rm -rfv /opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old.  For example,
app81p:~ # rm -rfv /opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old
removed `/opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old/1'
removed `/opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old/file'
removed directory: `/opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old'
app81p:~ #
  1. Change the user and group ownership of the /opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old/ folder and its contents to be rsaadmin for both user and group.
    1. Logon to the command line using the rsaadmin credentials
    2. Change the privileges of rsaadmin with the command sudo su - root.
    3. Change the ownership of the folder and its contents with the following commands: 
chown rsaadmin -R /opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old
chgrp rsaadmin -R /opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old
ls -lR /opt/rsa/am/server/servers/AdminServer/data/store/diagnostics 
/opt/rsa/am/server/servers/AdminServer/data/store/diagnostics: 
total 1036 
-rw------- 1 rsaadmin rsaadmin 1052672 Apr 27 15:08 WLS_DIAGNOSTICS000000.DAT 
drwxr-xr-x 2 rsaadmin rsaadmin    4096 May 18 13:13 old 

/opt/rsa/am/server/servers/AdminServer/data/store/diagnostics/old: 
total 1032 
-rw------- 1 rsaadmin rsaadmin 1052672 May 18 13:13 WLS_DIAGNOSTICS000000.DAT


Should you require further assistance with your software update, please contact RSA Customer Support.