On Aug 19, 2013, at 11:26 PM, Carlos Reategui <car...@reategui.com> wrote:
> No Prob. I did not create a JIRA for this as I was not sure if I was doing > things right. Please note that I was upgrading from a 4.0.2 that did not > have the AWS api installed. Should I go ahead and create one for this? > AWS is working in the 4.0.x releases. But yes please, file a bug for this. > I did create a JIRA for the docs with some of the things I found attempting > to install. > > > On Mon, Aug 19, 2013 at 1:12 AM, Sebastien Goasguen <run...@gmail.com>wrote: > >> Carlos, >> >> Thanks for reporting this, looks like the AWS interface is broken in 4.1. >> >> I am trying to find the commits that fix this and make sure they are >> applied for 4.1.2 and the upcoming 4.2. >> I am copying Prachi and Likithia who should be able to help with this. >> >> Cheers, >> >> -Sebastien >> >> On Aug 1, 2013, at 3:06 PM, Carlos Reategui <car...@reategui.com> wrote: >> >>> I've been tinkering >>> with: /usr/share/cloudstack-bridge/webapps/awsapi/WEB-INF/web.xml and >> added >>> some servlet mappings (don't really know what I am doing): >>> >>> <servlet-mapping> >>> <servlet-name>EC2RestServlet</servlet-name> >>> <url-pattern>/services/AmazonEC2</url-pattern> >>> </servlet-mapping> >>> <servlet-mapping> >>> <servlet-name>EC2RestServlet</servlet-name> >>> <url-pattern>/services/AmazonEC2/*</url-pattern> >>> </servlet-mapping> >>> >>> which gets me past the EPR issue, but it caused an error on the client >> when >>> attempting any of the ec2 commands (eg ec2-describe-instances). Don't >> know >>> if these use rest on the backend so I also tried the following mapping: >>> >>> <servlet-mapping> >>> <servlet-name>EC2RestServlet</servlet-name> >>> <url-pattern>/services/AmazonEC2</url-pattern> >>> </servlet-mapping> >>> <servlet-mapping> >>> <servlet-name>EC2RestServlet</servlet-name> >>> <url-pattern>/services/AmazonEC2/*</url-pattern> >>> </servlet-mapping> >>> >>> This causes a stack overflow in catalina so probably not the correct >>> mapping.... >>> >>> I'll keep you posted if i figure anything else out... >>> >>> >>> On Thu, Aug 1, 2013 at 6:35 AM, François Bousquet < >>> francois.bousq...@radialpoint.com> wrote: >>> >>>> Same bug here with CloudStack 4.1.0 RPM. I had to manually copy >>>> xes.keystore for the registration to work but now I am getting the same >>>> error as you: >>>> >>>> The service cannot be found for the endpoint reference (EPR) >>>> http://localhost:7080/awsapi/services/AmazonEC2/ >>>> >>>> I posted the question on Tuesday, but still no answer. >>>> >>>> -----Original Message----- >>>> From: create...@gmail.com [mailto:create...@gmail.com] On Behalf Of >>>> Carlos Reategui >>>> Sent: Wednesday, July 31, 2013 19:14 >>>> To: users@cloudstack.apache.org >>>> Subject: Re: AWS API setup >>>> >>>> No luck with the EC2 api. I am seeing this in catalina log: >>>> >>>> Jul 31, 2013 3:54:41 PM org.apache.axis2.engine.AxisEngine receive >>>> SEVERE: The service cannot be found for the endpoint reference (EPR) >>>> http://localhost:7080/awsapi/services/AmazonEC2/ >>>> org.apache.axis2.AxisFault: The service cannot be found for the endpoint >>>> reference (EPR) http://localhost:7080/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.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173) >>>> at >>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:144) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >>>> 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:436) >>>> 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.doPost(EC2MainServlet.java:89) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >>>> 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.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >>>> at >>>> >>>> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >>>> at >>>> >>>> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) >>>> at >>>> >>>> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>>> at >>>> >> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615) >>>> at >>>> >>>> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>>> at >>>> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) >>>> at >>>> >>>> >> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889) >>>> at >>>> >>>> >> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:744) >>>> at >>>> >>>> >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2282) >>>> at >>>> >>>> >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) >>>> at >>>> >>>> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>> at java.lang.Thread.run(Thread.java:679) >>>> >>>> >>>> >>>> On Wed, Jul 31, 2013 at 2:22 PM, Carlos Reategui <car...@reategui.com >>>>> wrote: >>>> >>>>> Looks like I'm on my own here.... >>>>> >>>>> I poked around the cloudstack-setup-databases script and the sql it >>>>> uses drops the tables before recreating them so it is not safe for me >>>>> to run that or it will kill my current cloud db. >>>>> >>>>> In that script I did find references to the cloud-bridge sql files >>>>> found >>>>> here: >>>>> # ls -l /usr/share/cloudstack-bridge/setup/ >>>>> total 56 >>>>> -rw-r--r-- 1 root root 1592 Jun 4 11:45 cloudbridge_bucketpolicy.sql >>>>> -rw-r--r-- 1 root root 1148 Jun 4 11:45 cloudbridge_db.sql >>>>> -rw-r--r-- 1 root root 3711 Jun 4 11:45 cloudbridge_index.sql >>>>> -rw-r--r-- 1 root root 1170 Jun 4 11:45 >>>>> cloudbridge_multipart_alter.sql >>>>> -rw-r--r-- 1 root root 2468 Jun 4 11:45 cloudbridge_multipart.sql >>>>> -rw-r--r-- 1 root root 896 Jun 4 11:45 >>>>> cloudbridge_offering_alter.sql >>>>> -rw-r--r-- 1 root root 1551 Jun 4 11:45 cloudbridge_offering.sql >>>>> -rw-r--r-- 1 root root 897 Jun 4 11:45 cloudbridge_policy_alter.sql >>>>> -rw-r--r-- 1 root root 4462 Jun 4 11:45 cloudbridge_schema.sql >>>>> -rw-r--r-- 1 root root 2365 Jun 4 11:45 deploy-db-bridge.sh >>>>> -rw-r--r-- 1 root root 1377 Jun 4 11:45 init_db.bat >>>>> >>>>> I noticed the deploy-db-bridge.sh, so I ran it and now I have a >>>>> cloudbridge db. >>>>> >>>>> Please note that this will set the cloud db user pw to cloud, so if >>>>> you used a different pw make sure to: >>>>> mysql> set password for 'cloud'@'%' = password('mypw'); set password >>>>> mysql> for 'cloud'@'localhost' = password('mypw'); >>>>> or your management server will not start. >>>>> >>>>> I then ran into this bug: >>>>> https://issues.apache.org/jira/browse/CLOUDSTACK-3295 >>>>> but I am on 4.1 not 4.2. >>>>> >>>>> Searching for "xes.keystore" I I found this in the debian install >> rules: >>>>> >>>>> for i in cloud-bridge.properties commons-logging.properties >>>>> crypto.properties xes.keystore ec2-service.properties; do \ >>>>> >>>>> mv $(DESTDIR)/usr/share/$(PACKAGE) >>>>> -bridge/webapps/awsapi/WEB-INF/classes/$$i $(DESTDIR)/$(SYSCONFDIR)/$( >>>>> PACKAGE)/management/; \. >>>>> >>>>> Which is moving the files to /etc/cloudstack/management. So I moved >>>>> these >>>>> 2 back: >>>>> # mv /etc/cloudstack/management/xes.keystore >>>>> /usr/share/cloudstack-management/webapps7080/awsapi/WEB-INF/classes/. >>>>> # mv /etc/cloudstack/management/crypto.properties >>>>> /usr/share/cloudstack-management/webapps7080/awsapi/WEB-INF/classes/. >>>>> >>>>> Is this a bug in the debian packager? >>>>> >>>>> Now when I run the cloudstack-aws-api-register script I get: >>>>> User registration failed with http error code: 401 >>>>> >>>>> The awsapi.log shows: >>>>> 2013-07-31 12:16:11,245 ERROR [bridge.service.EC2RestServlet] >>>>> (catalina-exec-int-1:null) SetUserKeys Entity already exists: >>>>> javax.persistence.EntityExistsException: Entity already exists: >>>>> at >>>>> com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1340) >>>>> at >>>>> >>>> >> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) >>>>> at >>>>> >>>> >> com.cloud.bridge.service.EC2RestServlet.setUserKeys(EC2RestServlet.java:395) >>>>> at >>>>> >>>> >> com.cloud.bridge.service.EC2RestServlet.doGetOrPost(EC2RestServlet.java:243) >>>>> at >>>>> com.cloud.bridge.service.EC2RestServlet.doGet(EC2RestServlet.java:218) >>>>> 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:436) >>>>> 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:105) >>>>> 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.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >>>>> at >>>>> >>>> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >>>>> at >>>>> >>>> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) >>>>> at >>>>> >>>> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>>>> at >>>>> >> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615) >>>>> at >>>>> >>>> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>>>> at >>>>> >>>> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) >>>>> at >>>>> >>>> >> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889) >>>>> at >>>>> >>>> >> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:744) >>>>> at >>>>> >>>> >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2282) >>>>> at >>>>> >>>> >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) >>>>> at >>>>> >>>> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>> at java.lang.Thread.run(Thread.java:679) >>>>> >>>>> So looks like one of the previous attempts even though they failed, >>>>> did something. >>>>> >>>>> I'll give the ec2 apis a try and see if they work. >>>>> >>>>> >>>>> On Fri, Jul 26, 2013 at 5:39 PM, Carlos Reategui <car...@reategui.com >>>>> wrote: >>>>> >>>>>> I can't seem to find docs to properly install the AWS API. >>>>>> >>>>>> I started with this: >>>>>> http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.1.0/html/ >>>>>> Installation_Guide/aws-ec2-user-setup.html >>>>>> but got nowhere because port 7080 was not available. >>>>>> >>>>>> I am on ubuntu 12.04 installed from repo -- actually upgraded 4.01 to >>>>>> 4.1 >>>>>> -- did not have awsapi installed before. >>>>>> >>>>>> Here is the progress I have made so far: >>>>>> a) apt-get install cloudstack-awsapi >>>>>> This should probably be explained in the above docs to get the awsapi >>>>>> on >>>>>> 7080 >>>>>> b) chgrp cloud /var/log/cloudstack/awsapi; chmod g+w >>>>>> /var/log/cloudstack/awsapi Otherwise it was unable to create >>>>>> awsapi.log. Seems to be an installation bug. >>>>>> >>>>>> Currently stuck trying to "cloudstack-aws-api-register" as it is >>>>>> returning "User registration failed with http error code: 500" >>>>>> >>>>>> From the awsapi logs looks to be a problem with cloudbridge database >>>>>> not available. I found this >>>>>> https://issues.apache.org/jira/browse/CLOUDSTACK-1557 which seems to >>>>>> imply this was fixed. In the notes it talks about running >>>>>> cloudstack-setup-databases to create this one. However shouldn't >>>>>> this have already been run as part of the cloudstack install? Is it >>>>>> safe to run again? >>>>>> >>>>>> With regards to cloudstack-aws-api-register, the docs say to download >>>>>> it from a location it specifies. There appears to be one that is >>>>>> already installed by cloudstack-awsapi: >>>>>> # dpkg -S /usr/bin/cloudstack-aws-api-register >>>>>> cloudstack-awsapi: /usr/bin/cloudstack-aws-api-register >>>>>> Is the one that is installed no good? >>>>>> >>>>>> thanks, >>>>>> Carlos >>>>>> >>>>>> >>>>>> >>>>> >>>> *********************************************************************** >>>> This e-mail and attachments are confidential, legally privileged, may be >>>> subject to copyright and sent solely for the attention of the >> addressee(s). >>>> Any unauthorized use or disclosure is prohibited. Statements and >> opinions >>>> expressed in this e-mail may not represent those of Radialpoint. >>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Le contenu du présent >>>> courriel est confidentiel, privilégié et peut être soumis à des droits >>>> d'auteur. Il est envoyé à l'intention exclusive de son ou de ses >>>> destinataires. Il est interdit de l'utiliser ou de le divulguer sans >>>> autorisation. Les opinions exprimées dans le présent courriel peuvent >>>> diverger de celles de Radialpoint. >>>> >> >>