APAR status
Closed as fixed if next.
Error description
Environment: APM server APM version: 8.1.4.0 Agent version: 06.22.10 Problem Description: In APM UI 'IBM Power Infrastructure' summary status dashboard, the HMC REST Service Status shows 'Disabled' although the REST can be logged on via external curl command. Example: // login.xml prepared in advance as logon payload <LogonRequest schemaVersion="V1_2_0" xmlns="http://www.ibm.com/xmlns/systems/power/firmware/web/mc/2 012_10/" xmlns:mc="http://www.ibm.com/xmlns/systems/power/firmware/web/m c/2012_10/"> <UserID>your_hmc_user</UserID> <Password>your_password</Password> </LogonRequest> curl -k -c cookies.txt -i -X PUT -H "Content-Type: application/vnd.ibm.powervm.web+xml; type=LogonRequest" -H "Accept: application/vnd.ibm.powervm.web+xml; type=LogonResponse" -H "X-Audit-Memento: hmc_test" -d @login.xml https://<HMC>12443/rest/api/web/Logon ] Detailed Recreation Procedure: In APM UI dashboard, click in left panel 'My Components' in 'All My Applications' > 'IBM Power Infrastructure' in 'Groups' > agent instance in left-corner panel, in the right summary dashboard, the HMC REST Service Status shows 'Disabled'. Related Files and Output: <agent_install_dir>/aix526/ph/bin/kph_data_provider.sh <agent_install_dir>/logs/kph_data_provider_xxx_startup.log <agent_install_dir>/logs/kph_data_provider_xxx.log In file kph_data_provider.sh, below line is found: if [ $( ls $AGENT_LIB_DIR/$rel_string/pmc.*.jar 2>&1 | wc -l) -gt 10 ]; then The text "pmc.*.jar" does not allow support for HMC SDk 860 due to changes in the file names in HMC SDK contents. HMC changed file naming conventions from pmc.xxx.jar to pmc-xxx.jar. This results in an incorrect setting in the KPH_CLASSPATH value pointing to incorrect SD directory under lib. To resolve this issue to allow support of HMC 860 environments, the contents of kph_data_provider.sh are modified to look for "pmc*.jar" as part of the file names to locate SDK .jar files. To identify this issue, review kph_data_provider_xxx_startup.log and check the directory paths for "KPH_CLASSPATH=" value for where the PH agent is looking. The HMC version will be in the log, for example 8.6.0.2, and the agent will find pmc*.jar files under the expected directory - for example pmc*8.8.6.2.3*.jar files found under /opt/ibm/apm/agent/aix526/ph/lib/8602, but the KPH_CLASSPATH and KPH_JVM_ARGS values will be looking under a directory for the wrong version of HMC SDK: /opt/ibm/apm/agent/aix526/ph/lib/884 Depending on the version of HMC that the PH agent is trying to monitor, the SDK REST files would be expected to be located in following directories: HMC_version. lib/??? in KPH_CLASSPATH ------------ ------------------------ <= 8300 lib/883 <- SDK included in agent build else <= 8400 lib/884 <- SDK included in agent build else > 8400 lib/8xxx <- SDK NOT included in agent build For HMC version such as 8602, this version of SDK is not included in the HMC agent image, and must be downloaded from the HMC and .jar files manually copied to a new directory under <agent_dir>/aix526/ph/lib/<HMC_version> directory. In kph_data_provider_xxx_startup.log confirm the return value for DataSource.checkRestEnabled. ANY value other than 200 indicates a failure of REST call. kph_data_provider_<instance>_startup.log INFO: DataSource.checkRestEnabled: checkRestEnabled Exception caught: SEVERE: Logger.logWithStackTrace: exception caught : javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake Stack trace: com.ibm.tivoli.monitoring.agent.kph.powervm. DataSource.checkRestEnabled(DataSource.java:171) com.ibm.tivoli.monitoring.agent.kph.powervm. DataSource.initRest(DataSource.java:141) com.ibm.tivoli.monitoring.agent.kph.powervm. DataSource.<init>(DataSource.java:120) com.ibm.tivoli.monitoring.agent.kph.itm. FactoryInterfaceController.setupDataProvider (FactoryInterfaceController.java:528) com.ibm.tivoli.monitoring.agent.kph.itm. FactoryInterfaceController.serviceRequests (FactoryInterfaceController.java:396) com.ibm.tivoli.monitoring.agent.kph.itm. FactoryInterfaceController.main (FactoryInterfaceController.java:702) INFO: DataSource.checkRestEnabled: checkRestEnabled returned : -1 Working REST calls will show a return of 200 indicating the connection via REST is working: Example: logon to test if the REST is started and supported INFO: DataSource.checkRestEnabled: checkRestEnabled returned : 200 data collection via REST data ManagedSystem -> VirtualIOServer/LogicalPartition -> VolumeGroup INFO: HTTPRestGetExecutor.call: Before calling childGetElementsFeedAsJAXB: "parendUUID=null; childType=ManagedSystem; rootType=null; isGetChild=false" INFO: HTTPRestGetExecutor.call: After calling childGetElementsFeedAsJAXB: "parendUUID=null; childType=ManagedSystem; rootType=null; isGetChild=false" INFO: RestInventoryBuilder.processResult: Total 4 com.ibm.xmlns.powervm.uom.v2012_10.ManagedSystem returned INFO: HTTPRestGetExecutor.call: Before calling childGetElementsFeedAsJAXB: "parendUUID=36372331-3254-307c-84e3-ae24af5fcf01; childType=VirtualIOServer; rootType=ManagedSystem; isGetChild=true" INFO: HTTPRestGetExecutor.call: After calling childGetElementsFeedAsJAXB: "parendUUID=36372331-3254-307c-84e3-ae24af5fcf01; childType=VirtualIOServer; rootType=ManagedSystem; isGetChild=true" INFO: RestInventoryBuilder.processResult: processResult for : "parendUUID=36372331-3254-307c-84e3-ae24af5fcf01; childType=VirtualIOServer; rootType=ManagedSystem; isGetChild=true" INFO: RestInventoryBuilder.processResult: Total 2 com.ibm.xmlns.powervm.uom.v2012_10.VirtualIOServer returned INFO: HTTPRestGetExecutor.call: Before calling childGetElementsFeedAsJAXB: "parendUUID=6DF35901-29C6-4D01-A1A1-855CC89EE1F6; childType=VolumeGroup; rootType=VirtualIOServer; isGetChild=true"
Local fix
Problem summary
The problem is resolved in the latest interim fix.
Problem conclusion
Temporary fix
Comments
APAR Information
APAR number
IJ07310
Reported component name
MON AGENT HMC B
Reported component ID
5725U05HB
Reported release
622
Status
CLOSED FIN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2018-06-22
Closed date
2018-09-21
Last modified date
2018-09-21
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SGGSNP","label":"Hardware Management Console V9"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"622","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
22 September 2021