Thanks Shaheed for summarizing it..There is a small correction. Sorry..my
bad..I gave wrong point earlier. I have checked the code and verified the
functionality. Even application update is implemented when the application
is in added state.

On Fri, Jul 24, 2015 at 4:20 PM, Shaheedur Haque (shahhaqu) <
shahh...@cisco.com> wrote:

>  So, let me see if I can summarise the rules:
>
>
>
> 1.      The Deployment policy “max” can be updated as needed.
>
> a.      This controls the overall limit on the maximum number of
> cartridges on a region+partition basis for each cartridge using this policy.
>
> 2.      The Application can only be updated when in deployed state.
>
Application can be updated at any time whether the application added or in
deployed mode as i explained earlier.

>  3.      The supported changes are to cartridgeMin/cartridgeMax and/or
> groupMinInstances/groupMaxInstances.
>
> a.      For the groupMinInstances/groupMaxInstances to be usable, the
> initial setting must be such that Max > 1, otherwise the group scaling is
> disabled permanently.
>
>
>
> Is this correct? Did I miss something? If this is OK, I’d like to find a
> home for this information in the docs, but I did not see an obvious page.
> Can somebody kindly suggest one? (Maybe under the Advanced User Guide
> section?)
>

We have only following page currently. We will include the points that you
have mentioned here also to the page.

[1]
https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Updating+an+Application

[2]
https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Updating+a+Network+Partition

Thanks,
Reka

>
>
> Thanks, Shaheed
>
>
>
> *From:* Martin Eppel (meppel)
> *Sent:* 23 July 2015 17:25
> *To:* dev@stratos.apache.org
> *Subject:* RE: 4.1 Stratos testig: clarifying application update API
>
>
>
> Thanks Reka for the clarification, I’ll update my test case accordingly
>
>
>
> *From:* Reka Thirunavukkarasu [mailto:r...@wso2.com <r...@wso2.com>]
> *Sent:* Wednesday, July 22, 2015 11:50 PM
> *To:* dev
> *Subject:* Re: 4.1 Stratos testig: clarifying application update API
>
>
>
> Hi Martin,
>
> As we tested the scenario along with your sample, we found out that in the
> initial application, you were using groupMinInstances=1 and
> groupMaxInstances=1 which means that stratos took that decision saying
> groupScaling is disabled for this particular group. After that when you
> update this particular group with groupMinInstances=2 and
> groupMaxInstances=2, stratos should take the decision back that
> groupScaling is enabled for this group which is not possible at the moment.
> Stratos can't change the groupScaling decision dynamically due to the
> design.
>
> But you can achieve group update, if you use the groupMinInstances=1 and
> groupMaxInstances=2 for the initial application and then if you update with
> groupMinInstances=2 and groupMaxInstances=2, it will bring one additional
> group instance.
>
> Please note that GroupScaling is decided by stratos as true only when
> groupMaxInstances > 1
>
>
>
> Hope you understand how the group instance update works. Please let me
> know, if you need more clarification on this.
>
> Thanks,
>
> Reka
>
>
>
> On Thu, Jul 23, 2015 at 3:12 AM, Martin Eppel (meppel) <mep...@cisco.com>
> wrote:
>
> Sorry, forgot to attach the log file …
>
>
>
> *From:* Martin Eppel (meppel)
> *Sent:* Wednesday, July 22, 2015 2:41 PM
> *To:* dev@stratos.apache.org
> *Subject:* RE: 4.1 Stratos testig: clarifying application update API
>
>
>
> Hi Reka, Pubudu
>
>
>
> I tested a scenario where I update group groupMinInstances/groupMaxInstances
> (which according the email thread should ?!).
>
> However, what I observed is that after updating  
> groupMinInstances/groupMaxInstances
> (from 1 to 2) no new group is created.
>
>
>
> Here are the application definitions and log is attached
> (scenario starts with: TID: [0] [STRATOS] [2015-07-22 18:53:37,099]  INFO
> {org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl} -
> Adding application: [application-id] sub-app-update-4)
>
>
>
> Application deployed (groupMin/Max = 1):
>
>
>
> 2015-07-22 11:53:37,217 libmultiiaas.octl DEBUG: Stratos format
> Application:
>
> {"alias": "sub-app-update-4", "applicationId": "sub-app-update-4",
> "components": {"cartridges": [], "groups": [{"name": "sub-app-update-4",
> "groupMaxInstances": 1, "groupMinInstances": 1, "alias":
> "sub-app-update-4-x0x", "cartridges": [{"cartridgeMin": 1, "cartridgeMax":
> 1, "type": "c1", "subscribableInfo": {"alias": "c1-0x0",
> "deploymentPolicy": "static-3", "autoscalingPolicy": "economyPolicy"}}],
> "groups": [{"name": "application-update-4-2", "groupMaxInstances": 1,
> "groupMinInstances": 1, "alias": "application-update-4-2-0x0",
> "cartridges": [{"cartridgeMin": 1, "cartridgeMax": 1, "type": "c2",
> "subscribableInfo": {"alias": "c2-1x0", "deploymentPolicy": "static-2",
> "autoscalingPolicy": "economyPolicy"}}], "groups": []}]}]}}
>
>
>
> 2015-07-22 11:53:37,540 libmultiiaas.octl INFO: Application added
> successfully: [application] sub-app-update-4
>
> 2015-07-22 11:53:37,770 libmultiiaas.octl DEBUG: Application deployed
> successfully: [application] sub-app-update-4
>
> 2015-07-22 11:53:37,825 libmultiiaas.octl INFO: Deploying Application
> sub-app-update-4 state Deployed after 0 s
>
> 2015-07-22 11:53:39,826 libmultiiaas.octl DEBUG: Application deployed
> successfully: [application] sub-app-update-4
>
> 2015-07-22 11:53:39,826 root INFO: Application deployed successfully:
> [application] sub-app-update-4
>
>
>
>
>
> Updated application (groupMin/Max = 2):
>
>
>
> {"alias": "sub-app-update-4", "applicationId": "sub-app-update-4",
> "components": {"cartridges": [], "groups": [{"name": "sub-app-update-4",
> "groupMaxInstances": 1, "groupMinInstances": 1, "alias":
> "sub-app-update-4-x0x", "cartridges": [{"cartridgeMin": 1, "cartridgeMax":
> 1, "type": "c1", "subscribableInfo": {"alias": "c1-0x0",
> "deploymentPolicy": "static-3", "autoscalingPolicy": "economyPolicy"}}],
> "groups": [{"name": "application-update-4-2", "groupMaxInstances": 2,
> "groupMinInstances": 2, "alias": "application-update-4-2-0x0",
> "cartridges": [{"cartridgeMin": 1, "cartridgeMax": 1, "type": "c2",
> "subscribableInfo": {"alias": "c2-1x0", "deploymentPolicy": "static-2",
> "autoscalingPolicy": "economyPolicy"}}], "groups": []}]}]}}
>
>
>
> 2015-07-22 12:03:14,356 libmultiiaas.octl INFO: Application updated
> successfully: [application] sub-app-update-4
>
> 2015-07-22 12:03:14,356 root INFO: {u'status': u'success', u'message':
> u'Application updated successfully: [application] sub-app-update-4'}
>
>
>
> Application after update:
>
>
>
>
>
> This is what I would have expected after the application update:
>
>
>
>
>
>
>
>
>
>
>
> Please let me know if there is an issue or updating runtime
> groupMinInstances/groupMaxInstances is currently not supported,
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
>
>
>
>
> *From:* Reka Thirunavukkarasu [mailto:r...@wso2.com <r...@wso2.com>]
>
> *Sent:* Tuesday, July 21, 2015 11:25 PM
> *To:* dev
> *Subject:* Re: 4.1 Stratos testig: clarifying application update API
>
>
>
> Hi Martin,
>
> As Pubudu explained, those are the expected steps and the result of the
> application update. *Application Runtime* can only be updated with
> cartridgeMin/cartridgeMax and/or with groupMinInstances/groupMaxInstances.
> Even if you update other parameters, it will get ignored by the back end.
>
> Please note that you can update application only when it is in deployed
> mode. After application is created, if you need to update, then you will
> have to delete the application and create it again. Currently application
> update is not available when the application is in created mode.
>
> Thanks,
>
> Reka
>
>
>
> On Wed, Jul 22, 2015 at 11:29 AM, Pubudu Gunatilaka <pubu...@wso2.com>
> wrote:
>
> Hi Martin,
>
>
>
> You can update only carridgeMin and cartridgeMax at runtime in application
> update. Even you can update the deployment policy which uses the
> application. But you cannot change the deployment policy in application at
> runtime.
>
>
>
> In your case, as you have used two different deployment policies, it won't
> work. It will use the previous deployment policy. I have tested following
> scenario.
>
>
>
> 1. Use the deployment policy with partition max as 1.
>
> 2. Deploy the application with cartridgeMin 1.
>
> 3. Update the same deployment policy with partition max 2.
>
> 4. Update application at runtime to cartridgeMin 2.
>
> 4. Another instance spawned successfully.
>
>
>
> Thank you!
>
>
>
>
>
> On Wed, Jul 22, 2015 at 9:25 AM, Martin Eppel (meppel) <mep...@cisco.com>
> wrote:
>
> Hi,
>
>
>
> I am currently testing the API to update an application (most notably to
> update the cartridge cartridgeMin / cartridgeMax in a cartridge deployment
> policy).
>
>
>
> My main question is which are the parameters  which are currently
> supported to be updated as part of application update.
>
>
>
> I have tested updating (increasing the value) of cartridge cartridgeMin /
> cartridgeMax  of a cartridge policy which works fine, as long as the
> cartridge deployment policy is correspondingly configured:
>
>
>
> e.g. updating min/max from 1/1 to 2/2 and (using the deployment policy
> “static-2”) with a partitionMax  set to 2.
>
>
>
> However, updating the deployment policy either not supported or fails to
> work.
>
>
>
> For example, if I start initially with cartridgeMin / cartridgeMax = 1
> and  a deployment policy “static-1” (with a partitionMax  set to 1) and
> then update the cartridge policy cartridgeMin / cartridgeMax = 2 and the
> deployment policy “static-2”  ( with a partitionMax  set to 2) the
> cartridge instances are not properly spun up to 2.
>
>
>
> I am not sure if updating the deployment policy (or any other parameters
> beyond min / max in the cartridge policy, e.g min / max in group policy etc
> …) is currently supported or not, which brings me back to my initial
> question which parameters are supported as part of application “update”,
> please clarify.
>
>
>
> Also, is the case supported when decreasing the values,  e.g. updating the
> cartridgeMin / cartridgeMax  = 2 to 1 ?
>
>
>
> Just in case I attached the policy files and log to the email,
> application, cartridge group json see below inline
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
> Before application update:
>
> Application json:
>
> {"alias": "sub-app-update-1", "applicationId": "sub-app-update-1",
> "components": {"cartridges": [], "groups": [{"name": "sub-app-update-1",
> "groupMaxInstances": 1, "groupMinInstances": 1, "alias":
> "sub-app-update-1-x0x", "cartridges": [{"cartridgeMin": 1,
> "cartridgeMax": 1, "type": "c1", "subscribableInfo": {"alias": "c1-0x0",
> "deploymentPolicy": "static-1", "autoscalingPolicy": "economyPolicy"}}],
> "groups": []}]}}
>
>
>
> Cartridge-group.json:
>
> {"name": "sub-app-update-1", "dependencies": {"terminationBehaviour":
> "terminate-none", "startupOrders": []}, "cartridges": ["c1"], "groups": []}
>
>
>
> application update json:
>
>
>
> {"alias": "sub-app-update-1", "applicationId": "sub-app-update-1",
> "components": {"cartridges": [], "groups": [{"name": "sub-app-update-1",
> "groupMaxInstances": 1, "groupMinInstances": 1, "alias":
> "sub-app-update-1-x0x", "cartridges": [{"cartridgeMin": 2,
> "cartridgeMax": 2, "type": "c1", "subscribableInfo": {"alias": "c1-0x0",
> "deploymentPolicy": "static-2", "autoscalingPolicy": "economyPolicy"}}],
> "groups": []}]}}
>
>
>
>
>
> Deployment policies (attached):
>
>
>
> static-1.json, static-2.json
>
>
>
> Application (before / after update):
>
>
>
>
>
>
>
>
>
> --
>
> *Pubudu Gunatilaka*
>
> Software Engineer
>
> WSO2, Inc.: http://wso2.com
>
> lean.enterprise.middleware
>
> mobile:  +94 77 4078049
>
>
>
>
> --
>
> Reka Thirunavukkarasu
> Senior Software Engineer,
> WSO2, Inc.:http://wso2.com,
>
> Mobile: +94776442007
>
>
>
>
>
>
> --
>
> Reka Thirunavukkarasu
> Senior Software Engineer,
> WSO2, Inc.:http://wso2.com,
>
> Mobile: +94776442007
>
>
>



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

Reply via email to