While testing a named credential in OEM 13c by following command with errors:
Here “CLU-RACTEST” is the GI cluster name.
$emcli test_named_credential -cred_names="SEC_RACTEST" -target_name="CLU-RACTEST" -target_type="cluster" An internal error has occurred at the agent: "java.lang.IllegalStateException: getAgentSubstitutionMap("cluster.CLU-RACTEST") == null". Check the agent's error logs for details.
Run “emctl config agent listtargets”, it shows there is no ‘cluster’ target type listed for any of the monitoring agents.
The <AGENT_INST>/sysman/log/gcagent.log showed the below errors.
2020-09-11 14:20:12,572 [631842:5A0FE62C] WARN - target cluster.CLU-RACTEST does not exist ... .. . [159979801250001])] ERROR - remote target "cluster.CLU-RACTEST" has NO substitution properties; check that it is properly configured 2020-09-11 14:20:12,573 [631842:HTTP Listener-631842 - /emd/main/ (DispatchRequests OMS.console@17163@oemnode1=>[159979801250001])] ERROR - Critical error: java.lang.IllegalStateException: getAgentSubstitutionMap("cluster.CLU-RACTEST") == null at oracle.sysman.gcagent.jobs.JobRequestDriver.substitute(JobRequestDriver.java:2162) at oracle.sysman.gcagent.jobs.JobRequestDriver.(JobRequestDriver.java:1500) at oracle.sysman.gcagent.jobs.JobRequestDriver.(JobRequestDriver.java:1529) at oracle.sysman.gcagent.dispatch.cxl.PerformOperationAction.satisfyRequest(PerformOperationAction.java:130) ... .. .
SOLUTION
From the OEM Console, go to Cluster homepage -> Target Setup -> Monitoring Configuration.
Click on the Update button (no need to make any other changes).
This will push the cluster target details to the agent side.
Then run “emcli test_named_credential” successfully.
$emcli test_named_credential -cred_names="SEC_RACTEST" -target_name="CLU-RACTEST" -target_type="cluster" Credentials "SEC_RACTEST:SYSMAN" tested successfully