While attempting to publish, I am seeing symptoms of problems related to the CMDB's NOE plugin. Examples of the errors that can be seen in the publish trace files: ERROR-140505 Subscription Id does not exist Processing request Z00000jkkx73u0Xp9nZatMZ5w8gmh throwed exception: java.lang.ClassCastException: com.bmc.noe.share.CMDBGraphQueryNotification cannot be cast to com.bmc.noe.share.CMDBFindObjectNotification and in the noe.log on your CMDB Server: “ERROR NOEPluginServer.java:557 -getNotifications -----> FAIL <<[ERROR (302): Entry does not exist in database; ]” These are indications that the CMDB API's that the Publishing Server uses need to be upgraded to match with the upgraded CMDB version. How to upgrade these CMDB APIs that the pserver uses? |
The versions of the jar files that you should use will be found on your CMDB server. The files to copy from it are: From <ATRIUMCORE_HOME>\cmdb\sdk64\bin: arapi*.jar arpluginsvr*.jar cmdbapi*.jar From <ATRIUMCORE_HOME>\cmdb\plugins\noe: noeapi*.jar noeplugin*.jar If the CMDB version is 21.05 or higher, the following additional jar files are required: From <ATRIUMCORE_HOME>\cmdb\sdk64\bin: arlogger*.jar and from https://logging.apache.org/log4j/2.x/download.html, download the latest log4j-core-2-<version>.jar file (e.g log4j-core-2.17.1.jar file or newer, to have the latest security fixes). Note, the build number in the file names, noted by the asterisk, depends on your CMDB version. You should copy the file with build number from your server (i.e. it may be arapi91_build002.jar or arpluginsvr2130_build002.jar, or higher by the time you read this and implement this change). If you are using a containerized version of the AR Server / CMDB, to copy the required files out, the procedure is: a. First you need to find the required in the Kubernetes cluster: kubectl -n <innovation suite namespace> get po You should see a POD named “platform-fts-0” b. With that POD name, you can use then copy the files to a local directory with: kubectl -n <innovation suite namespace> cp platform-fts-0:AtriumCore/cmdb/sdk/bin/ /mylocaldir kubectl -n <innovation suite namespace> cp platform-fts-0:AtriumCore/cmdb/plugins/noe/ /mylocaldir c. Copy the above mentioned jar files what you need from “/mylocaldir”. The steps to implement these on the TrueSight Infrastructure Management Server: Linux: 1. Copy the pserver file in the pw/server/bin folder to a backup location. 2. Stop pserver using command 'pw p e pserver'. 3. Edit the pserver file in the pw/server/bin folder: a. Comment the older jar files: #PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/cmdbapi81.jar" #PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/arapi81.jar" #PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/arpluginsvr81.jar" #PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/noeapi81.jar" b. Add the new jar files: PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/cmdbapi2130.jar" PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/arapi2130_build002.jar" PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/arpluginsvr2130_build002.jar" PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/noeapi2130.jar" PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/noeplugin2130.jar" If at CMDB version 21.05 or higher: PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/arlogger-21.30.02-SNAPSHOT.jar" PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/log4j-core-2.17.1.jar" (Remember that the version numbers with the jar files will be specific to your CMDB version, the above 2130 verions and log4j version jar files are examples) 4. Copy the above mentioned jar files from the CMDB to the pw/cmdb/lib folder and change the permissions to 775 for the new files. Do not remove the existing jar files, as they are used by other BPPM/TSIM processes. These new jar files will exist along with the existing files. 5. Start pserver using command 'pw p s pserver'. 6. Close the publishing environment – Note that this will remove all published data from cell and remove all publishing filters and published data from CMDB. "penv close -e PROD" 7. Restart the publishing server using command 'pw p r pserver'. 8. Once the publishing server starts and the output of psstat is Started, run the publish command to publish the data again. Windows: 1. Copy the pserver.bat file in the pw\server\bin folder to a backup location. 2. Stop pserver using command 'pw p e pserver'. 3. Edit the pserver.bat file in the pw\server\bin folder: a. Rem the older jar files: rem set PS_CP=%PS_CP%;%ATRIUM_CMDB_HOME%\arapi81.jar rem set PS_CP=%PS_CP%;%ATRIUM_CMDB_HOME%\arpluginsvr81.jar rem set PS_CP=%PS_CP%;%ATRIUM_CMDB_HOME%\cmdbapi81.jar rem set PS_CP=%PS_CP%;%ATRIUM_CMDB_HOME%\noeapi81.jar b. Add the new jar files: set PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/cmdbapi2130.jar" set PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/arapi2130_build002.jar" set PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/arpluginsvr2130_build002.jar" set PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/noeapi2130.jar" set PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/noeplugin2130.jar" If at CMDB version 21.05 or higher: set PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/arlogger-21.30.02-SNAPSHOT.jar" set PS_CP="$PS_CP:$ATRIUM_CMDB_HOME/log4j-core-2.17.1.jar" (Remember that the version numbers with the jar files will be specific to your CMDB version, the above 2130 verions and log4j version jar files are examples) 4. Copy the jar files from the CMDB to the pw/cmdb/lib folder and change the permissions to 775 for the new files. Do not remove the existing jar files, as they are used by other BPPM/TSIM processes. These new jar files will exist along with the existing files. 5. Start pserver using command 'pw p s pserver'. 6. Close the publishing environment – Note that this will remove all published data from cell and remove all publishing filters and published data from CMDB. "penv close -e PROD" 7. Restart the publishing server using command 'pw p r pserver'. 8. Once the publishing server starts and the output of psstat is Started, run the publish command to publish the data again. Watch the video which covers how to Upgrade CMDB API's on TrueSight Publishing Server on Windows: |