PowerStore: "Unable to parse passed url" para solicitações REST GET com "select", em que o parâmetro aninhado é especificado

Summary: A resposta é "Unable to parse passed url" para algumas das solicitações REST GET com "select", onde o parâmetro aninhado é especificado.

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

Algumas solicitações REST GET complicadas falham com um erro. Essa solicitação requer uma referência reversa com uma autorreferência dentro de uma única solicitação.

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

Error code:
0xE04040020008 com a mensagem "Unable to parse passed url".

Nota: Se você receber essa mensagem de erro ao executar uma verificação de integridade pré-upgrade (PUHC), consulte PowerStore: As verificações de integridade do sistema detectam espaço insuficiente em /cyc_node. Esta é uma questão diferente.

Cause

Isso é causado por um problema postgREST que gera consultas inválidas.

Resolution

Em vez de aninhar parâmetros em uma solicitação, envie várias solicitações para obter as informações necessárias.

A seguir estão algumas das solicitações GET afetadas com parâmetro aninhado que não funcionam em REST. Devem ser feitas duas solicitações separadas. 
  • 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)

Exemplo:
Em vez de:
/api/rest/appliance?select=eth_ports(partner)

Exemplo de falha de parâmetro aninhado:
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."}]}

Envie:
/api/rest/appliance?select=eth_ports
/api/rest/eth_port?select=parceiro
 

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.