You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cloudstack.apache.org by Sebastien Goasguen <ru...@gmail.com> on 2013/07/08 17:48:06 UTC

Re: CS4.1 S3 AWS, problem with End Point Reference

Prachi, I am copying you on this thread, you might have some ideas.

thanks,

-sebastien

On Jun 28, 2013, at 8:11 PM, Michael Lukzak <mi...@vp.pl> wrote:

> I do fresh install (I used RPMs from website).
> EC2 and S3 are enabled (I turned off and turned on).
> EC2 works, but S3 not.
> 
> Reponse from boto:
> boto.exception.BotoServerError: BotoServerError: 500 Internal Server Error
> <soapenv:Reason xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Text xml:lang="en-US">The service cannot be found for the endpoint reference (EPR) /awsapi/services/AmazonEC2/?max-keys=0</soapenv:Text></soapenv:Reason>
> 
> So I don't know next I should do...
> I should try too change hosts or serviceEndpoint in cloud-bridge.properties?
> But what serviceEndPoint should be?
> I tried to use endpoint like /awsapi/rest/AmazonS3 but still the same.
> 
> Can someone reproduce this steps and check if S3 works ?
> 
> Best regards,
> Michael
> 
>> Yes, I tested using boto.
>> I run two examples from doc
>> https://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.1.0/html/Installation_Guide/aws-api-examples.html
> 
>> EC2 test script works ok, without error.
>> But in S3 I get a error, logs shows
> 
>> cze 28, 2013 11:08:44 PM org.apache.axis2.engine.AxisEngine receive
>> SEVERE: The service cannot be found for the endpoint reference (EPR) /awsapi/services/AmazonEC2/
>> org.apache.axis2.AxisFault: The service cannot be found for the
>> endpoint reference (EPR) /awsapi/services/AmazonEC2/
> 
>> I tried to use other path like as You say, but error is still the same.
> 
>> host=http://localhost:7080/awsapi/rest/AmazonS3
>> storage.root=/mnt/S3
>> storage.multipartDir=__multipart__uploads__
>> bucket.dns=false
>> serviceEndpoint=localhost:7080
> 
>> I read this doc too, (this is for older version of CS) and still no luck.
>> https://cwiki.apache.org/CLOUDSTACK/s3-api-in-cloudstack.html
> 
>> Any other ideas?
> 
>> BTW, my CS4.1 was build from source with nonOSS.
> 
>> Michael
> 
> 
> 
> 
>>> On Jun 28, 2013, at 3:01 PM, Michael Lukzak <mi...@vp.pl> wrote:
> 
>>>> Maybe someone have idea why S3 fails with error EPR?
>>>> On documentation there is nothing about EPR.
>>>> I'm doing exactly like documentations says. Any clue?
>>>> 
> 
>>> How do you test the service ? boto ?
> 
>>> in your properties file it looks like the host is localhost:7080/awsapi
> 
>>> but you tried to get awsapi/rest/AmazonS3
> 
>>> I think you need to fix the properties file.
> 
>>> can you try,
> 
>>> -sebastien
> 
>>>> Best regards,
>>>> Michael
>>>> 
>>>>> Hi,
>>>> 
>>>>> I have tried to configure Amazon S3 in CS4.1 but I have a problem with
>>>>> one error. API AmazonEC2 works (tested), but S3 not.
>>>> 
>>>>> My steps
>>>>> 1) I enabled S3 API (from UI)
>>>>> 2) mkdir -p /mnt/S3 and owned to cloud.cloud
>>>>> 3) In cloud-bridge.properties I set storage.root to /mnt/S3
>>>> 
>>>>> Now looks that:
>>>>> host=http://localhost:7080/awsapi
>>>>> storage.root=/mnt/S3
>>>>> storage.multipartDir=__multipart__uploads__
>>>>> bucket.dns=false
>>>>> serviceEndpoint=localhost:7080
>>>> 
>>>>> 4) CS was restarted
>>>>> 5) I generated new api key and secret key for user
>>>>> 6) New private key and self-signet cert was generated and saved
>>>>> 7) Using cloudstack-aws-api-register I registered user, all ok
>>>> 
>>>>> And now I have a problem.
>>>>> When I try to open a link
>>>> 
>>>>> http://[MY_IP]:7080/awsapi/rest/AmazonS3/
>>>> 
>>>>> I will get error
>>>> 
>>>>> <soapenv:Reason
>>>>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
>>>>> <soapenv:Text xml:lang="en-US">
>>>>>             The service cannot be found for the endpoint
>>>>> reference (EPR) /awsapi/services/AmazonEC2/
>>>>> </soapenv:Text>
>>>>> </soapenv:Reason>
>>>> 
>>>>> I can't find what is wrong.
>>>> 
>>>>> In catalina.out I found only this
>>>>> czw 26, 2013 8:26:17 PM org.apache.axis2.engine.AxisEngine receive
>>>>> SEVERE: The service cannot be found for the endpoint reference (EPR) /awsapi/services/AmazonEC2/
>>>>> org.apache.axis2.AxisFault: The service cannot be found for the
>>>>> endpoint reference (EPR) /awsapi/services/AmazonEC2/
>>>>>       at
>>>>> org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65)
>>>>>       at org.apache.axis2.engine.Phase.invoke(Phase.java:334)
>>>>>       at
>>>>> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
>>>>>       at
>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
>>>>>       at
>>>>> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135)
>>>>>       at
>>>>> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130)
>>>>>       at
>>>>> org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:825)
>>>>>       at
>>>>> org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:271)
>>>>>       at
>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>       at
>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>       at
>>>>> com.cloud.bridge.service.EC2MainServlet.doGetOrPost(EC2MainServlet.java:114)
>>>>>       at
>>>>> com.cloud.bridge.service.EC2MainServlet.doGet(EC2MainServlet.java:84)
>>>>>       at
>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>       at
>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>       at
>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>       at
>>>>> org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:415)
>>>>>       at
>>>>> org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
>>>>>       at
>>>>> org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
>>>>>       at
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
>>>>>       at
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>>       at
>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
>>>>>       at
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>>       at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>>>       at
>>>>> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
>>>>>       at
>>>>> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
>>>>>       at
>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
>>>>>       at
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>       at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>       at java.lang.Thread.run(Thread.java:722)
>>>> 
> 
> 
> 
> 


RE: CS4.1 S3 AWS, problem with End Point Reference

Posted by Prachi Damle <Pr...@citrix.com>.
>>@prachi: we don't need to register the users for the EC2 query interface correct ? enabling the service in the global config should be all it takes ?

That's right. No registration needed to use Query API

-----Original Message-----
From: Sebastien Goasguen [mailto:runseb@gmail.com] 
Sent: Tuesday, July 16, 2013 8:54 AM
To: Prachi Damle
Cc: miszko@vp.pl; users@cloudstack.apache.org
Subject: Re: CS4.1 S3 AWS, problem with End Point Reference

Michael,

To be honest the S3 interface has been little used. Especially with things like Ceph, gluster and RiackCS that offer an S3 interface, it may not make sense to keep that interface.

That said I am trying to look at it.

@prachi: we don't need to register the users for the EC2 query interface correct ? enabling the service in the global config should be all it takes ?

-Sebastien

On Jul 8, 2013, at 3:16 PM, Prachi Damle <Pr...@citrix.com> wrote:

> Hi Michael,
> 
> I haven't worked with S3 API, I have woked on EC2 only.  But if you are facing any errors, I suggest to take a look at following log files under your installation:
> awsapi.log / catalina.out
> 
> These files should show more information about why your requests fail.
> 
> Prachi
> 
> -----Original Message-----
> From: Michael Lukzak [mailto:miszko@vp.pl]
> Sent: Monday, July 08, 2013 11:53 AM
> To: Sebastien Goasguen
> Cc: users@cloudstack.apache.org; Prachi Damle
> Subject: Re: CS4.1 S3 AWS, problem with End Point Reference
> 
> Hi!
> 
> I do some steps. I installed a fresh OS and CS v4.0.2 (from RPS).
> After configurations (amazon ec2 and s3 are enabled, cloud-bridge 
> configured, etc.) S3 works. When I go to adress
> http://[ip]:7080/awsapi/rest/AmazonS3 I got response "Bad request" 
> which is good answer ;)
> 
> Boto works, and I can make bucket, read and write file.
> 
> When I do the same steps but I use v4.1 there is a problem with endpoint. So it seems that there is only problem with v4.1.
> 
> BTW anyone has a good expierence with S3 Broswer or other similiar software?
> I tried use this S3 Broswer but I stuck on some error.
> 
> S3 Broswer don't want to talk with custom endpoint if he looks like 
> http://[ip]:7080/awsapi/rest/AmazonS3
> So I proxied it to http://[ip] and S3 Broswer start communicating.
> Now I have problem with cert keys, but there is a progress :) I write some news if I go further.
> 
> --
> Michael
> 
>> Prachi, I am copying you on this thread, you might have some ideas.
> 
>> thanks,
> 
>> -sebastien
> 
>> On Jun 28, 2013, at 8:11 PM, Michael Lukzak <mi...@vp.pl> wrote:
> 
>>> I do fresh install (I used RPMs from website).
>>> EC2 and S3 are enabled (I turned off and turned on).
>>> EC2 works, but S3 not.
> 
>>> Reponse from boto:
>>> boto.exception.BotoServerError: BotoServerError: 500 Internal Server 
>>> Error <soapenv:Reason 
>>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Tex
>>> t xml:lang="en-US">The service cannot be found for the endpoint 
>>> reference (EPR) 
>>> /awsapi/services/AmazonEC2/?max-keys=0</soapenv:Text></soapenv:Reaso
>>> n
>>>> 
> 
>>> So I don't know next I should do...
>>> I should try too change hosts or serviceEndpoint in cloud-bridge.properties?
>>> But what serviceEndPoint should be?
>>> I tried to use endpoint like /awsapi/rest/AmazonS3 but still the same.
> 
>>> Can someone reproduce this steps and check if S3 works ?
> 
>>> Best regards,
>>> Michael
> 
>>>> Yes, I tested using boto.
>>>> I run two examples from doc
>>>> https://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.1.0/ht
>>>> m l/Installation_Guide/aws-api-examples.html
> 
>>>> EC2 test script works ok, without error.
>>>> But in S3 I get a error, logs shows
> 
>>>> cze 28, 2013 11:08:44 PM org.apache.axis2.engine.AxisEngine receive
>>>> SEVERE: The service cannot be found for the endpoint reference 
>>>> (EPR) /awsapi/services/AmazonEC2/
>>>> org.apache.axis2.AxisFault: The service cannot be found for the 
>>>> endpoint reference (EPR) /awsapi/services/AmazonEC2/
> 
>>>> I tried to use other path like as You say, but error is still the same.
> 
>>>> host=http://localhost:7080/awsapi/rest/AmazonS3
>>>> storage.root=/mnt/S3
>>>> storage.multipartDir=__multipart__uploads__
>>>> bucket.dns=false
>>>> serviceEndpoint=localhost:7080
> 
>>>> I read this doc too, (this is for older version of CS) and still no luck.
>>>> https://cwiki.apache.org/CLOUDSTACK/s3-api-in-cloudstack.html
> 
>>>> Any other ideas?
> 
>>>> BTW, my CS4.1 was build from source with nonOSS.
> 
>>>> Michael
> 
> 
> 
> 
>>>>> On Jun 28, 2013, at 3:01 PM, Michael Lukzak <mi...@vp.pl> wrote:
> 
>>>>>> Maybe someone have idea why S3 fails with error EPR?
>>>>>> On documentation there is nothing about EPR.
>>>>>> I'm doing exactly like documentations says. Any clue?
> 
> 
>>>>> How do you test the service ? boto ?
> 
>>>>> in your properties file it looks like the host is 
>>>>> localhost:7080/awsapi
> 
>>>>> but you tried to get awsapi/rest/AmazonS3
> 
>>>>> I think you need to fix the properties file.
> 
>>>>> can you try,
> 
>>>>> -sebastien
> 
>>>>>> Best regards,
>>>>>> Michael
> 
>>>>>>> Hi,
> 
>>>>>>> I have tried to configure Amazon S3 in CS4.1 but I have a 
>>>>>>> problem with one error. API AmazonEC2 works (tested), but S3 not.
> 
>>>>>>> My steps
>>>>>>> 1) I enabled S3 API (from UI)
>>>>>>> 2) mkdir -p /mnt/S3 and owned to cloud.cloud
>>>>>>> 3) In cloud-bridge.properties I set storage.root to /mnt/S3
> 
>>>>>>> Now looks that:
>>>>>>> host=http://localhost:7080/awsapi
>>>>>>> storage.root=/mnt/S3
>>>>>>> storage.multipartDir=__multipart__uploads__
>>>>>>> bucket.dns=false
>>>>>>> serviceEndpoint=localhost:7080
> 
>>>>>>> 4) CS was restarted
>>>>>>> 5) I generated new api key and secret key for user
>>>>>>> 6) New private key and self-signet cert was generated and saved
>>>>>>> 7) Using cloudstack-aws-api-register I registered user, all ok
> 
>>>>>>> And now I have a problem.
>>>>>>> When I try to open a link
> 
>>>>>>> http://[MY_IP]:7080/awsapi/rest/AmazonS3/
> 
>>>>>>> I will get error
> 
>>>>>>> <soapenv:Reason
>>>>>>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
>>>>>>> <soapenv:Text xml:lang="en-US">
>>>>>>>            The service cannot be found for the endpoint 
>>>>>>> reference (EPR) /awsapi/services/AmazonEC2/ </soapenv:Text> 
>>>>>>> </soapenv:Reason>
> 
>>>>>>> I can't find what is wrong.
> 
>>>>>>> In catalina.out I found only this czw 26, 2013 8:26:17 PM 
>>>>>>> org.apache.axis2.engine.AxisEngine receive
>>>>>>> SEVERE: The service cannot be found for the endpoint reference
>>>>>>> (EPR) /awsapi/services/AmazonEC2/
>>>>>>> org.apache.axis2.AxisFault: The service cannot be found for the 
>>>>>>> endpoint reference (EPR) /awsapi/services/AmazonEC2/
>>>>>>>      at
>>>>>>> org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65)
>>>>>>>      at org.apache.axis2.engine.Phase.invoke(Phase.java:334)
>>>>>>>      at
>>>>>>> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
>>>>>>>      at
>>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
>>>>>>>      at
>>>>>>> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135)
>>>>>>>      at
>>>>>>> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130)
>>>>>>>      at
>>>>>>> org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:825)
>>>>>>>      at
>>>>>>> org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:271)
>>>>>>>      at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>>      at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>>>      at
>>>>>>> com.cloud.bridge.service.EC2MainServlet.doGetOrPost(EC2MainServlet.java:114)
>>>>>>>      at
>>>>>>> com.cloud.bridge.service.EC2MainServlet.doGet(EC2MainServlet.java:84)
>>>>>>>      at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>>      at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:415)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
>>>>>>>      at
>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>>>>      at
>>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>>>>      at
>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>>>>>      at
>>>>>>> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
>>>>>>>      at
>>>>>>> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
>>>>>>>      at
>>>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
>>>>>>>      at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>      at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>      at java.lang.Thread.run(Thread.java:722)
> 
> 
> 
> 
> 
> 
> 


Re: CS4.1 S3 AWS, problem with End Point Reference

Posted by Sebastien Goasguen <ru...@gmail.com>.
Michael,

To be honest the S3 interface has been little used. Especially with things like Ceph, gluster and RiackCS that offer an S3 interface, it may not make sense to keep that interface.

That said I am trying to look at it.

@prachi: we don't need to register the users for the EC2 query interface correct ? enabling the service in the global config should be all it takes ?

-Sebastien

On Jul 8, 2013, at 3:16 PM, Prachi Damle <Pr...@citrix.com> wrote:

> Hi Michael,
> 
> I haven't worked with S3 API, I have woked on EC2 only.  But if you are facing any errors, I suggest to take a look at following log files under your installation:
> awsapi.log / catalina.out
> 
> These files should show more information about why your requests fail.
> 
> Prachi
> 
> -----Original Message-----
> From: Michael Lukzak [mailto:miszko@vp.pl] 
> Sent: Monday, July 08, 2013 11:53 AM
> To: Sebastien Goasguen
> Cc: users@cloudstack.apache.org; Prachi Damle
> Subject: Re: CS4.1 S3 AWS, problem with End Point Reference
> 
> Hi!
> 
> I do some steps. I installed a fresh OS and CS v4.0.2 (from RPS).
> After configurations (amazon ec2 and s3 are enabled, cloud-bridge configured, etc.) S3 works. When I go to adress
> http://[ip]:7080/awsapi/rest/AmazonS3 I got response "Bad request" which is good answer ;)
> 
> Boto works, and I can make bucket, read and write file.
> 
> When I do the same steps but I use v4.1 there is a problem with endpoint. So it seems that there is only problem with v4.1.
> 
> BTW anyone has a good expierence with S3 Broswer or other similiar software?
> I tried use this S3 Broswer but I stuck on some error.
> 
> S3 Broswer don't want to talk with custom endpoint if he looks like http://[ip]:7080/awsapi/rest/AmazonS3
> So I proxied it to http://[ip] and S3 Broswer start communicating.
> Now I have problem with cert keys, but there is a progress :) I write some news if I go further.
> 
> --
> Michael
> 
>> Prachi, I am copying you on this thread, you might have some ideas.
> 
>> thanks,
> 
>> -sebastien
> 
>> On Jun 28, 2013, at 8:11 PM, Michael Lukzak <mi...@vp.pl> wrote:
> 
>>> I do fresh install (I used RPMs from website).
>>> EC2 and S3 are enabled (I turned off and turned on).
>>> EC2 works, but S3 not.
> 
>>> Reponse from boto:
>>> boto.exception.BotoServerError: BotoServerError: 500 Internal Server 
>>> Error <soapenv:Reason 
>>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Text 
>>> xml:lang="en-US">The service cannot be found for the endpoint 
>>> reference (EPR) 
>>> /awsapi/services/AmazonEC2/?max-keys=0</soapenv:Text></soapenv:Reason
>>>> 
> 
>>> So I don't know next I should do...
>>> I should try too change hosts or serviceEndpoint in cloud-bridge.properties?
>>> But what serviceEndPoint should be?
>>> I tried to use endpoint like /awsapi/rest/AmazonS3 but still the same.
> 
>>> Can someone reproduce this steps and check if S3 works ?
> 
>>> Best regards,
>>> Michael
> 
>>>> Yes, I tested using boto.
>>>> I run two examples from doc
>>>> https://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.1.0/htm
>>>> l/Installation_Guide/aws-api-examples.html
> 
>>>> EC2 test script works ok, without error.
>>>> But in S3 I get a error, logs shows
> 
>>>> cze 28, 2013 11:08:44 PM org.apache.axis2.engine.AxisEngine receive
>>>> SEVERE: The service cannot be found for the endpoint reference (EPR) 
>>>> /awsapi/services/AmazonEC2/
>>>> org.apache.axis2.AxisFault: The service cannot be found for the 
>>>> endpoint reference (EPR) /awsapi/services/AmazonEC2/
> 
>>>> I tried to use other path like as You say, but error is still the same.
> 
>>>> host=http://localhost:7080/awsapi/rest/AmazonS3
>>>> storage.root=/mnt/S3
>>>> storage.multipartDir=__multipart__uploads__
>>>> bucket.dns=false
>>>> serviceEndpoint=localhost:7080
> 
>>>> I read this doc too, (this is for older version of CS) and still no luck.
>>>> https://cwiki.apache.org/CLOUDSTACK/s3-api-in-cloudstack.html
> 
>>>> Any other ideas?
> 
>>>> BTW, my CS4.1 was build from source with nonOSS.
> 
>>>> Michael
> 
> 
> 
> 
>>>>> On Jun 28, 2013, at 3:01 PM, Michael Lukzak <mi...@vp.pl> wrote:
> 
>>>>>> Maybe someone have idea why S3 fails with error EPR?
>>>>>> On documentation there is nothing about EPR.
>>>>>> I'm doing exactly like documentations says. Any clue?
> 
> 
>>>>> How do you test the service ? boto ?
> 
>>>>> in your properties file it looks like the host is 
>>>>> localhost:7080/awsapi
> 
>>>>> but you tried to get awsapi/rest/AmazonS3
> 
>>>>> I think you need to fix the properties file.
> 
>>>>> can you try,
> 
>>>>> -sebastien
> 
>>>>>> Best regards,
>>>>>> Michael
> 
>>>>>>> Hi,
> 
>>>>>>> I have tried to configure Amazon S3 in CS4.1 but I have a problem 
>>>>>>> with one error. API AmazonEC2 works (tested), but S3 not.
> 
>>>>>>> My steps
>>>>>>> 1) I enabled S3 API (from UI)
>>>>>>> 2) mkdir -p /mnt/S3 and owned to cloud.cloud
>>>>>>> 3) In cloud-bridge.properties I set storage.root to /mnt/S3
> 
>>>>>>> Now looks that:
>>>>>>> host=http://localhost:7080/awsapi
>>>>>>> storage.root=/mnt/S3
>>>>>>> storage.multipartDir=__multipart__uploads__
>>>>>>> bucket.dns=false
>>>>>>> serviceEndpoint=localhost:7080
> 
>>>>>>> 4) CS was restarted
>>>>>>> 5) I generated new api key and secret key for user
>>>>>>> 6) New private key and self-signet cert was generated and saved
>>>>>>> 7) Using cloudstack-aws-api-register I registered user, all ok
> 
>>>>>>> And now I have a problem.
>>>>>>> When I try to open a link
> 
>>>>>>> http://[MY_IP]:7080/awsapi/rest/AmazonS3/
> 
>>>>>>> I will get error
> 
>>>>>>> <soapenv:Reason
>>>>>>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
>>>>>>> <soapenv:Text xml:lang="en-US">
>>>>>>>            The service cannot be found for the endpoint 
>>>>>>> reference (EPR) /awsapi/services/AmazonEC2/ </soapenv:Text> 
>>>>>>> </soapenv:Reason>
> 
>>>>>>> I can't find what is wrong.
> 
>>>>>>> In catalina.out I found only this czw 26, 2013 8:26:17 PM 
>>>>>>> org.apache.axis2.engine.AxisEngine receive
>>>>>>> SEVERE: The service cannot be found for the endpoint reference 
>>>>>>> (EPR) /awsapi/services/AmazonEC2/
>>>>>>> org.apache.axis2.AxisFault: The service cannot be found for the 
>>>>>>> endpoint reference (EPR) /awsapi/services/AmazonEC2/
>>>>>>>      at
>>>>>>> org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65)
>>>>>>>      at org.apache.axis2.engine.Phase.invoke(Phase.java:334)
>>>>>>>      at
>>>>>>> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
>>>>>>>      at
>>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
>>>>>>>      at
>>>>>>> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135)
>>>>>>>      at
>>>>>>> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130)
>>>>>>>      at
>>>>>>> org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:825)
>>>>>>>      at
>>>>>>> org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:271)
>>>>>>>      at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>>      at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>>>      at
>>>>>>> com.cloud.bridge.service.EC2MainServlet.doGetOrPost(EC2MainServlet.java:114)
>>>>>>>      at
>>>>>>> com.cloud.bridge.service.EC2MainServlet.doGet(EC2MainServlet.java:84)
>>>>>>>      at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>>      at
>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:415)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
>>>>>>>      at
>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>>>>      at
>>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
>>>>>>>      at
>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>>>>      at
>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>>>>>      at
>>>>>>> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
>>>>>>>      at
>>>>>>> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
>>>>>>>      at
>>>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
>>>>>>>      at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>      at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>      at java.lang.Thread.run(Thread.java:722)
> 
> 
> 
> 
> 
> 
> 


RE: CS4.1 S3 AWS, problem with End Point Reference

Posted by Prachi Damle <Pr...@citrix.com>.
Hi Michael,

I haven't worked with S3 API, I have woked on EC2 only.  But if you are facing any errors, I suggest to take a look at following log files under your installation:
awsapi.log / catalina.out

These files should show more information about why your requests fail.

Prachi

-----Original Message-----
From: Michael Lukzak [mailto:miszko@vp.pl] 
Sent: Monday, July 08, 2013 11:53 AM
To: Sebastien Goasguen
Cc: users@cloudstack.apache.org; Prachi Damle
Subject: Re: CS4.1 S3 AWS, problem with End Point Reference

Hi!

I do some steps. I installed a fresh OS and CS v4.0.2 (from RPS).
After configurations (amazon ec2 and s3 are enabled, cloud-bridge configured, etc.) S3 works. When I go to adress
http://[ip]:7080/awsapi/rest/AmazonS3 I got response "Bad request" which is good answer ;)

Boto works, and I can make bucket, read and write file.

When I do the same steps but I use v4.1 there is a problem with endpoint. So it seems that there is only problem with v4.1.

BTW anyone has a good expierence with S3 Broswer or other similiar software?
I tried use this S3 Broswer but I stuck on some error.

S3 Broswer don't want to talk with custom endpoint if he looks like http://[ip]:7080/awsapi/rest/AmazonS3
So I proxied it to http://[ip] and S3 Broswer start communicating.
Now I have problem with cert keys, but there is a progress :) I write some news if I go further.

--
Michael

> Prachi, I am copying you on this thread, you might have some ideas.

> thanks,

> -sebastien

> On Jun 28, 2013, at 8:11 PM, Michael Lukzak <mi...@vp.pl> wrote:

>> I do fresh install (I used RPMs from website).
>> EC2 and S3 are enabled (I turned off and turned on).
>> EC2 works, but S3 not.

>> Reponse from boto:
>> boto.exception.BotoServerError: BotoServerError: 500 Internal Server 
>> Error <soapenv:Reason 
>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Text 
>> xml:lang="en-US">The service cannot be found for the endpoint 
>> reference (EPR) 
>> /awsapi/services/AmazonEC2/?max-keys=0</soapenv:Text></soapenv:Reason
>> >

>> So I don't know next I should do...
>> I should try too change hosts or serviceEndpoint in cloud-bridge.properties?
>> But what serviceEndPoint should be?
>> I tried to use endpoint like /awsapi/rest/AmazonS3 but still the same.

>> Can someone reproduce this steps and check if S3 works ?

>> Best regards,
>> Michael

>>> Yes, I tested using boto.
>>> I run two examples from doc
>>> https://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.1.0/htm
>>> l/Installation_Guide/aws-api-examples.html

>>> EC2 test script works ok, without error.
>>> But in S3 I get a error, logs shows

>>> cze 28, 2013 11:08:44 PM org.apache.axis2.engine.AxisEngine receive
>>> SEVERE: The service cannot be found for the endpoint reference (EPR) 
>>> /awsapi/services/AmazonEC2/
>>> org.apache.axis2.AxisFault: The service cannot be found for the 
>>> endpoint reference (EPR) /awsapi/services/AmazonEC2/

>>> I tried to use other path like as You say, but error is still the same.

>>> host=http://localhost:7080/awsapi/rest/AmazonS3
>>> storage.root=/mnt/S3
>>> storage.multipartDir=__multipart__uploads__
>>> bucket.dns=false
>>> serviceEndpoint=localhost:7080

>>> I read this doc too, (this is for older version of CS) and still no luck.
>>> https://cwiki.apache.org/CLOUDSTACK/s3-api-in-cloudstack.html

>>> Any other ideas?

>>> BTW, my CS4.1 was build from source with nonOSS.

>>> Michael




>>>> On Jun 28, 2013, at 3:01 PM, Michael Lukzak <mi...@vp.pl> wrote:

>>>>> Maybe someone have idea why S3 fails with error EPR?
>>>>> On documentation there is nothing about EPR.
>>>>> I'm doing exactly like documentations says. Any clue?


>>>> How do you test the service ? boto ?

>>>> in your properties file it looks like the host is 
>>>> localhost:7080/awsapi

>>>> but you tried to get awsapi/rest/AmazonS3

>>>> I think you need to fix the properties file.

>>>> can you try,

>>>> -sebastien

>>>>> Best regards,
>>>>> Michael

>>>>>> Hi,

>>>>>> I have tried to configure Amazon S3 in CS4.1 but I have a problem 
>>>>>> with one error. API AmazonEC2 works (tested), but S3 not.

>>>>>> My steps
>>>>>> 1) I enabled S3 API (from UI)
>>>>>> 2) mkdir -p /mnt/S3 and owned to cloud.cloud
>>>>>> 3) In cloud-bridge.properties I set storage.root to /mnt/S3

>>>>>> Now looks that:
>>>>>> host=http://localhost:7080/awsapi
>>>>>> storage.root=/mnt/S3
>>>>>> storage.multipartDir=__multipart__uploads__
>>>>>> bucket.dns=false
>>>>>> serviceEndpoint=localhost:7080

>>>>>> 4) CS was restarted
>>>>>> 5) I generated new api key and secret key for user
>>>>>> 6) New private key and self-signet cert was generated and saved
>>>>>> 7) Using cloudstack-aws-api-register I registered user, all ok

>>>>>> And now I have a problem.
>>>>>> When I try to open a link

>>>>>> http://[MY_IP]:7080/awsapi/rest/AmazonS3/

>>>>>> I will get error

>>>>>> <soapenv:Reason
>>>>>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
>>>>>> <soapenv:Text xml:lang="en-US">
>>>>>>             The service cannot be found for the endpoint 
>>>>>> reference (EPR) /awsapi/services/AmazonEC2/ </soapenv:Text> 
>>>>>> </soapenv:Reason>

>>>>>> I can't find what is wrong.

>>>>>> In catalina.out I found only this czw 26, 2013 8:26:17 PM 
>>>>>> org.apache.axis2.engine.AxisEngine receive
>>>>>> SEVERE: The service cannot be found for the endpoint reference 
>>>>>> (EPR) /awsapi/services/AmazonEC2/
>>>>>> org.apache.axis2.AxisFault: The service cannot be found for the 
>>>>>> endpoint reference (EPR) /awsapi/services/AmazonEC2/
>>>>>>       at
>>>>>> org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65)
>>>>>>       at org.apache.axis2.engine.Phase.invoke(Phase.java:334)
>>>>>>       at
>>>>>> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
>>>>>>       at
>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
>>>>>>       at
>>>>>> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135)
>>>>>>       at
>>>>>> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130)
>>>>>>       at
>>>>>> org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:825)
>>>>>>       at
>>>>>> org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:271)
>>>>>>       at
>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>       at
>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>>       at
>>>>>> com.cloud.bridge.service.EC2MainServlet.doGetOrPost(EC2MainServlet.java:114)
>>>>>>       at
>>>>>> com.cloud.bridge.service.EC2MainServlet.doGet(EC2MainServlet.java:84)
>>>>>>       at
>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>       at
>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:415)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
>>>>>>       at
>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>>>       at
>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>>>       at
>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>>>>       at
>>>>>> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
>>>>>>       at
>>>>>> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
>>>>>>       at
>>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
>>>>>>       at
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>       at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>       at java.lang.Thread.run(Thread.java:722)








Re: CS4.1 S3 AWS, problem with End Point Reference

Posted by Michael Lukzak <mi...@vp.pl>.
Hi!

I do some steps. I installed a fresh OS and CS v4.0.2 (from RPS).
After configurations (amazon ec2 and s3 are enabled,
cloud-bridge configured, etc.) S3 works. When I go to adress
http://[ip]:7080/awsapi/rest/AmazonS3 I got response "Bad request" which is good answer ;)

Boto works, and I can make bucket, read and write file.

When I do the same steps but I use v4.1 there is a problem with
endpoint. So it seems that there is only problem with v4.1.

BTW anyone has a good expierence with S3 Broswer or other similiar software?
I tried use this S3 Broswer but I stuck on some error.

S3 Broswer don't want to talk with custom endpoint if he looks like http://[ip]:7080/awsapi/rest/AmazonS3
So I proxied it to http://[ip] and S3 Broswer start communicating.
Now I have problem with cert keys, but there is a progress :)
I write some news if I go further.

-- 
Michael

> Prachi, I am copying you on this thread, you might have some ideas.

> thanks,

> -sebastien

> On Jun 28, 2013, at 8:11 PM, Michael Lukzak <mi...@vp.pl> wrote:

>> I do fresh install (I used RPMs from website).
>> EC2 and S3 are enabled (I turned off and turned on).
>> EC2 works, but S3 not.

>> Reponse from boto:
>> boto.exception.BotoServerError: BotoServerError: 500 Internal Server Error
>> <soapenv:Reason xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Text xml:lang="en-US">The service cannot be found for the endpoint reference (EPR) /awsapi/services/AmazonEC2/?max-keys=0</soapenv:Text></soapenv:Reason>

>> So I don't know next I should do...
>> I should try too change hosts or serviceEndpoint in cloud-bridge.properties?
>> But what serviceEndPoint should be?
>> I tried to use endpoint like /awsapi/rest/AmazonS3 but still the same.

>> Can someone reproduce this steps and check if S3 works ?

>> Best regards,
>> Michael

>>> Yes, I tested using boto.
>>> I run two examples from doc
>>> https://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.1.0/html/Installation_Guide/aws-api-examples.html

>>> EC2 test script works ok, without error.
>>> But in S3 I get a error, logs shows

>>> cze 28, 2013 11:08:44 PM org.apache.axis2.engine.AxisEngine receive
>>> SEVERE: The service cannot be found for the endpoint reference (EPR) /awsapi/services/AmazonEC2/
>>> org.apache.axis2.AxisFault: The service cannot be found for the
>>> endpoint reference (EPR) /awsapi/services/AmazonEC2/

>>> I tried to use other path like as You say, but error is still the same.

>>> host=http://localhost:7080/awsapi/rest/AmazonS3
>>> storage.root=/mnt/S3
>>> storage.multipartDir=__multipart__uploads__
>>> bucket.dns=false
>>> serviceEndpoint=localhost:7080

>>> I read this doc too, (this is for older version of CS) and still no luck.
>>> https://cwiki.apache.org/CLOUDSTACK/s3-api-in-cloudstack.html

>>> Any other ideas?

>>> BTW, my CS4.1 was build from source with nonOSS.

>>> Michael




>>>> On Jun 28, 2013, at 3:01 PM, Michael Lukzak <mi...@vp.pl> wrote:

>>>>> Maybe someone have idea why S3 fails with error EPR?
>>>>> On documentation there is nothing about EPR.
>>>>> I'm doing exactly like documentations says. Any clue?


>>>> How do you test the service ? boto ?

>>>> in your properties file it looks like the host is localhost:7080/awsapi

>>>> but you tried to get awsapi/rest/AmazonS3

>>>> I think you need to fix the properties file.

>>>> can you try,

>>>> -sebastien

>>>>> Best regards,
>>>>> Michael

>>>>>> Hi,

>>>>>> I have tried to configure Amazon S3 in CS4.1 but I have a problem with
>>>>>> one error. API AmazonEC2 works (tested), but S3 not.

>>>>>> My steps
>>>>>> 1) I enabled S3 API (from UI)
>>>>>> 2) mkdir -p /mnt/S3 and owned to cloud.cloud
>>>>>> 3) In cloud-bridge.properties I set storage.root to /mnt/S3

>>>>>> Now looks that:
>>>>>> host=http://localhost:7080/awsapi
>>>>>> storage.root=/mnt/S3
>>>>>> storage.multipartDir=__multipart__uploads__
>>>>>> bucket.dns=false
>>>>>> serviceEndpoint=localhost:7080

>>>>>> 4) CS was restarted
>>>>>> 5) I generated new api key and secret key for user
>>>>>> 6) New private key and self-signet cert was generated and saved
>>>>>> 7) Using cloudstack-aws-api-register I registered user, all ok

>>>>>> And now I have a problem.
>>>>>> When I try to open a link

>>>>>> http://[MY_IP]:7080/awsapi/rest/AmazonS3/

>>>>>> I will get error

>>>>>> <soapenv:Reason
>>>>>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
>>>>>> <soapenv:Text xml:lang="en-US">
>>>>>>             The service cannot be found for the endpoint
>>>>>> reference (EPR) /awsapi/services/AmazonEC2/
>>>>>> </soapenv:Text>
>>>>>> </soapenv:Reason>

>>>>>> I can't find what is wrong.

>>>>>> In catalina.out I found only this
>>>>>> czw 26, 2013 8:26:17 PM org.apache.axis2.engine.AxisEngine receive
>>>>>> SEVERE: The service cannot be found for the endpoint reference (EPR) /awsapi/services/AmazonEC2/
>>>>>> org.apache.axis2.AxisFault: The service cannot be found for the
>>>>>> endpoint reference (EPR) /awsapi/services/AmazonEC2/
>>>>>>       at
>>>>>> org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65)
>>>>>>       at org.apache.axis2.engine.Phase.invoke(Phase.java:334)
>>>>>>       at
>>>>>> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
>>>>>>       at
>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
>>>>>>       at
>>>>>> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135)
>>>>>>       at
>>>>>> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130)
>>>>>>       at
>>>>>> org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:825)
>>>>>>       at
>>>>>> org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:271)
>>>>>>       at
>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>       at
>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>>       at
>>>>>> com.cloud.bridge.service.EC2MainServlet.doGetOrPost(EC2MainServlet.java:114)
>>>>>>       at
>>>>>> com.cloud.bridge.service.EC2MainServlet.doGet(EC2MainServlet.java:84)
>>>>>>       at
>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>>>       at
>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>>>>>>       at
>>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:415)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
>>>>>>       at
>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>>>       at
>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
>>>>>>       at
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>>>       at
>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>>>>       at
>>>>>> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
>>>>>>       at
>>>>>> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
>>>>>>       at
>>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
>>>>>>       at
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>       at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>       at java.lang.Thread.run(Thread.java:722)