Sunday, 14 August 2011

IBM Connections - Checking it out ...

Last week, I hit a problem that I'd previously seen, and blogged about, earlier this year.

I was trying to update one of the IBM Connections configuration artefacts ( the Files configuration ), using these commands: -

$ /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin//wsadmin.sh -lang jython -user wasadmin -password *********
wsadmin> execfile("/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/bin_lc_admin/filesAdmin.py")

in order to complete the Kerberos/SPNEGO configuration, and hit this error: -

WASX7015E: Exception running command: "execfile("/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/bin_lc_admin/filesAdmin.py")"; exception information:
com.ibm.bsf.BSFException: exception from Jython:
Traceback (innermost last):
File "", line 1, in ?
File "/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/bin_lc_admin/filesAdmin.py", line 14, in ?
ImportError: no module named lotusConnectionsCommonAdmin

I'd referenced Mr Halman's blog here,  and yet I was still seeing the same issue.

Having talked it back and forth with Jon and his colleague, Brian, I eventually realised where *I* was going wrong.

I was executing wsadmin.sh whilst NOT being in the directory where it's located e.g. /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin.

In other words, it was a path error - it looks like wsadmin was trying to source something that filesAdmin.py needs, and was starting from the wrong place, EVEN though I'd explicitly specified the path to filesAdmin.py.

To my simple mind, this is perhaps sloppy coding e.g. using a relative rather than an absolute path, but c'est la vie.

So, the solution was simples - run the command as follows: -

$ cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin 
$ ./wsadmin.sh -lang jython -user wasadmin -password ********* 
wsadmin> execfile("/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/bin_lc_admin/filesAdmin.py")


so I could then go on and do this: -

wsadmin> FilesConfigService.checkOutConfig("/home/wasadmin",AdminControl.getCell())

Thanks to Jon and Brian for their support and assistance …..

No comments: