Start a Conversation

This post is more than 5 years old

Solved!

Go to Solution

2454

September 6th, 2017 06:00

ECS Atmos Query 405 Error

Hi,

We're running a test ECS 3.0.0.0 ( ECS Object Version   3.0.0.0.86239.1c9e5ec) and trying to test the Atmos protocol. After creating a subtenant and writing out some using the classic object interface, we are now attempting to query the subtenant by doing a listable tag search. Unfortunately, the device is giving us a 405 error which seems odd to me. (Note that we also tried the ECS test drive and that gave us a 503 error.) Here is the trace from our application logs, any help much appreciated:

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Found bundle for host 192.168.50.2: 0x5cc1c650

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Re-using existing connection! (#5) with host 192.168.50.2

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Connected to 192.168.50.2 (192.168.50.2) port 9022 (#5)

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:2:H/O Message:GET /rest/objects?listabletags HTTP/1.1

Host: 192.168.50.2:9022

Accept: */*

content-type: application/octet-stream

date: Wed, 06 Sep 2017 13:51:03 GMT

x-emc-tags: EAS_Query_ECS

x-emc-uid: b424271860ed483aad24152edd7a8f02/amarcionek

x-emc-signature: 2/h0/IeamD2YlyuLVqo9Jslop9M=

-

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:1:H/I Message:HTTP/1.1 405 Method Not Allowed

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Date: Wed, 06 Sep 2017 13:51:15 GMT

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Allow: OPTIONS,PUT

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Cache-Control: must-revalidate,no-cache,no-store

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Content-Type: text/html;charset=iso-8859-1

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Content-Length: 352

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Server: ViPR/1.0

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:1:H/I Message:

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:3:D/I Size:352

09/06/2017 09:51:03 (3158/4140)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Connection #5 to host 192.168.50.2 left intact

09/06/2017 09:51:03 (3158/4140)       0: DBG: CAtmosArchiveMgr GetListableTags HDR Response: HTTP/1.1 405 Method Not Allowed

Date: Wed, 06 Sep 2017 13:51:15 GMT

Allow: OPTIONS,PUT

Cache-Control: must-revalidate,no-cache,no-store

Content-Type: text/html;charset=iso-8859-1

Content-Length: 352

Server: ViPR/1.0

09/06/2017 09:51:03 (3158/4140)       0: DBG: CAtmosArchiveMgr GetListableTags BODY Response:

09/06/2017 09:51:03 (3158/4140)       1: CAtmosArchiveMgr GetListableTags Failed - HTTP:405 API Error:1 API String:

09/06/2017 09:51:03 (3158/4140)       5: CAtmosArchiveMgr SearchFindNextLevel Failed GetListableTags

09/06/2017 09:51:03 (3158/4140)       0: DBG: CAtmosArchiveMgr LogQuery - ESearchGetNextResult Returning (5)

09/06/2017 09:51:03 (3158/4140)       0: DBG: CAtmosArchiveMgr LogQuery - ESearchCloseHandle Closed

September 18th, 2017 10:00

I tracked down your request and can see the SHA1 hash came in all uppercase. 

This is the error from ECS log: 

2017-09-15T18:28:22,504 [qtp97281693-3786845-0c07c835:15e1b9efa69:1a3d8:0-atmos-96.86.85.161] ERROR  ObjectControllerExceptionHelper.java (line 231) Method createObject ObjectInfo: [id=602b048cdc9f93eb70cb897f7ffeb09ddb5f7739024ce016cbf1

7113a8f60ffc, CoS=urn:storageos:VirtualArray:53e41b92-1f5a-46e6-9404-a647b7899523.urn:storageos:ReplicationGroupInfo:104b3728-fba1-41b3-8055-4592348f1d24:global, AbsoluteExpiryDate=IGNORE, ExpiryInDays=null, FAMode=disabled, PreviousFAMo

de=, FAStartVersion=0, FAEndVersion=0, ObjectOwnerZone=null, objectOwnerRecordListnull, keyName=602b048cdc9f93eb70cb897f7ffeb09ddb5f7739024ce016cbf17113a8f60ffc] hit error, failed due to exception

com.emc.storageos.data.object.exception.ObjectControllerException: computed=da39a3ee5e6b4b0d3255bfef95601890afd80709, received=DA39A3EE5E6B4B0D3255BFEF95601890AFD80709

Can you check your hashing logic and retry?

Thanks,

Ben

September 7th, 2017 07:00

What client/SDK are you using to execute this request?  I tested using ECS Test Drive and it worked.  I was using the atmos-dotnet client (GitHub - EMCECS/atmos-dotnet: Automatically exported from code.google.com/p/atmos-dotnet) to run my test and I got a 200 response.

GET https://atmos.ecstestdrive.com/rest/objects?listabletags HTTP/1.1

x-emc-uid: 64c6f9405a144cedb177e35a815f087d/130820690509421904@ecstestdrive.emc.com

x-emc-tags: EAS_Query_ECS

Date: Thu, 07 Sep 2017 14:39:23 GMT

x-emc-signature: tbp6S7DVkqbc3pdEmieGkMYSLM0=

Host: atmos.ecstestdrive.com

HTTP/1.1 200 OK

Date: Thu, 07 Sep 2017 14:39:48 GMT

x-emc-listable-tags:

x-emc-retention-period: 0

x-emc-policy: _int

x-emc-request-id: 0c07c833:15e1b70401e:c906:b

Content-Length: 0

I'd like to try testing with your client if possible.

Ben

56 Posts

September 11th, 2017 06:00

Hi Ben,

The SDK in question is a private C++ one developed by my company. Its basically a wrapper libcurl. So I can't really share it. I was hoping something about the request would be obvious.

I too tried the Java API and got it to work just as you did, although I'm having a bit of a different problem in that my tags aren't showing up when I do nesting. I will see if I can get debug logging for that today.

September 14th, 2017 08:00

Can you execute the request again using ECS Test Drive?  Then, I can pull logs from the ECS to get more information.

56 Posts

September 14th, 2017 09:00

The 503 against ECS Test Drive was caused by not using HTTPS. Changed that, now I'm getting 200 on GET /rest/service but any call on /rest/objects I'm getting a 403:

09/14/2017 11:58:53 (6acc/71c4)       0: DBG: CAtmosArchiveMgr HASH String:

GET

application/octet-stream

Thu, 14 Sep 2017 15:58:53 GMT

/rest/objects

x-emc-limit:1

x-emc-tags:EAS_Query_ECS

x-emc-uid:130894922553786134@ecstestdrive.emc.com

09/14/2017 11:58:53 (6acc/71c4)       0: DBG: CAtmosArchiveMgr KEY String:

565Ujmhzx0TDI1lZYa0+5skLxSmQ1yuwlKGZCMwD

09/14/2017 11:58:53 (6acc/71c4)       0: DBG: CAtmosArchiveMgr SHA1 Signature: M40BLhAJMLcmwPbJ5aiZ11UDQME=

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Hostname was found in DNS cache

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:  Trying 12.7.200.31...

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:TCP_NODELAY set

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Connected to atmos.ecstestdrive.com (12.7.200.31) port 443 (#27)

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:error setting certificate verify locations, continuing anyway:

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:  CAfile: E:\Storfirst\Bin\ca-bundle.crt

  CApath: none

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:SSL re-using session ID

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:SSLv3, TLS handshake, Client hello (1):

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:6:S/O Size:512

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:SSLv3, TLS handshake, Server hello (2):

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:5:S/I Size:86

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:SSLv3, TLS change cipher, Client hello (1):

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:5:S/I Size:1

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:SSLv3, TLS handshake, Finished (20):

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:5:S/I Size:16

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:SSLv3, TLS change cipher, Client hello (1):

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:6:S/O Size:1

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:SSLv3, TLS handshake, Finished (20):

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:6:S/O Size:16

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Server certificate:

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:    subject: C=US; ST=Massachusetts; L=Bedford; O=EMC; OU=Advanced Software Division; CN=*.object.ecstestdrive.com

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:    start date: 2015-12-04 00:00:00 GMT

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:    expire date: 2017-12-02 23:59:59 GMT

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:    issuer: C=US; O=thawte, Inc.; CN=thawte SHA256 SSL CA

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:    SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:2:H/O Message:GET /rest/objects HTTP/1.1

Host: atmos.ecstestdrive.com

Accept: */*

content-type: application/octet-stream

date: Thu, 14 Sep 2017 15:58:53 GMT

x-emc-limit: 1

x-emc-tags: EAS_Query_ECS

x-emc-uid: 130894922553786134@ecstestdrive.emc.com

x-emc-signature: M40BLhAJMLcmwPbJ5aiZ11UDQME=

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:1:H/I Message:HTTP/1.1 403 Forbidden

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Date: Thu, 14 Sep 2017 15:59:05 GMT

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:1:H/I Message:x-emc-request-id: 0c07c833:15e1b70401e:17bf3:0

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Content-Type: text/plain

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Transfer-Encoding: chunked

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:1:H/I Message:

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:3:D/I Size:4

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:3:D/I Size:188

09/14/2017 11:58:53 (6acc/71c4)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Connection #27 to host atmos.ecstestdrive.com left intact

09/14/2017 11:58:53 (6acc/71c4)       0: DBG: CAtmosArchiveMgr CheckRootObject HDR Response: HTTP/1.1 403 Forbidden

Date: Thu, 14 Sep 2017 15:59:05 GMT

x-emc-request-id: 0c07c833:15e1b70401e:17bf3:0

Content-Type: text/plain

Transfer-Encoding: chunked

09/14/2017 11:58:53 (6acc/71c4)       0: DBG: CAtmosArchiveMgr CheckRootObject XML Content Response:

09/14/2017 11:58:53 (6acc/71c4)       1: CAtmosArchiveMgr CheckRootObject Failed - HTTP:403 API Error:1 API String:

09/14/2017 11:58:53 (6acc/71c4)       1: CAtmosArchiveMgr EConnect Failed CheckRootObject for Target "ECS"

September 15th, 2017 06:00

Looks like your x-emc-uid in the request header is wrong.  It should be in the format subtenant-id/uid.


In my example about (using ECS Test Drive), you can see mine is: 64c6f9405a144cedb177e35a815f087d/130820690509421904@ecstestdrive.emc.com


Can you check that?


Ben

September 15th, 2017 09:00

Okay, first thing.  We deleted your previous post to protect sharing your credentials.  Second, the link to generate an Atmos subtenant was accidentally removed from the website.  I apologize for that.  However, after you log in, you can type this into your URL: https://portal.ecstestdrive.com/Credentials/Atmos

That will take you to a page where you can generate your new subtenant ID.

Ben

110 Posts

September 15th, 2017 09:00

Please do not send or post secret keys.  This presents a security concern for the owner of the account as well as the ECS Test Drive system.

56 Posts

September 15th, 2017 11:00

Now I get a 400 error on POST /rest/objects:

09/15/2017 14:28:11 (65e0/29c8)       0: DBG: CAtmosArchiveMgr HASH String:

POST

application/octet-stream

Fri, 15 Sep 2017 18:28:11 GMT

/rest/objects

x-emc-listable-meta:EAS_Query_ECS=1

x-emc-uid: xxxx

x-emc-wschecksum:xxxx

09/15/2017 14:28:11 (65e0/29c8)       0: DBG: CAtmosArchiveMgr KEY String: xxxx

09/15/2017 14:28:11 (65e0/29c8)       0: DBG: CAtmosArchiveMgr SHA1 Signature:  xxxx

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Found bundle for host atmos.ecstestdrive.com: 0x5cab2600

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Re-using existing connection! (#6) with host atmos.ecstestdrive.com

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Connected to atmos.ecstestdrive.com (12.7.200.31) port 443 (#6)

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:2:H/O Message:POST /rest/objects HTTP/1.1

Host: atmos.ecstestdrive.com

Accept: */*

content-type: application/octet-stream

date: Fri, 15 Sep 2017 18:28:11 GMT

x-emc-listable-meta: EAS_Query_ECS=1

x-emc-uid: xxxx

x-emc-wschecksum: xxxx

x-emc-signature: xxxx

Content-Length: 0

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:1:H/I Message:HTTP/1.1 400 Bad Request

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Date: Fri, 15 Sep 2017 18:28:22 GMT

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:1:H/I Message:x-emc-request-id: 0c07c835:15e1b9efa69:1a3d8:0

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Content-Type: text/plain

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:1:H/I Message:Transfer-Encoding: chunked

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:0:Txt Message:HTTP error before end of send, stop sending

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:1:H/I Message:

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:3:D/I Size:4

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:3:D/I Size:244

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:0:Txt Message:Closing connection 6

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:0:Txt Message:SSLv3, TLS alert, Client hello (1):

09/15/2017 14:28:11 (65e0/29c8)       0: HTTPClient Dbg Callback: Type:6:S/O Size:2

09/15/2017 14:28:11 (65e0/29c8)       0: DBG: CAtmosArchiveMgr CheckRootObject HDR Response: HTTP/1.1 400 Bad Request

Date: Fri, 15 Sep 2017 18:28:22 GMT

x-emc-request-id: 0c07c835:15e1b9efa69:1a3d8:0

Content-Type: text/plain

Transfer-Encoding: chunked

09/15/2017 14:28:11 (65e0/29c8)       0: DBG: CAtmosArchiveMgr CheckRootObject XML Content Response:

09/15/2017 14:28:11 (65e0/29c8)       1: CAtmosArchiveMgr CheckRootObject Failed - HTTP:400 API Error:1 API String:

09/15/2017 14:28:11 (65e0/29c8)       1: CAtmosArchiveMgr EConnect Failed CheckRootObject for Target "ECS"

56 Posts

September 19th, 2017 10:00

Bingo, that was it. Thanks for the help!

No Events found!

Top