If the following conditions are met, when you attempt to change the CEI distribution mode of a newly installed or previous version of a monitor model and specify new credentials, authentication with the remote cell or server will fail, resulting in failure of the CEI distribution mode change:
1. Multiple versions of a monitor model are installed
2. The CEI target is remote
3. The CEI distribution mode of at least one version is not Inactive
4. The credentials (user name and/or password) for the administrative user on the cell or server hosting the remote CEI instance have changed since the last version of the model was installed
The error messages that are displayed in the administrative console vary based on the scenario:
- If you change the CEI distribution mode for a new monitor model version (in the Select Monitor model CEI options panel) during its installation, messages similar to the following will be displayed (visible when you click Error displayed in the Deployment column in the Monitor Models panel, after the installation is complete):
000009d1 LTPAServerObj E SECJ0369E: Authentication failed when using LTPA. The exception is <null>.
000009d1 ServletWrappe E SRVE0068E:
Uncaught exception thrown in one of the service methods of the servlet: action. Exception thrown : java.lang.NullPointerException
- If you change the CEI distribution mode for an existing monitor model version (in the Change CEI Configuration panel), messages similar to the following will be displayed:
0000002a LTPAServerObj E SECJ0369E: Authentication failed when using LTPA. The exception is <null>.
0000002a LifecycleServ E com.ibm.wbimonitor.lifecycle.LifecycleServices listTargetStates( String, long ) CWMLC0107E: Model [ClaimProcessingTracker] version [2011-05-05T12:00:00] integration invalid. Cause: [com.ibm.wbimonitor.observationmgr.spi.MMManagementException: com.ibm.websphere.management.exception.ConnectorException: ADMC0017E: Could not create an RMI connector to connect to host 18.104.22.168 at port 9810].
Diagnosing the problem
Although the administrative console allows you to change the CEI configuration information on the Select Monitor model CEI options panel when a new model version is being installed, Monitor will ignore that information unless all previous versions of the model have a CEI distribution mode of Inactive. In the administrative console model install wizard, after you click Finish but before you click Save, you will see a warning message similar to the following:
CWMLC0257W: Model [ClaimProcessingTracker] CEI server configuration ignored.
In conjunction, a message similar to the following will appear in the SystemOut.log file for the deployment manager (or stand-alone) profile:
LifecycleServ E com.ibm.wbimonitor.lifecycle.LifecycleServices applyCEIConfig( LifecycleCEIConfigBean ) CWMLC0112E: Model [ClaimProcessingTracker] version [*] step [applyCEIConfig] not allowed. Reason: [isActive=true].
Note that these messages do not indicate that the installation of the model is blocked; they simply mean that the existing CEI configuration for the model will be used instead of the new information provided in the wizard.
Resolving the problem
If any version of the model has a CEI distribution mode other than Inactive, the only way to change the CEI user ID or password (for all versions of the model) is to use the applyCEICredentials() method of the LifecycleServices MBean.
The attached file updateCEICredentials.py is a sample Jython script illustrating the use of this method.
Note the following:
- The modelID, newCEIUserID, and newCEIPassword variables near the beginning of the script need to be modified to the desired values.
- Setting the CEI user name or password to an empty string ("") using the script will effectively "disable" security in the CEI configuration; security is only considered "enabled" if there is a non-empty value for both user name and password. If either value is empty, no credentials will be submitted by Monitor when the RMI connection to CEI is established.
- The script should be executed from the "bin" directory of the appropriate profile (in a stand-alone environment, this would be the Monitor server profile; in a network deployment environment, this would be the deployment manager profile for the cell hosting Monitor). Use the appropriate command for your version of Monitor:
For Monitor V6.1.x:
wsadmin -wsadmin_classpath "../../../plugins/com.ibm.wbimonitor.lifecycle.spi_6.1.0.jar" -lang jython -f updateCEICredentials.jy
For Monitor V6.2.x:
wsadmin -wsadmin_classpath "../../../plugins/com.ibm.wbimonitor.lifecycle.spi_6.2.0.jar" -lang jython -f updateCEICredentials.jy
For Monitor V7.0.x:
wsadmin -wsadmin_classpath "../../../plugins/com.ibm.wbimonitor.lifecycle.spi.jar" -lang jython -f updateCEICredentials.jy