Trying to prepare for Sametime 12 Migration and using stnamechange to convert to LDAP is failing

I am trying to prepare our Sametime 11.6 Community server for migration to V12 by changing the Auth over to LDAP. I am running the stnamechange task with a valid csv (as far as I can tell as it gives the reports) but it fails with the following :

java.lang.Exception: Notes initialization failure - err 272
at lotus.domino.NotesThread.NnotesInitThread(Native Method)
at lotus.domino.NotesThread.sinitThread(Unknown Source)
at com.ibm.sametime.namechange.utils.NotesUtils.initSession(NotesUtils.java:112)
at com.ibm.sametime.namechange.utils.NotesUtils.startDominoSession(NotesUtils.java:1037)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.init(NotesTaskReader.java:624)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTasks(NotesTaskReader.java:171)
at com.ibm.sametime.namechange.ChangeManager.run(ChangeManager.java:119)
at com.ibm.sametime.namechange.ChangeManager.main(ChangeManager.java:208)
[05/17 8:36:38.613] main Name Change => EXCEPTION: ------
java.lang.Exception: Notes initialization failure - err 272
at lotus.domino.NotesThread.NnotesInitThread(Native Method)
at lotus.domino.NotesThread.sinitThread(Unknown Source)
at com.ibm.sametime.namechange.utils.NotesUtils.initSession(NotesUtils.java:112)
at com.ibm.sametime.namechange.utils.NotesUtils.startDominoSession(NotesUtils.java:1037)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.init(NotesTaskReader.java:624)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTasks(NotesTaskReader.java:171)
at com.ibm.sametime.namechange.ChangeManager.run(ChangeManager.java:119)
at com.ibm.sametime.namechange.ChangeManager.main(ChangeManager.java:208)
------

java.lang.Exception: Notes initialization failure - err 272
at lotus.domino.NotesThread.NnotesInitThread(Native Method)
at lotus.domino.NotesThread.sinitThread(Unknown Source)
at com.ibm.sametime.namechange.utils.NotesUtils.initSession(NotesUtils.java:112)
at com.ibm.sametime.namechange.utils.NotesUtils.startDominoSession(NotesUtils.java:1037)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.init(NotesTaskReader.java:624)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTasks(NotesTaskReader.java:171)
at com.ibm.sametime.namechange.ChangeManager.run(ChangeManager.java:119)
at com.ibm.sametime.namechange.ChangeManager.main(ChangeManager.java:208)
[05/17 8:36:38.615] main Name Change => EXCEPTION: ------
java.lang.Exception: Notes initialization failure - err 272
at lotus.domino.NotesThread.NnotesInitThread(Native Method)
at lotus.domino.NotesThread.sinitThread(Unknown Source)
at com.ibm.sametime.namechange.utils.NotesUtils.initSession(NotesUtils.java:112)
at com.ibm.sametime.namechange.utils.NotesUtils.startDominoSession(NotesUtils.java:1037)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.init(NotesTaskReader.java:624)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTasks(NotesTaskReader.java:171)
at com.ibm.sametime.namechange.ChangeManager.run(ChangeManager.java:119)
at com.ibm.sametime.namechange.ChangeManager.main(ChangeManager.java:208)
------

The summary report just shows this -

Name Conversion Utility SAMETIME10.0_20160523-1708 started

Reading tasks:
Exiting: failed to start

It looks to me like it is failing to invoke java but I could be wrong. Any help is greatly appreciated.

Hi, Richard, it seems like something wrong with %Path% variable. When Java runs, it is unable to see Domino libraries. like nnodes.dll or libnotes.so.

error 272 means utility does not see Domino server code...

https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0091389

Hi,

Thanks for responding. I have added the Domino program path to the environment variables on the Windows server and run it again. I think we are on the right path but I now get - java.lang.NullPointerException
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTask(NotesTaskReader.java:217)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTasks(NotesTaskReader.java:185)
at com.ibm.sametime.namechange.ChangeManager.run(ChangeManager.java:119)
at com.ibm.sametime.namechange.ChangeManager.main(ChangeManager.java:208)
[05/17 9:22:23.030] main Name Change => EXCEPTION: ------
java.lang.NullPointerException
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTask(NotesTaskReader.java:217)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTasks(NotesTaskReader.java:185)
at com.ibm.sametime.namechange.ChangeManager.run(ChangeManager.java:119)
at com.ibm.sametime.namechange.ChangeManager.main(ChangeManager.java:208)
------

it looks like one problem solved :)

now issue is with syntax or request itself.

can you see any errors in logs, in ddm, in log.nsf? may be code is not signed?

NullPointerException brings idea somethings is not filled..

Unfortunately there is nothing in log.nsf or in DDM as the server is down when I am running this.

Thjis exception -

[05/17 9:22:23.030] main Name Change => EXCEPTION: ------
java.lang.NullPointerException
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTask(NotesTaskReader.java:217)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTasks(NotesTaskReader.java:185)

Implies it cannot read the csv file.

Please open a case for tracking - but tell me more about the setup you are running this on.

Hi Tony,

That's what I thought but then it gives me the report which is the other parameter I added to the CSV file. Without that when I run it I get no report.

This is on a Windows Server 2012 R2. Domino is 11.0.1FP3 and Sametime is 11.6 Premium. The csv file literally has LDAP,REPORT in it that's it and is held in the c:\HCL folder. the csv file is called LDAPConv.csv

You can only use one namechange command at a time.

In this case, in your csv - only put in 'LDAP'.

'When you create a CSV file, include the descriptor from Table 1 that corresponds to the task you are running. CSV files are case-sensitive and sensitive to spaces. You can create multiple CSV files but each CSV file can include only one descriptor and can complete only one task.'

Hi Anthony, Sorry I have been off and had to schedule the downtime. I have run it again but without the report option and I am not sure if it worked. How do I check if it did work, what was it supposed to actually do? I am assuming all it does is change / add the names into vpuserinfo as LDAP versions instead of the Domino versions?

I am assuming it doesn't actually update the stconfig database to change it over so that the current Sametime Community server now uses LDAP?

OK so I added another csv file with report in it then created a second change task so I could run a report as well. So I now have 2 change tasks 1 pointing to the csv with LDAP in it and the second pointing at the csv with REPORT in it. When I run the stnamechg task I now get the following in the report -

java.lang.NullPointerException
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTask(NotesTaskReader.java:217)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTasks(NotesTaskReader.java:185)
at com.ibm.sametime.namechange.ChangeManager.run(ChangeManager.java:119)
at com.ibm.sametime.namechange.ChangeManager.main(ChangeManager.java:208)
[06/01 9:16:14.748] main Name Change => EXCEPTION: ------
java.lang.NullPointerException
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTask(NotesTaskReader.java:217)
at com.ibm.sametime.namechange.task.reader.NotesTaskReader.readTasks(NotesTaskReader.java:185)
at com.ibm.sametime.namechange.ChangeManager.run(ChangeManager.java:119)
at com.ibm.sametime.namechange.ChangeManager.main(ChangeManager.java:208)
------

My next thought is that after reading through again it does state you can only run this once so if we had migrated from Sametime V9 which was using LDAP (WebSphere version as we had full sametime) in the past when WebSphere was dropped would this be the issue. The reason I ask is that looking at vpuserinfo I see this for my entry and probably 90% of the entries have duplicate entries in both formats -

CN=Richard Dew,O=Kelros

CN=Richard Dew/O=Kelros

Please open a case so our team can work directly with you on this.

Hello @Richard Dew

not sure if your problem is solved, but here are some hints.

- check stnamechange.nsf for namechange tasks > remove all open

- create a new csv file with the only one entry LDAP

- import the new csv file into stnamechange.nsf

- add the following two parameters to your sametime.ini for better stnamechange debugging/infos > will create a <domprog>/trace/stnamechange_date.txt

> section [Debug]
VP_NCSA_TRACE=1
> section [Config]
NC_LOCAL_CONVERSION=1

- stop your Domino Server > there is a change since Domino 11.0.1FP3 to start Domino process outside from Domino, but if the server is stopped you should be able to run the stnamechange in a command window

- change to domino program folder and enter the following parameter > please add domprog and domdata path otherwise it could be that the script will not find the correct paths

> stnamechange.cmd <domprogpath> <domdatapath)
e.g c:\hcl\domino>stnamechange c:\hcl\domino c:\hcl\domino\data

- Check <domprog>/Trace/name_change_summary_report_date.log

- For detail information check <domprog>/Trace/namechange_data.txt

- a backup of the old vpuserinfo.nsf (Notes Schema) is safed to <domdata>/vpuserinfoxxxxxx.nsf

Please be aware that changes to the vpuserinfo or the buddylist will create a "conflict" popup at all sametime clients (contact list synchronization is set to "ask me what to do")

You can predefine the settings with these thre ecplise client parameters; this shoud be rolled out BEFORE the stnamechange

com.ibm.collaboration.realtime.imhub/buddyListConflictPref=replaceLocal
com.ibm.collaboration.realtime.imhub/showBuddyListConflictDialog=false
com.ibm.collaboration.realtime.imhub/showExternalModificationDialog=false

Could you elaborate on "- import the new csv file into stnamechange.nsf"?

How do I import this csv actually in this database? I can create a Notes form. Then I see this:

What should I enter where? I'm getting a big error screen when I run the command, so I'd like to know if I do something wrong.

@Martijn de Jong i never tried this with a notes client - i used the webinterface from the sametime community server to import the files.

http://communityserver/servlet/auth/admin

If i open the document with my notesclient it looks like this - maybe this helps ?

Somehow for me it's simply not possible to get into the web interface. Your link goes to the stconfig.nsf database and the login prompt just returns without any message:

I can't figure out why this happens.

However, with your description of what's supposed to be in the Notes document, I could create the namechange through the Notes client and do the conversion. So thanks a lot!

be sure to use the cmd prompt in admin mode, if you want to perform the name conversion, make sure that the path in the variable is using double back slash

NSF path in the notes-migration-user-input.txt must be NSF_PATH=D:\\HCL\\Domino\\Data\\vpuserinfo.nsf

Does anyone know how Sametime 12 will handle username changes ?

There is no namechange task in Sametime 12 and the contactlists are in the mongodb

Released with 12.0.1, there is a new utility to manage these changes in MongoDB -

https://help.hcltechsw.com/sametime/1201/admin/t_namechangeutility.html

@Alexander Novak

We have a tool for name changes, called the Sametime Database Utility. You can read about it here: https://help.hcltechsw.com/sametime/1201/admin/t_namechange_docker.html

Seeing the age of the original post, I guess Richard solved his problem, but for others experiencing the same, this was my solution.

First the problem. I had a live Sametime 11.5 community server on Windows using native Domino as it's directory. Before upgrading to Sametime 12, I needed to migrate the vpuserinfo.nsf to LDAP format. The stnamechange utility does just that, but I had the same errors as Richard and you can only fiddle that much on a live system.

My solution was to build an isolated Sametime 11.5 server on Linux using the server ID and names.nsf from the current Sametime server. This might sound time-consuming, but it actually only took me 2 hours. Far less than troubleshooting the errors I got on Windows took me. In the Linux instance, the stnamechange task ran without any problems. From there I could then migrate the vpuserinfo to the ST 12 Mongo Db