Hi Martin,

Do we know whether this error is correct in this scenario?

org.apache.stratos.rest.endpoint.exception.RestAPIException: Cannot remove
cartridge group: [group-name] sub-G1-G2-G3-1 since it is used in another
cartridge group or an application

BTW it would be better if we can list the groups/applications which are
referring this cartridge group in the error message.

Thanks

On Thu, Jun 25, 2015 at 5:10 PM, Martin Eppel (meppel) <mep...@cisco.com>
wrote:

>  Before an application is deployed, our “wrapper code” tries to remove
> any cartridge group within the application which causes the following
> exception:
>
>
>
> TID: [0] [STRATOS] [2015-06-25 09:55:30,791] DEBUG
> {org.apache.stratos.autoscaler.registry.RegistryManager} -
> org.apache.stratos.autoscaler.pojo.ServiceGroup@6aa447a0
>
> TID: [0] [STRATOS] [2015-06-25 09:55:30,810] ERROR
> {org.apache.stratos.rest.endpoint.api.StratosApiV41Utils} -  Cannot remove
> cartridge group: [group-name] sub-G1-G2-G3-1 since it is used in another
> cartridge group or an application
>
> TID: [0] [STRATOS] [2015-06-25 09:55:30,811] ERROR
> {org.apache.stratos.rest.endpoint.handlers.CustomExceptionMapper} -  Cannot
> remove cartridge group: [group-name] sub-G1-G2-G3-1 since it is used in
> another cartridge group or an application
>
> org.apache.stratos.rest.endpoint.exception.RestAPIException: Cannot remove
> cartridge group: [group-name] sub-G1-G2-G3-1 since it is used in another
> cartridge group or an application
>
>                at
> org.apache.stratos.rest.endpoint.api.StratosApiV41Utils.removeServiceGroup(StratosApiV41Utils.java:1252)
>
>                at
> org.apache.stratos.rest.endpoint.api.StratosApiV41.removeServiceGroup(StratosApiV41.java:587)
>
>                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>
>                at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
>                at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
>                at java.lang.reflect.Method.invoke(Method.java:606)
>
>                at
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
>
>                at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
>
>                at
> org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:194)
>
>                at
> org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100)
>
>                at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57)
>
>                at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93)
>
>                at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>
>                at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>
>                at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>
>                at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>
>                at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
>
>                at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>
>                at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159)
>
>                at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
>
>                at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doDelete(AbstractHTTPServlet.java:217)
>
>                at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:761)
>
>                at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
>
>                at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>
>                at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>
>                at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>
>                at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>
>                at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>
>                at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>
>                at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>
>                at
> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>
>
>
> *From:* Imesh Gunaratne [mailto:im...@apache.org]
> *Sent:* Thursday, June 25, 2015 4:29 AM
> *To:* dev
> *Cc:* Reka Thirunavukkarasu; Ryan Du Plessis (rdupless); Shaheedur Haque
> (shahhaqu)
>
> *Subject:* Re: Testing Stratos 4.1 - application removal still fails in
> certain cases
>
>
>
> Hi Martin,
>
>
>
> On Thu, Jun 25, 2015 at 4:38 PM, Martin Eppel (meppel) <mep...@cisco.com
> > wrote:
>
>
>
> What happens if I want to restart / redeploy the application -  currently,
> when I try to re-deploy the application it throws an exception that the
> cartridge group is still referenced by another application ?
>
>
>
> Will you be able to send the log file related to this error?
>
>
>
> On Thu, Jun 25, 2015 at 4:38 PM, Martin Eppel (meppel) <mep...@cisco.com>
> wrote:
>
>
>
> What happens if I want to restart / redeploy the application -  currently,
> when I try to re-deploy the application it throws an exception that the
> cartridge group is still referenced by another application ? Even if the
> group would not exist, wouldn’t stratos throw an exception that the
> application already exists ? What is the proper way to restart / redeploy
> an application ?
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
> Adding Shaheed
>
>
>
> *From:* Reka Thirunavukkarasu [mailto:r...@wso2.com]
> *Sent:* Thursday, June 25, 2015 3:45 AM
> *To:* Martin Eppel (meppel)
> *Cc:* dev@stratos.apache.org; Ryan Du Plessis (rdupless)
> *Subject:* Re: Testing Stratos 4.1 - application removal still fails in
> certain cases
>
>
>
> Hi Martin,
>
>
>
> On Thu, Jun 25, 2015 at 3:58 PM, Martin Eppel (meppel) <mep...@cisco.com>
> wrote:
>
> Hi Reka,
>
>
>
> I pulled the latest code today and  tested the following application [1a.,
> 1b.] for removal and, after all the instances were terminated the
> application still shows in the “Created” state  [1c.]  and maintains a
> reference to the cartridge groups, my expectation would be that it had been
> removed completely !
>
>
>
> This is the expected behaviour. This is the status of the application
> definition. I just verified it in the CLI. After the successful
> undeployment, it shows as below for me.
>
> Applications found:
> +----------------+------------+---------+
> | Application ID | Alias      | Status  |
> +----------------+------------+---------+
> | g-sc-G12-1     | g-sc-G12-1 | Created |
> +----------------+------------+---------+
>
> In order to check the runtime, you will have to invoke below command:
>
> stratos> describe-application-runtime g-sc-G12-1
> Application not found: g-sc-G12-1
> stratos>
>
> However there seems to be a small issue with this message as it says
> applicaiton not found instead of application runtime. We will fix this ASAP
> in the cli.
>
> If you invoke rest endpoint, you will get the following message:
>
> curl -X GET -H "Content-Type: application/json"  -k -v -u admin:admin
> https://127.0.0.1:9443/api/applications/g-sc-G12-1/runtime
>
> {"status":"error","message":"Application runtime not found"}
>
> Please let me know if you still have any issues..
>
> Thanks,
>
> Reka
>
>
>
>
>
> The logs actually state that the application was successfully un-deployed
> !?  Logs are attached as usual, application json, group json are below
>
>
>
> TID: [0] [STRATOS] [2015-06-25 09:48:23,302]  INFO
> {org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder} -
> Application un-deployed successfully: [application-id] sub-G1-G2-G3-1
>
>
>
> Please note that the screenshot was taken after the request to remove the
> application was done.
>
>
>
>
>
> [1a.]
>
>
>
> [1b]
>
>
>
> Cartridge-group:
>
>
>
> {"name": "sub-G1-G2-G3-1", "dependencies": {"terminationBehaviour":
> "terminate-none", "startupOrders": []}, "cartridges": [], "groups":
> [{"name": "multiple-groups-no-startup-G1-1", "dependencies":
> {"terminationBehaviour": "terminate-none", "startupOrders": []},
> "cartridges": ["c1", "c2"], "groups": []}, {"name":
> "multiple-groups-no-startup-G2-1", "dependencies": {"terminationBehaviour":
> "terminate-none", "startupOrders": []}, "cartridges": ["c3", "c4"],
> "groups": []}]}
>
>
>
>
>
> Application:
>
>
>
> {"alias": "sub-G1-G2-G3-1", "applicationId": "sub-G1-G2-G3-1",
> "components": {"cartridges": [], "groups": [{"name": "sub-G1-G2-G3-1",
> "groupMaxInstances": 1, "groupMinInstances": 1, "alias":
> "sub-G1-G2-G3-1-x0x", "cartridges": [], "groups": [{"name":
> "multiple-groups-no-startup-G1-1", "groupMaxInstances": 1,
> "groupMinInstances": 1, "alias": "multiple-groups-no-startup-G1-1-0x0",
> "cartridges": [{"cartridgeMin": 1, "cartridgeMax": 1, "type": "c1",
> "subscribableInfo": {"alias": "c1-1x0", "deploymentPolicy": "static-1",
> "artifactRepository": {"repoUsername": "user", "repoUrl": "
> http://octl.qmog.cisco.com:10080/git/default.git";, "privateRepo": true,
> "repoPassword": "c-policy"}, "autoscalingPolicy": "economyPolicy"}},
> {"cartridgeMin": 1, "cartridgeMax": 1, "type": "c2", "subscribableInfo":
> {"alias": "c2-1x0", "deploymentPolicy": "static-1", "artifactRepository":
> {"repoUsername": "user", "repoUrl": "
> http://octl.qmog.cisco.com:10080/git/default.git";, "privateRepo": true,
> "repoPassword": "c-policy"}, "autoscalingPolicy": "economyPolicy"}}],
> "groups": []}, {"name": "multiple-groups-no-startup-G2-1",
> "groupMaxInstances": 1, "groupMinInstances": 1, "alias":
> "multiple-groups-no-startup-G2-1-0x0", "cartridges": [{"cartridgeMin": 1,
> "cartridgeMax": 1, "type": "c3", "subscribableInfo": {"alias": "c3-1x1",
> "deploymentPolicy": "static-1", "artifactRepository": {"repoUsername":
> "user", "repoUrl": "http://octl.qmog.cisco.com:10080/git/default.git";,
> "privateRepo": true, "repoPassword": "c-policy"}, "autoscalingPolicy":
> "economyPolicy"}}, {"cartridgeMin": 1, "cartridgeMax": 1, "type": "c4",
> "subscribableInfo": {"alias": "c4-1x1", "deploymentPolicy": "static-1",
> "artifactRepository": {"repoUsername": "user", "repoUrl": "
> http://octl.qmog.cisco.com:10080/git/default.git";, "privateRepo": true,
> "repoPassword": "c-policy"}, "autoscalingPolicy": "economyPolicy"}}],
> "groups": []}]}]}}
>
>
>
>
>
> [1c.]
>
>
>
> stratos> list-applications
>
> Applications found:
>
> +----------------+----------------+---------+
>
> | Application ID | Alias          | Status  |
>
> +----------------+----------------+---------+
>
> | sub-G1-G2-G3-1 | sub-G1-G2-G3-1 | Created |
>
> +----------------+----------------+---------+
>
> stratos>
>
>
>
>
>
>
> --
>
> Reka Thirunavukkarasu
> Senior Software Engineer,
> WSO2, Inc.:http://wso2.com,
>
> Mobile: +94776442007
>
>
>
>
>
>
>
> --
>
> Imesh Gunaratne
>
>
>
> Senior Technical Lead, WSO2
>
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Senior Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Reply via email to