Description: Enhance DynaGroup so they can be created based on the contents of another group. Description of business problem this is aiming to solve: The customer has multiple different requests from internal customers e.g. one customer wants an email when jvm goes down, other customer wants an email when pool of their ds is filled up, next customer wants a notification when memory exceeds and so on. This would help, for example, when you bring on line 200 new jboss nodes. You do not want to be adding all new nodes to a compatible group. Generally this will make it easier to manage the large number of nodes that this customer has. This will also assist in responding to internal customer requirements without putting extra burden on the operation guys maintain new cli scripts. Another one idea would be to have a extra feature in an event definition where you can have a expression that says the event should be applied to a particular group or parent group or (set of groups) - that maybe this is a new RFE.
I think that there are two major areas that are impacted. The first being the expression evaluation code that generates and executes the JPQL query. Some investigation is needed to determine what effort is involved to support the additional group filtering. Performance will need to be taken into consideration as well. The second area is the UI.We need to think about how we want the user to select groups. This would likely involve some changes in group definition view. Then we need to think about what changes might be needed in the expression builder. I think a day or two of analysis would help better determine the amount of effort involved here.
To provide a better explanation of what this feature is/could be: Think of it as a sub-group of one or more groups*. Normally, a dynamic group is created based on the contents of inventory visible to the user who creates it. This feature should allow the dynamic group to be created based on the contents of another group instead of the entire system inventory. Essentially, the dynamic group inherits its dependent group's contents and the dynamic group's expression is then applied to that contents. So, let's say I have the following resource hierarchy in my RHQ system inventory: . |-- Platform A | |-- JBoss AS 1 | | `-- <child resources> | |-- JBoss AS 2 | | `-- <child resources> | |-- Network Card lo | |-- Network Card wlan0 | `-- Network Card eth0 |-- Platform B | |-- JBoss AS 3 | | `-- <child resources> | |-- JBoss AS 4 | | `-- <child resources> | |-- Network Card lo | `-- Network Card eth0 `-- Platform C |-- JBoss AS 5 | `-- <child resources> |-- JBoss AS 6 | `-- <child resources> |-- Network Card lo `-- Network Card eth0 Now I create a recursive compatible group that contains Platform B and Platform C called Main Group: . `-- Main Group |-- Platform B | |-- JBoss AS 3 | | `-- <child resources> | |-- JBoss AS 4 | | `-- <child resources> | |-- Network Card lo | `-- Network Card eth0 `-- Platform C |-- JBoss AS 5 | `-- <child resources> |-- JBoss AS 6 | `-- <child resources> |-- Network Card lo `-- Network Card eth0 But now I want a dynamic group named DynaGroup EAP of EAP servers (non-recursive) from Main Group: . `-- DynaGroup EAP |-- JBoss AS 3 |-- JBoss AS 4 |-- JBoss AS 5 |-- JBoss AS 6 Now, if later someone added Platform A to Main Group, when DynaGroup EAP was recalculated it would look like: . `-- DynaGroup EAP |-- JBoss AS 1 |-- JBoss AS 2 |-- JBoss AS 3 |-- JBoss AS 4 |-- JBoss AS 5 `-- JBoss AS 6 Now a a new dynagroup could be created based on DynaGroup EAP that perhaps used an expression that would provide a group of the JVM resources for each member of DynaGroup EAP. Again, the advantage being that the dynagroup expression is evaluated based on the contents of DynaGroup EAP and not that of system inventory or the direct content of Main Group. * Due to Bug 667896 multiple groups may not be possible
Any news on this? Did it make it into the JON 3.2 plan?
Shaun, it is in a NEW status with a target of JON 3.2.0.
master commit 438c80560c8faeff638f2640cd8278aa4c214aaf Author: Jay Shaughnessy <jshaughn> Date: Thu Mar 21 16:12:26 2013 -0400 Introduce 'memberof = GroupName' expression into the group definition language. memberof will restrict the dynagroup members to be a subset of the specified resource group. Specifying multiple memberof conditions will restrict the dynagroup members to be a subset of the union of members of the specified groups.
As this is MODIFIED or ON_QA, setting milestone to ER1.
QE is test complete https://engineering.redhat.com/trac/jon/ticket/586
*** Bug 1031784 has been marked as a duplicate of this bug. ***