Technical Blog Post
Authority problem when migrating BPM using BPMMigrate
The BPMMigrate command is an essential command used to Import SIB (service integration bus) messages and applications to the target environment. This command is only needed if you are migrating from IBM Business Process Manager (BPM) Advanced or WebSphere Process Server. You can find the command syntax in section "BPMMigrate command-line utility" in the product documentation (for example BPM 8.5.5).
The command log file is in snapshot_folder/logs directory. The log file looks like: BPMMigrate_Mon-Aug-20-13.28.15-GMT+08.00-2015_0.log
Sometimes a client reports an authority error when running BPMMigrate like:
The system is unable to read document cells/PSCell1/nodes/Node01/variables.xml: java.io.IOException: The file access permissions do not allow the specified action.
After checking the log file, the error just happened after checking the user. There are words like "admin.username='XXXXXX'". Also, this error is reported to many files in <install_root>/profiles/Dmgr01/config directory.
To resolve the problem, the intuitive idea is to check the admin user. The command is checking the property file of target_migration.properties. We can find the admin.username=XXXX in the property file. Make sure the user is the admin user of BPM. On the other hand, the user to run the command needs to be checked too. The command "BPMMigrate" usually results in a request for BPM admin user to run the command.
Another thing to check is that the operation system user has write permission to change the directory. Use "ls -alr" to check in the UNIX system or check the directory properties in Windows. It is a better choice to make sure the OS user is the author of the files. You can grant permission to the OS user using command like chmod.
By checking the OS user and the BPM user, the user authority problem can be solved. If this error still happens, we may consider another perspective that may cause this problem. Firstly, we need to check whether there's enough space to write the file on disk. The file might not allow the change action if there is no space to write the file. Secondly, we need to check the WebSphere Application Server (WAS) temp file. The WAS temp file could be the cause the error. We can try to backup the files first, stop the servers, delete the temp files and restart again to check whether the error is gone.
temp files to delete:
<was_root>/temp <was_root>/profiles/<profile name>/temp <was_root>/profiles/<profile name>/wstemp <was_root>/profiles/<profile name>/config/temp
In summary, to resolve the error like ">java.io.IOException: The file access permissions do not allow the specified action.", we need to first check the admin user in the property file. Second, make sure the BPM user to run the command is an admin user and the OS user has write permission to change the directory. Third, check whether there is space on the disk to write the file. Finally, you might need to delete the WAS temp files.