Reka,

I think the issue is I don’t understand what goes into the “component” and 
dependencies section of the application definition.

My current understanding is that all groups in an application have to be listed 
in the “components” section – but it also seems to make them all to top level 
groups.

One of the reasons I choose the example below is that I don’t have a clear 
understanding on how to model the top level group (group1) versus the sub 
groups (group2, group3). In the example below I tried to specify group1 as top 
level group and group2, group3 as sub groups (group2 a sub group of group1 and 
group3 a subgroup of group3). But it seems I have to list them all in the 
component section of the application to assign group alias (if I don’t list a 
group in the component section and exception is thrown). But, once listed in 
the component section it makes them all top level groups and what happens to 
the dependencies described in the sub groups ?

Actually, right know I am even more confused than before how to model sub 
groups vs. top level groups and how to model respective dependencies.

For example, if I want to have only one top level group and many sub groups 
with dependencies among the sub groups, how would I model it:

Using my initial example, where group1 would be the top level group and group2 
and group3 would be sub groups, how would the application definition look like 
and how the group definitions ?


Thanks

Martin

From: Reka Thirunavukkarasu [mailto:r...@wso2.com]
Sent: Monday, October 13, 2014 10:56 PM
To: Martin Eppel (meppel)
Cc: dev@stratos.apache.org; Isuru Haththotuwa; Udara Liyanage
Subject: Re: [Grouping][testing] How to model nested dependencies ?

Hi Martin,

As i mentioned in the other mail, you can define startup order for top level 
groups/cartridges in the application and you can define startup order in the 
group definition for group's subgroups/cartridges. In your case, i'm not sure 
why are you trying with nested group definition.

Group1 (c1) should start up after group2, group2 (c2) should start up after 
group3 (c3)

The above is a linear relationship where we can say a startup order as 
"group.group3, group.group2, group.group1". So that group3 will come up first. 
Then group2 and group3 will come up accordingly.

But if you would like to test nested groups, then you can organise the groups 
as below:

group1 --> c1, c2 where startup order is "c1,c2"
group2 --> c1, c3 (no startup order means both will come up in parallel)
group3 --> group2, c2 where startup order is "group2, c2"
group4 --> group1, c3 where startup order is "group1, c3"

application --> group3, group4, c1, c3 where startup order is "group3, c1", 
"group3, group4"

If you write up group definition and application definition for the above 
mentioned relationship, you can see how these nested groups are brought up as 
well as you can see some groups/cartridges will be brought up in parallel as 
well.

Thanks,
Reka

Reply via email to