You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by "Martin Eppel (meppel)" <me...@cisco.com> on 2015/06/25 12:28:55 UTC

Testing Stratos 4.1 - application removal still fails in certain cases

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 !

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.]
[cid:image001.png@01D0AEF6.7AFA5B80]

[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>


Re: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by Mariangela Hills <ma...@wso2.com>.
Hi Martin,

For more information, the following links explain the end-to-end process
flow involved in deploying and undeploying an application, and the artifact
correlation.

[1]
https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+How+to+Deploy+an+Application
[2]
https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+How+to+Undeploy+an+Application
[3]
https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Artifact+Correlation

Regards,
Mariangela


*Mariangela Hills*
Senior Technical Writer - WSO2, Inc. http://wso2.com
Committer and PMC member - Apache Stratos
email:mariangela@wso2.com | mobile: +94 773 500185

On Thu, Jun 25, 2015 at 6:23 PM, Reka Thirunavukkarasu <re...@wso2.com>
wrote:

> HI Martin
>
> It seems that you are not deleting the application before removing a group
> definition. The application flow is as below [1]:
>
> 1. add application
> 2. deploy application
> 3. undeploy application
> 4. delete application
>
> Please check the sample commands as below:
>
>
> echo "Creating application..."
> curl -X POST -H "Content-Type: application/json" -d
> "@${artifacts_path}/application.json" -k -v -u admin:admin https://
> ${host_ip}:${host_port}/api/applications
>
> echo "Deploying application..."
> curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin
> https://
> ${host_ip}:${host_port}/api/applications/complex-app-with-lb/deploy/application-policy-1
>
>
> echo "Undeploying application..."
> curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin
> https://
> ${host_ip}:${host_port}/api/applications/complex-app-with-lb/undeploy
>
> echo "Deleting application..."
> curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin
> https://${host_ip}:${host_port}/api/applications/complex-app-with-lb
>
> [1]
> https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Working+with+Applications
>
> Thanks,
> Reka
>
>
>
> On Thu, Jun 25, 2015 at 5:58 PM, Martin Eppel (meppel) <me...@cisco.com>
> wrote:
>
>>  Sure, there is one scheduled already with Reka for today
>>
>>
>>
>> *From:* Imesh Gunaratne [mailto:imesh@apache.org]
>> *Sent:* Thursday, June 25, 2015 5:27 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
>>
>>
>>
>> May be it would be easier to investigate this in a call.
>>
>>
>>
>> On Thu, Jun 25, 2015 at 5:52 PM, Martin Eppel (meppel) <me...@cisco.com>
>> wrote:
>>
>> There is only one application in my test scenario – not sure why you
>> think it is incorrect ?
>>
>>
>>
>> *From:* Imesh Gunaratne [mailto:imesh@apache.org]
>> *Sent:* Thursday, June 25, 2015 4:49 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,
>>
>>
>>
>> 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) <me...@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:imesh@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) <meppel@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) <me...@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:reka@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) <me...@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
>>
>>
>>
>>
>>
>> --
>>
>> Imesh Gunaratne
>>
>>
>>
>> Senior Technical Lead, WSO2
>>
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Reka Thirunavukkarasu
> Senior Software Engineer,
> WSO2, Inc.:http://wso2.com,
> Mobile: +94776442007
>
>
>

Re: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by Reka Thirunavukkarasu <re...@wso2.com>.
HI Martin

It seems that you are not deleting the application before removing a group
definition. The application flow is as below [1]:

1. add application
2. deploy application
3. undeploy application
4. delete application

Please check the sample commands as below:


echo "Creating application..."
curl -X POST -H "Content-Type: application/json" -d
"@${artifacts_path}/application.json" -k -v -u admin:admin https://
${host_ip}:${host_port}/api/applications

echo "Deploying application..."
curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin
https://
${host_ip}:${host_port}/api/applications/complex-app-with-lb/deploy/application-policy-1


echo "Undeploying application..."
curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin
https://
${host_ip}:${host_port}/api/applications/complex-app-with-lb/undeploy

echo "Deleting application..."
curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin
https://${host_ip}:${host_port}/api/applications/complex-app-with-lb

[1]
https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Working+with+Applications

Thanks,
Reka



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

>  Sure, there is one scheduled already with Reka for today
>
>
>
> *From:* Imesh Gunaratne [mailto:imesh@apache.org]
> *Sent:* Thursday, June 25, 2015 5:27 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
>
>
>
> May be it would be easier to investigate this in a call.
>
>
>
> On Thu, Jun 25, 2015 at 5:52 PM, Martin Eppel (meppel) <me...@cisco.com>
> wrote:
>
> There is only one application in my test scenario – not sure why you think
> it is incorrect ?
>
>
>
> *From:* Imesh Gunaratne [mailto:imesh@apache.org]
> *Sent:* Thursday, June 25, 2015 4:49 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,
>
>
>
> 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) <me...@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:imesh@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) <meppel@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) <me...@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:reka@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) <me...@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
>
>
>
>
>
> --
>
> Imesh Gunaratne
>
>
>
> Senior Technical Lead, WSO2
>
> Committer & PMC Member, Apache Stratos
>



-- 
Reka Thirunavukkarasu
Senior Software Engineer,
WSO2, Inc.:http://wso2.com,
Mobile: +94776442007

RE: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by "Martin Eppel (meppel)" <me...@cisco.com>.
Sure, there is one scheduled already with Reka for today

From: Imesh Gunaratne [mailto:imesh@apache.org]
Sent: Thursday, June 25, 2015 5:27 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

May be it would be easier to investigate this in a call.

On Thu, Jun 25, 2015 at 5:52 PM, Martin Eppel (meppel) <me...@cisco.com>> wrote:
There is only one application in my test scenario – not sure why you think it is incorrect ?

From: Imesh Gunaratne [mailto:imesh@apache.org<ma...@apache.org>]
Sent: Thursday, June 25, 2015 4:49 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,

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) <me...@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<ma...@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:imesh@apache.org<ma...@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) <me...@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) <me...@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:reka@wso2.com<ma...@wso2.com>]
Sent: Thursday, June 25, 2015 3:45 AM
To: Martin Eppel (meppel)
Cc: dev@stratos.apache.org<ma...@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) <me...@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.]
[cid:image001.png@01D0AF07.CCEF4890]

[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<tel:%2B94776442007>




--
Imesh Gunaratne

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



--
Imesh Gunaratne

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



--
Imesh Gunaratne

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

Re: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by Imesh Gunaratne <im...@apache.org>.
May be it would be easier to investigate this in a call.

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

>  There is only one application in my test scenario – not sure why you
> think it is incorrect ?
>
>
>
> *From:* Imesh Gunaratne [mailto:imesh@apache.org]
> *Sent:* Thursday, June 25, 2015 4:49 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,
>
>
>
> 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) <me...@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:imesh@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) <meppel@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) <me...@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:reka@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) <me...@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
>



-- 
Imesh Gunaratne

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

RE: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by "Martin Eppel (meppel)" <me...@cisco.com>.
There is only one application in my test scenario – not sure why you think it is incorrect ?

From: Imesh Gunaratne [mailto:imesh@apache.org]
Sent: Thursday, June 25, 2015 4:49 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,

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) <me...@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<ma...@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:imesh@apache.org<ma...@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) <me...@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) <me...@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:reka@wso2.com<ma...@wso2.com>]
Sent: Thursday, June 25, 2015 3:45 AM
To: Martin Eppel (meppel)
Cc: dev@stratos.apache.org<ma...@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) <me...@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.]
[cid:image001.png@01D0AF06.C6ED2800]

[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<tel:%2B94776442007>




--
Imesh Gunaratne

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



--
Imesh Gunaratne

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

Re: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by Imesh Gunaratne <im...@apache.org>.
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) <me...@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:imesh@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) <meppel@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) <me...@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:reka@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) <me...@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

RE: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by "Martin Eppel (meppel)" <me...@cisco.com>.
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:imesh@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) <me...@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) <me...@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:reka@wso2.com<ma...@wso2.com>]
Sent: Thursday, June 25, 2015 3:45 AM
To: Martin Eppel (meppel)
Cc: dev@stratos.apache.org<ma...@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) <me...@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.]
[cid:image001.png@01D0AF01.0A616ED0]

[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<tel:%2B94776442007>




--
Imesh Gunaratne

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

Re: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by Imesh Gunaratne <im...@apache.org>.
Hi Martin,

On Thu, Jun 25, 2015 at 4:38 PM, Martin Eppel (meppel) <me...@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) <me...@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:reka@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) <me...@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

RE: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by "Martin Eppel (meppel)" <me...@cisco.com>.
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:reka@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) <me...@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.]
[cid:image001.png@01D0AEFC.9B5FE8D0]

[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


Re: Testing Stratos 4.1 - application removal still fails in certain cases

Posted by Reka Thirunavukkarasu <re...@wso2.com>.
Hi Martin,

On Thu, Jun 25, 2015 at 3:58 PM, Martin Eppel (meppel) <me...@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