Notifications

183 views

Description

Symptoms

=> After clicking "Discover Datacenters" UI Action, the "

<date/time stamp>: Processing....

=> Cloud API "Method Name" is "List Datacenters" and "Route Status" field value is "executing" with no further update

=> The Error message in ecc_queue input where topic is "APIProxyProbe":

com.snc.automation_common.integration.exceptions.UnknownException: Could not initialize APIProxyProbe
at com.snc.cmp.mid.probe.APIProxyProbe.probe(APIProxyProbe.java:326)
at com.service_now.mid.probe.AProbe.process(AProbe.java:96)
at com.service_now.mid.queue_worker.AWorker.runWorker(AWorker.java:125)
at com.service_now.mid.queue_worker.AWorkerThread.run(AWorkerThread.java:20)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at com.snc.cmp.mid.probe.APIProxyProbe.probe(APIProxyProbe.java:98)
... 6 more

Release

 Use case release was London Patch 6

 

Cause

In the aws_credential record, the "AWS Account" field is referencing a non-existent record in the aws_account_admin table. This table is associated with AWS Cloud discovery in releases before Jakarta. This field is not required to be populated when "cloud api" and "cloud management core" plugins, introduced with the Jakarta release, are active. The aws_credential record was imported from another instance but the "aws_account_admin" record referenced in the "AWS Account" field was not.

Note the line in the XML of the aws_credential record.

<aws_account display_value="">11111111111111111111111111111111</aws_account>

Show XML:

<xml>
<aws_credentials>
<access_key>ACCESSKEYACCESSKEYAC</access_key>
<active>true</active>
<applies_to>all</applies_to>
<authentication_key/>
<authentication_protocol/>
<aws_account display_value="">11111111111111111111111111111111</aws_account>
<classification>aws</classification>
<mid_list/>
<name>AWSCREDENTIAL</name>
<order>100</order>
<password>COPYOFSECRETKEYCOPYOFSECRETKEYCOPYOFSECR/password>
<privacy_key/>
<privacy_protocol/>
<secret_key>COPYOFSECRETKEYCOPYOFSECRETKEYCOPYOFSECR</secret_key>
<ssh_passphrase/>
<ssh_private_key/>
<sys_class_name>aws_credentials</sys_class_name>
<sys_created_by>USERNAME</sys_created_by>
<sys_created_on>2019-04-17 17:20:18</sys_created_on>
<sys_domain>global</sys_domain>
<sys_id>21111111111111111111111111111111</sys_id>
<sys_mod_count>5</sys_mod_count>
<sys_updated_by>USERNAME</sys_updated_by>
<sys_updated_on>2019-05-06 18:39:53</sys_updated_on>
<tag/>
<type>aws</type>
<user_name>COPYOFACCESSKEYCOPY</user_name>
</aws_credentials>
</xml>

Resolution

1. Create the AWS credential from scratch and not populate the "AWS account" field. Then reference this in the Cloud Service Account records "AWS Credential" field.

or

2. Export XML from originating instance the legacy (existed in pre-Jakarta) "aws_account_admin" record referenced in the "AWS Account" field in the AWS credential record and import XML into problem instance.

Article Information

Last Updated:2019-08-02 20:43:51
Published:2019-05-10