Troubleshoot discovery-related problems, such as missing resources or relationships not being established. This section covers:
- What to do if no resources are discovered
- Steps to resolve issues with specific native-type resources
- How to troubleshoot discovery not happening on schedule
- Fixing issues related to relationships based on resource models
No single resource was discovered
Verify the gateway connectivity and communication. Go to Setup → Resources → Management Profiles
Verify whether the configuration added successfully and app config status shows as Running
Cross verify the configuration details provided as per the SDK app documentation.
Cross verify the credentials of the target device.
Verify corresponding app package successfully download in the gateway.
Classic Gateway :
- Login to gateway.
- Go to the content package path by using following command:
cd /opt/gateway/content/cache/<app-name>/<app-current-version/
- Verify sdk app package in the above location
cd /opt/gateway/content/repo/<app-name>/
- Verify sdk app related runnable jars placed in the above location.
Nextgen Gateway :
Login to the gateway
Connect to the vprobe pod by using below command
sudo kubectl exec -it nextgen-gw-0 -c vprobe -- /bin/bash
Goto the content package path by using following command
cd /opt/gateway/content/cache/<app-name>/<app-current-version/
Verify sdk app package in the above location
cd /opt/gateway/content/repo/<app-name>/
Verify sdk app related runnable jars placed in the above location.
Verify the discovery & credential configurations in gateway database by following the below procedure and compare with app configuration in cloud.
1. Login to the gateway 2. If it is Nextgen gateway, connect to the vprobe pod by using below command `sudo kubectl exec -it nextgen-gw-0 -c vprobe -- /bin/bash ` 3. Open the gcli terminal by type the 'gcli' command 4. Execute below command for discovery configurations `gcli>sdkgetdiscoveryconfig <sdk-app-configuration-id>`
Here, we can get the configurationID from the integration page in the opsramp portal. Here UID is the configurationID.
Sample Discovery Configuration Response
{
"messageId": "cd674921-b28a-49a9-9a1a-6e3cefbcbced",
"messageVersion": "2.0.0",
"appIntegrationId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"managementProfileId": "b52f908e-e4ce-44d5-8266-0eeeb9451010",
"gateway": "b52f908e-e4ce-44d5-8266-0eeeb9451010",
"module": "Discovery",
"subtype": "Configuration",
"app": "redfish-server",
"action": "Update",
"appVersion": "1.0.1",
"configurationId": "ADAPTER-MANIFEST-212c8841-96c3-462b-b041-1fcebfbbd319",
"configurationName": "10.64.8.8",
"payload": {
"data": {
"port": "443",
"isSecure": "true",
"ipAddress": "10.64.8.8",
"noificationAlert": "true",
"credentialId": [
{
"fieldName": "credential",
"value": "TsTjwKYEPuAU6rDmMvckd4Fc"
}
]
},
"nativeTypes": {
"Fan": {
"resourceType": "Other"
},
"Drive": {
"resourceType": "Storage"
},
"Device": {
"resourceType": "Other"
},
"Memory": {
"resourceType": "Other"
},
"Volume": {
"resourceType": "Volume"
},
"Chassis": {
"resourceType": "Other"
},
"Manager": {
"resourceType": "Server"
},
"Processor": {
"resourceType": "Other"
},
"Power Supply": {
"resourceType": "Power"
},
"Compute System": {
"resourceType": "Server"
},
"Redfish Server": {
"resourceType": "Server"
},
"Network Adapter": {
"resourceType": "Other"
},
"Temperature Sensors": {
"resourceType": "Other"
},
"Manager Network Interface": {
"resourceType": "Other"
},
"System Ethernet Interface": {
"resourceType": "Other"
}
}
},
"requireck": false,
"sha": "46a357a479a26350c6dceea08189f2d44fb5fd5cc5a60bc36315cd43e4b46c3f"
}
- Execute the following command for credentials configuration:
gcli> sdkgetcredentialconfig <credentials-id>
Here, we can get the credentials-id from the above discovery configuration response. From the above discovery configuration response, we will get credentialId array as follows:
CredentialId from DiscoveryConfig
"credentialId": [
{
"fieldName": "credential",
"value": "TsTjwKYEPuAU6rDmMvckd4Fc"
}
]
Take value from the above payload and execute the command.
Sample Credential Config Response
{
"messageId": "ba0a351f-c75b-4713-a385-28af76d27b0d",
"messageVersion": "2.0.0",
"appIntegrationId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"managementProfileId":"b52f908e-e4ce-44d5-8266-0eeeb9451010",
"gateway":"b52f908e-e4ce-44d5-8266-0eeeb9451010",
"module":"App",
"subtype":"Credential",
"app":"redfish-server",
"action":"Update",
"appVersion":"1.0.1",
"configurationId":"ADAPTER-MANIFEST-5f1cdbff-a8c4-4091-89fa-264f3cc17186",
"configurationName":"10.64.72.30",
"credentialId":"TsTjwKYEPuAU6rDmMvckd4Fc",
"payload":{
"data":{
"uuid":"TsTjwKYEPuAU6rDmMvckd4Fc",
"classId":"credential.cipher",
"ver":2,"key1":"18ba3dba4c4",
"cipher":"zenKVqAkTihi2skFDmYLxB9F626fHBf08/21rmGad501HJ7dvsSNI4cHzxusc37Gp4J/RYAoOZDxmRG0GbGEGfBhsd73UYojE0jLsCYYnA1nDYM/59l40x3bGmJcgU/5befYa/EAIhvKPsaxl+JJAIP6KdHnGQXxG7NX1U6omUxV4CK7y+m0Pjec7RMUsTy1RGG6z27EY4tM2o4gTV2PgZN7unXT6hTLfugsW/Gyoz6x68zk9uOMu5R7McgTPDkjBHJq1Fl2qS1I7/xtIh/WULdl8d2C+ebRPV7krjWUc7416l7OjA==",
"type":"APPLICATION"
}
},
"requireAck":false,
"sha":"b2be686448ad1228452b0fd3ec876f0d235e62a79ce9cbd5d88e08119466cc91"
}
Verify the connectivity / reachability of the target device by execute sdk debug command with gcli
.
Get the sdk debug request body from the corresponding app document with respective connectivity & reachability of the target device.
Refer this page to execute the sdk debug command.
Execute the sdk app debug command with gcli
command
gcli > sdkappdebug <base64encodestring>
Some native type resources were not discovered
Verify the gateway connectivity & communication.
Refer Step1 in No single resource was discovered
Cross verify the credentials of the target device.
Verify the connectivity / reachability of the target.
Refer Step7 in No single resource was discovered
Verify the discovery api with gcil debug handler with native type as mentioned in the document.
Refer Step8 in No single resource was discovered
Discovery is not happening based on the schedule in the configuration
- Verify the schedule configuration in the app configuration in cloud
- Verfiy the discovery & credential configurations in gateway database by using following command
Refer Step6 in No single resource was discovered
- Verify the schedule configurations in gateway by using gcli cmd
gcli > sdkgetdiscoveryjobs <app-name> <configId>
Sample Discovery Config Job Response
{
"jobName": "redfish-server@Discovery@INTG-152fdf99-36c5-4902-b0b6-b3febc824c77@ADAPTER-MANIFEST-212c8841-96c3-462b-b041-1fcebfbbd319",
"jobType": "Discovery",
"configId": "",
"appId": "",
"config": {
"messageId": "a600d47f-6089-42b0-b2fc-51445f95b115",
"messageVersion": "2.0.0",
"appIntegrationId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"managementProfileId": "b52f908e-e4ce-44d5-8266-0eeeb9451010",
"gateway": "b52f908e-e4ce-44d5-8266-0eeeb9451010",
"module": "Discovery",
"subtype": "Configuration",
"app": "redfish-server",
"action": "Update",
"appVersion": "1.0.1",
"configurationId": "ADAPTER-MANIFEST-212c8841-96c3-462b-b041-1fcebfbbd319",
"configurationName": "10.64.8.8",
"frequency": "001?*7*",
"payload": {
"data": {
"port": "443",
"isSecure": "true",
"ipAddress": "10.64.8.8",
"notificationAlert": "true",
"credentialId": [
{
"fieldName": "credential",
"value": "TsTjwKYEPuAU6rDmMvckd4Fc"
}
]
},
"nativeTypes": {
"Fan": {
"resourceType": "Other"
},
"Drive": {
"resourceType": "Storage"
},
"Device": {
"resourceType": "Other"
},
"Memory": {
"resourceType": "Other"
},
"Volume": {
"resourceType": "Volume"
},
"Chassis": {
"resourceType": "Other"
},
"Manager": {
"resourceType": "Server"
},
"Processor": {
"resourceType": "Other"
},
"PowerSupply": {
"resourceType": "Power"
},
"ComputeSystem": {
"resourceType": "Server"
},
"RedfishServer": {
"resourceType": "Server"
},
"NetworkAdapter": {
"resourceType": "Other"
},
"TemperatureSensors": {
"resourceType": "Other"
},
"ManagerNetworkInterface": {
"resourceType": "Other"
},
"SystemEthernetInterface": {
"resourceType": "Other"
}
}
},
"requireAck": false,
"sha": "46a357a479a26350c6dceea08189f2d44fb5fd5cc5a60bc36315cd43e4b46c3f"
},
"recvDataTS": 1699506676348,
"scheduled": true
}
- Verify in ram jobs list for discovery schedule job details with app configs
gcli → ramjobslist
Relationships not happening based on the resource model
- Verify the relationships data in the gateway database by using following command
a. Execute
gcli → sdkgetallstorenames
to get all store names.
b. Check whether the response of above command contains a store name in the format “appname_relationships_configId”
c. From the above response get the relationship store name for the particular configuration and execute gcli → sdkgetkeyvaluebystore <store-name>
to check whether relationships saved in db or not. - If relationships sent to cloud from gateway, then verify the following API in cloud side
https://preprod.app.opsramp.net/graph/api/v3/tenants//resources//topology/relation
a. To get tenantId to execute the above url, go to setup → Accounts → Clients
b. Click on the client to view the client details as shown above and copy the uuid from the client details.
c. Go to Resource Details page for which relationships are not working, Copy the Resource UUID from the resource details
d. Replace tenantId and sourceResourceId in the url and execute the url.
Example: https://preprod.app.opsramp.net/graph/api/v3/tenants/d2b8d191-dc0c-4846-a33a-61e3463c8458/resources/39aaff6b-0210-4fd8-8f16-abf13215a0e8/topology/relation
Sample Relationships API Response
{
"results": [
{
"id": "76rp-32nc-2fpx-21966g",
"sourceId": "586c0c96-b40a-4f1d-89ad-b7527f9fbab9",
"sourceEntityType": "RESOURCE",
"targetId": "542db81b-3497-495c-bcec-8da7074d2248",
"targetEntityType": "RESOURCE",
"relationName": "runs on",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261195298,
"updatedTS": 1699261195298,
"metadata": {}
},
{
"id": "76dh-32nc-2fpx-2pmduw",
"sourceId": "586c0c96-b40a-4f1d-89ad-b7527f9fbab9",
"sourceEntityType": "RESOURCE",
"targetId": "d0b303fb-4532-4eea-b9be-9ed75d1f9d5d",
"targetEntityType": "RESOURCE",
"relationName": "runs on",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261195293,
"updatedTS": 1699261195293,
"metadata": {}
},
{
"id": "775x-32nc-2fpx-2pssiw",
"sourceId": "586c0c96-b40a-4f1d-89ad-b7527f9fbab9",
"sourceEntityType": "RESOURCE",
"targetId": "94b9da66-bdd7-44e2-a59d-009b221beefd",
"targetEntityType": "RESOURCE",
"relationName": "runs on",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261195301,
"updatedTS": 1699261195301,
"metadata": {}
},
{
"id": "75z9-2zhk-2i39-32nc",
"sourceId": "39aaff6b-0210-4fd8-8f16-abf13215a0e8",
"sourceEntityType": "RESOURCE",
"targetId": "586c0c96-b40a-4f1d-89ad-b7527f9fbab9",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261195285,
"updatedTS": 1699261195285,
"metadata": {}
},
{
"id": "8o3p-35t4-2i39-3rxk",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "8259f5fb-6296-4711-b8c7-fbc4f62d3b5f",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261200514,
"updatedTS": 1699261200514,
"metadata": {}
},
{
"id": "8q2t-35t4-2i39-3v3c",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "6dc33260-6c8f-4519-a4e5-125d95db0f35",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261200548,
"updatedTS": 1699261200548,
"metadata": {}
},
{
"id": "8r9h-35t4-2i39-3y94",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "9edbdca7-b7dd-46ae-9aa8-d97c3a02d9d7",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261200566,
"updatedTS": 1699261200566,
"metadata": {}
},
{
"id": "ag3p-35t4-2i39-41ew",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "811fc077-99c4-4e39-90a7-439ba777477d",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261253722,
"updatedTS": 1699261253722,
"metadata": {}
},
{
"id": "agw5-35t4-2i39-44ko",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "630fc572-30fc-4ac9-8730-022c2ce0928a",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261253737,
"updatedTS": 1699261253737,
"metadata": {}
},
{
"id": "akg5-35t4-2i39-47qg",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "3fb2b6d0-b69f-42c9-93d9-5559601f14b5",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261253803,
"updatedTS": 1699261253803,
"metadata": {}
},
{
"id": "amth-35t4-2i39-4aw8",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "605b22b4-47a5-447d-bb56-44592d8227a7",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261253827,
"updatedTS": 1699261253827,
"metadata": {}
},
{
"id": "an7p-35t4-2i39-4e20",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "e58a8270-2d14-485b-b2d3-4f78ce047ac6",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261253830,
"updatedTS": 1699261253830,
"metadata": {}
},
{
"id": "ascl-35t4-2i39-4h7s",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "dafa5eea-eb72-4d6a-b55e-7911bb53e079",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261253888,
"updatedTS": 1699261253888,
"metadata": {}
},
{
"id": "av45-35t4-2i39-4kdk",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "0501a167-d3da-4cf4-b0a3-dcf4431c02c9",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261253913,
"updatedTS": 1699261253913,
"metadata": {}
},
{
"id": "axvp-35t4-2i39-4njc",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "0f7458a8-8e41-4d12-883a-a16327c75e39",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261253932,
"updatedTS": 1699261253932,
"metadata": {}
},
{
"id": "aeit-35t4-2i39-1cv64g",
"sourceId": "6b08cedf-300c-49f0-8855-492ed43088b8",
"sourceEntityType": "RESOURCE",
"targetId": "64b9ca8d-8b77-44d0-b2eb-db2a3aa69c99",
"targetEntityType": "RESOURCE",
"relationName": "componentOf",
"intAppId": "INTG-152fdf99-36c5-4902-b0b6-b3febc824c77",
"createdTS": 1699261253709,
"updatedTS": 1699261253709,
"metadata": {}
}
],
"totalResults": 15,
"pageNo": 1,
"pageSize": 100,
"totalPages": 1,
"nextPage": false,
"descendingOrder": false
}