PowerFlex 3.0: Unable to run REST API calls against PowerFlex IM Gateway
Summary: IM Gateway returns HTTP error 428 when trying to test the REST API from the IM or when trying to use a REST API tool (for example "curl") against its IP address.
Symptoms
This issue may arise when trying to use IM Gateway as the REST API endpoint.
Error when trying to use "Test REST configuration" from the Gateway:
Error when trying to connect to the API server (Gateway):
Error message when trying to use "curl":
curl -k -v --basic --user admin:password https://10.200.x.x/api/login [10.200.x.x]
* About to connect() to 10.200.x.x port 443 (#0)
* Trying 10.200.x.x...
* Connected to 10.200.x.x (10.200.x.x) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate:
* subject: CN=ScaleIO-10-200-x-x-GW.sioesxinode06,OU=ASD,O=EMC,L=Hopkinton,ST=Massachusetts,C=US
* start date: Dec 02 07:30:05 2019 GMT
* expire date: Nov 05 07:30:05 2024 GMT
* common name: ScaleIO-10-200-x-x-GW.sioesxinode06
* issuer: CN=ScaleIO-10-200-x-x-GW.sioesxinode06,OU=ASD,O=EMC,L=Hopkinton,ST=Massachusetts,C=US
* Server auth using Basic with user 'admin'
> GET /api/login HTTP/1.1
> Authorization: Basic YWRtaW46U2NhbAFAta==
> User-Agent: curl/7.29.0
> Host: 10.200.x.x
> Accept: */*
>
< HTTP/1.1 428
< Cache-Control: no-cache
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Pragma: no-cache
< Cache-Control: no-store
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
< Vary: Accept-Encoding
< Date: Fri, 25 Jun 2021 14:00:00 GMT
< Server: ScaleIO Gateway
<
* Connection #0 to host 10.200.x.x left intact
{"message":"Failed connecting to cluster: 10.200.x.x 10.200.x.x","httpStatusCode":428,"errorCode":0}
IM Gateway "scaleio.log":
2021-06-25 05:14:27,153 [https-jsse-nio-443-exec-7] INFO c.e.s.s.s.ConnectionServiceImpl - Got exception when trying to connect to cluster: tcp://10.200.x.x:6611 (with configured 10 concurrent requests)
com.emc.ecs.net.exceptions.SecureConnectionDisabledException: null
Impact
Unable to use REST API with PowerFlex.
Cause
The MDM cluster was configured with secure management communication disabled:
# scli --query_all | grep -i secure
Management Clients secure communication: Disabled
The IM Gateway was configured to work with the following configuration:
# grep -i secure /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/gatewayUser.properties
#######Secure connection with MDM properties#######
# Allow a non-secured REST connection to the MDM if a secured connection can't be established
gateway-security.allow_non_secure_communication=true
Due to a software issue, the communication between the Gateway and the MDM was not successful.
Resolution
Set MDM Management clients communication to secure:
scli --set_management_client_communication --enable_client_secure_communication
Additional Information
Impacted versions:
PowerFlex operating system 3.0.x.x
Addressed in version:
PowerFlex operating system 3.0.1.4 and later