PowerStore: "Unable to parse passed url" for REST GET requests with "select" where nested parameter is specified

Summary: Response is "Unable to parse passed url" for some of REST GET requests with "select" where nested parameter is specified.

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

Some complicated REST GET requests fail with an error. Such a request requires a backward reference with a self-reference within a single request.

Example:
/api/rest/appliance?select=eth_ports(partner)

Error code:
0xE04040020008 with the message "Unable to parse passed url".

Note: If you receive this error message while running a pre upgrade health check (PUHC), see PowerStore: System Health Checks detects lack of space in /cyc_node. This is a different issue.

Cause

This is caused by a postgREST issue that generates invalid queries.

Resolution

Instead of nesting parameters in a request, send multiple requests to get the required information.

The following are some of the affected GET requests with nested parameter that do not work in REST. Two separate requests should be made. 
  • GET      /api/rest/appliance?select=eth_ports(partner)
  • GET      /api/rest/appliance?select=virtual_volumes(target_virtual_volumes)
  • GET      /api/rest/appliance?select=virtual_volumes(source)
  • GET      /api/rest/appliance?select=virtual_volumes(parent)
  • GET      /api/rest/appliance?select=virtual_volumes(child_virtual_volumes)
  • GET      /api/rest/appliance?select=hardware(children)
  • GET      /api/rest/appliance?select=hardware(parent)
  • GET      /api/rest/appliance?select=fc_ports(partner)
  • GET      /api/rest/appliance?select=sas_ports(partner)
  • GET      /api/rest/appliance?select=eth_ports(partner)

Example:
Rather than:
/api/rest/appliance?select=eth_ports(partner)

Example of nested parameter failure:
Linux~$ curl -i -k -s -u 'admin:' -X GET "https:///api/rest/appliance?select=eth_ports(partner)"
HTTP/1.1 400 Bad Request
DELL-EMC-TOKEN: 8t7deLGkLuG8g+Hg2uzMw6B4p2KhQ5bay3qW05tPVMs=
Content-Type: application/json
content-length: 104

{"messages":[{"code":"0xE04040020008","severity":"Error","message_l10n":"Unable to parse passed url."}]}

Send:
/api/rest/appliance?select=eth_ports
/api/rest/eth_port?select=partner
 

Affected Products

PowerStore
Article Properties
Article Number: 000131120
Article Type: Solution
Last Modified: 07 Jun 2023
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.