Cyber Recovery: Failure to Configure Multilink for CyberSense - cannot unmarshal array into Go struct field

Summary: After upgrading to Cyber Recovery 19.13 and CyberSense 8.2.0-1.12, attempting to configure Multilink in order to analyze copies is not able to complete.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

The Cyber Recovery Mutlilink configuration GUI shows the following:
Multilink Configuration Error in Cyber Recovery

Within the log/edge/edge.log, the following can be witnessed which matches the screenshot in the Multilink configuration GUI in Cyber Recovery:
 
[XXXX-05-10 13:32:20.393] [DEBUG] [edge] [restapi_client.go:139 CallCRRESTAPI()] : Perform request.Get path=https://apps:9095/irapi/v7/apps/XXXXXXXXXXXXXXXXXXXXXXXX/csnetworkinfo
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [restapi_client.go:148 CallCRRESTAPI()] : status = 400 Bad Request
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [restapi_client.go:321 GetCRResponse()] : Entering
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [restapi_client.go:328 GetCRResponse()] : Exiting
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [restapi_client.go:149 CallCRRESTAPI()] : Exiting
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [restapi_client.go:55 CallRESTAPIHeader()] : Exiting
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [restapi_client.go:295 HandleRESTAPIResponse()] : Entering
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [restapi_client.go:303 HandleRESTAPIResponse()] : REST status code :400
[XXXX-05-10 13:32:20.519] [ERROR] [edge] [restapi_client.go:312 HandleRESTAPIResponse()] : Failed to retrieve network information for CyberSense with ID : XXXXXXXXXXXXXXXXXXXXXXXX. Cannot unmars
hall response to CyberSense network information response. json: cannot unmarshal array into Go struct field .speed of type string
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [restapi_client.go:313 HandleRESTAPIResponse()] : Exiting
[XXXX-05-10 13:32:20.519] [ERROR] [edge] [edge.go:1474 GetMultiLinkNetInterfaces()] : Failed to retrieve network information for CyberSense with ID : XXXXXXXXXXXXXXXXXXXXXXXX. Cannot unmarshall
response to CyberSense network information response. json: cannot unmarshal array into Go struct field .speed of type string
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [jsonerr.go:27 JSONError()] : Entering
[XXXX-05-10 13:32:20.519] [ERROR] [edge] [jsonerr.go:40 JSONError()] : 500 : Failed to retrieve network information for CyberSense with ID : XXXXXXXXXXXXXXXXXXXXXXXX. Cannot unmarshall response
to CyberSense network information response. json: cannot unmarshal array into Go struct field .speed of type string
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [jsonerr.go:44 JSONError()] : Exiting
[XXXX-05-10 13:32:20.519] [DEBUG] [edge] [edge.go:1476 GetMultiLinkNetInterfaces()] : Exiting
[XXXX-05-10 13:32:20.519] [INFO] [edge] [restauth.go:99 func1()] : GET /cr/v7/apps/XXXXXXXXXXXXXXXXXXXXXXXX/multilinknetinterfaces End GetMultiLinkInterfaces Elapsed=127.933414ms

Cause

There was a software issue in the 8.2.0-1.12 release. This was with the REST API Cyber Recovery uses to discover all the CyberSense interfaces.
It returns an invalid json response if one or more of the CyberSense interfaces is unconfigured or not enabled.
Cyber Recovery could not parse this response and the error seen in both the logs and the Cyber Recovery is displayed.

Resolution

This issue is addressed in CyberSense 8.2.0-1.23.
Article Properties
Article Number: 000214851
Article Type: Solution
Last Modified: 14 Sept 2023
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.