Re: Terremark ecloud support
Andrew - not sure if this would help, I attached a file with sample REST calls to Terremark API current version. It includes URLs and required headers. I replaced all identifiers, tokens, keys with hidden. Let me know if I can help with any other info. Thanks for that. I've attached the information to the issue [1]. ap [1] https://issues.apache.org/jira/browse/JCLOUDS-230?focusedCommentId=13758474page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13758474
Re: Terremark ecloud support
I actually met with Victor from Terremark recently - he was expressing an interest in working on getting ecloud back working again, but I haven't heard anything from him since I met him on Thursday... A. On Wed, Sep 4, 2013 at 3:53 PM, Andrew Phillips andr...@apache.org wrote: Andrew - not sure if this would help, I attached a file with sample REST calls to Terremark API current version. It includes URLs and required headers. I replaced all identifiers, tokens, keys with hidden. Let me know if I can help with any other info. Thanks for that. I've attached the information to the issue [1]. ap [1] https://issues.apache.org/**jira/browse/JCLOUDS-230?** focusedCommentId=13758474**page=com.atlassian.jira.** plugin.system.issuetabpanels:**comment-tabpanel#comment-**13758474https://issues.apache.org/jira/browse/JCLOUDS-230?focusedCommentId=13758474page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13758474
Re: Terremark ecloud support
The following is the request/response wire trace retrieved from the cloud explorer. This might give some info on the URL and structure of req/resp being used. Thanks for that. It does indeed, though, look very much like an explorer-specific URL, rather than the regular login URL for the API. Were you able to run the compute-basics example? ap PS: Thanks for trying to access to an account!
Re: Terremark ecloud support
Just to follow up: according to the vCloud Express (of which jclouds assumes eCloud is a flavour) documentation [1], the structure of the login request is as follows: POST https://{Terremark URI}/login As per the output of your Gist (thanks for that!), on of the available Terremark URIs is https://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8 so the URL at least looks correct. There are two potential differences, though. 1) The documentation mentions sending Content-Length: 0 as a header, which I can't see in the Gist 2) There may have been an issue with the basic auth encoding of the password? Could you try, using cURL or a similar tool, to make the login request as outlined in the documentation, i.e. POST https://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8/login Authorization: Basic {username:password} Content-Length: 0 and (just to see if it makes any difference) POST https://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8/login HTTP/1.1 Authorization: Basic {username:password} Content-Length: 0 and POST https://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8/login HTTP/1.1 Authorization: Basic {username:password} If none of these work (even the one as described in Terremark's documentation), I'd suggest raising a support request with Terremark to figure out what the correct login request for your account should be. Regards ap [1] https://community.vcloudexpress.terremark.com/en-us/product_docs/m/vcefiles/1639.aspx
Re: Terremark ecloud support
Hi Andrew , I wanted to quickly try the three options you provided. However the url's https://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8; https://services.enterprisecloud.terremark.com/api/version; are returning a 404 error. I talked to the terremark support regarding login failure and They want me to follow the API updates and information at the following link: http://support.theenterprisecloud.com/kb/default.asp?id=533Lang=1SID= In the above link, I just noticed that today is the date for deprecation for couple of the supported API versions. Guessing that the 404 error might be due to the deprecation... Rgds Jai On Sat, Aug 3, 2013 at 7:47 AM, Andrew Phillips andr...@apache.org wrote: Just to follow up: according to the vCloud Express (of which jclouds assumes eCloud is a flavour) documentation [1], the structure of the login request is as follows: POST https://{Terremark URI}/login As per the output of your Gist (thanks for that!), on of the available Terremark URIs is https://services.**enterprisecloud.terremark.com/**api/v0.8b-ext2.8https://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8 so the URL at least looks correct. There are two potential differences, though. 1) The documentation mentions sending Content-Length: 0 as a header, which I can't see in the Gist 2) There may have been an issue with the basic auth encoding of the password? Could you try, using cURL or a similar tool, to make the login request as outlined in the documentation, i.e. POST https://services.**enterprisecloud.terremark.com/** api/v0.8b-ext2.8/loginhttps://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8/login Authorization: Basic {username:password} Content-Length: 0 and (just to see if it makes any difference) POST https://services.**enterprisecloud.terremark.com/** api/v0.8b-ext2.8/loginhttps://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8/loginHTTP/1.1 Authorization: Basic {username:password} Content-Length: 0 and POST https://services.**enterprisecloud.terremark.com/** api/v0.8b-ext2.8/loginhttps://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8/loginHTTP/1.1 Authorization: Basic {username:password} If none of these work (even the one as described in Terremark's documentation), I'd suggest raising a support request with Terremark to figure out what the correct login request for your account should be. Regards ap [1] https://community.**vcloudexpress.terremark.com/** en-us/product_docs/m/vcefiles/**1639.aspxhttps://community.vcloudexpress.terremark.com/en-us/product_docs/m/vcefiles/1639.aspx
Re: Terremark ecloud support
Ah, interesting. Thanks for digging this up. Without having read the documentation in any great detail, I would guess that eCloud now has its own API that differs from the vCloud Express API - certainly, the response to the /versions call is quite different now. If this turns out to be correct (it would be worth checking with Terremark support whether eCloud does, or does not, provide a vCloud Express compatible API) the jclouds provider would probably have to be modified to suit the new API. ap
Re: Terremark ecloud support
Andrew, I might have difficulty getting the account access because of privacy concerns. The following is the request/response wire trace retrieved from the cloud explorer. This might give some info on the URL and structure of req/resp being used. Request URL: https://services.enterprisecloud.terremark.com/cloudapi/explorer/ApiExplorer/ValidateCredentials Request Method: POST Status Code: HTTP/1.1 200 OK Request Headers 22:47:58.000 X-Requested-With:XMLHttpRequestUser-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0Referer: https://services.enterprisecloud.terremark.com/cloudapi/explorerPragma:no-cacheHost:services.enterprisecloud.terremark.comContent-Type:application/json; charset=UTF-8Content-Length:183Connection:keep-aliveCache-Control:no-cacheAccept-Language:en-US,en;q=0.5Accept-Encoding:gzip, deflateAccept:*/* Request Body {AuthenticationType:basic,Username:myusername,Password:password,PublicKey:,PrivateKey:,HashAlgorithm:SHA1,Version:2013-02-01,IsSpec:false} Response Headers Pragma:no-cacheExpires:-1Date:Sat, 03 Aug 2013 05:47:59 GMTContent-Type:application/json; charset=utf-8Content-Length:167Cache-Control:no-cache, must-revalidate,proxy-revalidate Response Body {IsValid:true,UserName:myusername,LastName:lName,FirstName:fName,OrganizationName:org,IsSpec:false,Version:2013-02-01} Rgds Jai On Thu, Aug 1, 2013 at 11:55 AM, Jai M jaiganes...@gmail.com wrote: Thanks Andrew for the input. I will try to run the compute-basics example and let you know. I will also work on trying to get a test account for this purpose. Thanks Jai On Thu, Aug 1, 2013 at 11:37 AM, Andrew Phillips andr...@apache.orgwrote: Thanks Andrew. Does this mean there will have to be some rework to the current terremark eCloud support in jclouds ? The reason I am asking is because If the login url has changed, there is a lot of chance for other calls to fail too ? It's hard to say - it depends on what the problem turns out to be. It could be as simple as changing the endpoint in the context. In order to help us figure out what's going on, could you run the compute-basics example [1] against eCloud? I suspect the result will be the same, but then we can use that as a shared test case. As regards priority, once we establish this as a bug we'll first need to create a JIRA issue for this and see if someone from the community picks it up. Obviously, any contribution your organization can make - ideally a pull request, but a test account would be useful, too, will help. ap [1] https://github.com/jclouds/**jclouds-examples/tree/master/** compute-basicshttps://github.com/jclouds/jclouds-examples/tree/master/compute-basics
Re: Terremark ecloud support
Thanks Andrew. Does this mean there will have to be some rework to the current terremark eCloud support in jclouds ? The reason I am asking is because If the login url has changed, there is a lot of chance for other calls to fail too ? It's hard to say - it depends on what the problem turns out to be. It could be as simple as changing the endpoint in the context. In order to help us figure out what's going on, could you run the compute-basics example [1] against eCloud? I suspect the result will be the same, but then we can use that as a shared test case. As regards priority, once we establish this as a bug we'll first need to create a JIRA issue for this and see if someone from the community picks it up. Obviously, any contribution your organization can make - ideally a pull request, but a test account would be useful, too, will help. ap [1] https://github.com/jclouds/jclouds-examples/tree/master/compute-basics
Re: Terremark eCloud
Has the api specification on Terremark deprecated the one used on jclouds ? Also the stack trace shows that the code path for this login is through vCloudExpress implementation. Is this intentional ? Yes, this is intentional: the ECloud compute service is just a slight adapter layer on top of the VCloud service [1]. Could you enable header and wire logging [2] and - after removing any credentials etc. - put those up as a Gist or Pastie? Thanks ap [1] https://github.com/jclouds/jclouds/blob/master/providers/trmk-ecloud/src/main/java/org/jclouds/trmk/ecloud/compute/config/TerremarkECloudComputeServiceContextModule.java [2] http://jclouds.incubator.apache.org/documentation/reference/jclouds-logging/
Re: Terremark eCloud
Yes Andrew, I get the same error. However, there is a cloud explorer link where I can try out the api's directly https://services.enterprisecloud.terremark.com/cloudapi/explorer On this page, on the top right hand side, there is a settings link. This launches a authentication dialog. On this dialog, if I specify the same credentials , I am able to login. On this dialog, I have to select cloud API, Hash Algorithm and the version which are not actually passed while invoking from jclouds. Rgds Jai On Wed, Jul 31, 2013 at 4:29 PM, Andrew Phillips andr...@apache.org wrote: Here is the link to the gist with header wire logging enabled. https://gist.github.com/**jaiganeshm/6126998https://gist.github.com/jaiganeshm/6126998 If you POST to https://services.**enterprisecloud.terremark.com/** api/v0.8b-ext2.8/loginhttps://services.enterprisecloud.terremark.com/api/v0.8b-ext2.8/loginusing your credentials via basic auth, do you get the same error? ap