Fwd: [wildfly-dev] Management Model: Squatter Resources

Heiko W.Rupp hrupp at redhat.com
Thu Oct 30 11:08:49 UTC 2014


Something to consider (& possibly chime in) for support of future WildFly versions in the as7 plugin

> Anfang der weitergeleiteten Nachricht:
> 
> Von: Jeff Mesnil <jmesnil at redhat.com>
> Datum: 30 Oct 2014 11:40:07 CET
> An: Heiko Braun <hbraun at redhat.com>
> Kopie: WildFly Dev <wildfly-dev at lists.jboss.org>
> Betreff: Aw: [wildfly-dev] Management Model: Squatter Resources
> 
> I’m integrating HornetQ 2.5 in WildFly and I have a new use case for resources that is related to singleton/squatter resources.
> 
> In HornetQ 2.5 they have completely rewritten the HA configuration. Basically, a server can be configured as live-only, replicated (master, slave, or colocated) or using shared-store (again as a master, slave or colocated).
> 
> To represent this in the management model, I have added several resources under hornetq-server:
> 
> /subsystem=messaging/
>  hornetq-server=*/
>    ha-policy=live-only
>    ha-policy=replicated-master
>    ha-policy=replicated-slave
>    ha-policy=replicated-colocated
>    ha-policy=shared-store-master
>    ha-policy=shared-store-slave
>    ha-policy=shared-store-colocated
> 
> I have constraints for this ha-policy resource:
>  * There can at most one child for this type of resource (no child means no HA). This is enforces during the MODEL stage.
>  * The child can only be named using one of the 7 values above (i.e. there is no resource definition for ha-policy=*, using any other name would fail)
> 
> Each ha-policy definition has a different set of attributes. Using an attribute group to represent the HA policy does not seem a good fit as some of them have subresources too.
> 
> I wonder if that representation fits with our roadmap and whether it can be considered as a singleton (as there can only be one resource of that type among). I have the additional constraints of having only one chile for that type that is not covered by your proposal though.
> 
> I especially wonder how the console (and to a lesser extent the cli) can deal with this resource.
> 
> Heiko, is it something that would make sense for the console based on this resource description:
> 
> [standalone at localhost:9990 hornetq-server=default] ./ha-policy=*:read-resource-description(recursive-depth=1)
> {
>    "outcome" => "success",
>    "result" => [
>        {
>            "address" => [
>                ("subsystem" => "messaging"),
>                ("hornetq-server" => "default"),
>                ("ha-policy" => "replication-colocated")
>            ],
>            "outcome" => "success",
>            "result" => {
>                ...
>            }
>        },
>        {
>            "address" => [
>                ("subsystem" => "messaging"),
>                ("hornetq-server" => "default"),
>                ("ha-policy" => "replication-master")
>            ],
>            "outcome" => "success",
>            "result" => {
>                ...
>            }
>        },
>        {
>            "address" => [
>                ("subsystem" => "messaging"),
>                ("hornetq-server" => "default"),
>                ("ha-policy" => "shared-store-slave")
>            ],
>            "outcome" => "success",
>            "result" => {
>                ...
>            }
>        },
>        {
>            "address" => [
>                ("subsystem" => "messaging"),
>                ("hornetq-server" => "default"),
>                ("ha-policy" => "live-only")
>            ],
>            "outcome" => "success",
>            "result" => {
>                ...
>            }
>        },
>        {
>            "address" => [
>                ("subsystem" => "messaging"),
>                ("hornetq-server" => "default"),
>                ("ha-policy" => "shared-store-master")
>            ],
>            "outcome" => "success",
>            "result" => {
>                ...
>            }
>        },
>        {
>            "address" => [
>                ("subsystem" => "messaging"),
>                ("hornetq-server" => "default"),
>                ("ha-policy" => "replication-slave")
>            ],
>            "outcome" => "success",
>            "result" => {
>                ...
>            }
>        },
>        {
>            "address" => [
>                ("subsystem" => "messaging"),
>                ("hornetq-server" => "default"),
>                ("ha-policy" => "shared-store-colocated")
>            ],
>            "outcome" => "success",
>            "result" => {
>                ...
>            }
>        }
>    ]
> }
> 
> jeff
> 
> -- 
> Jeff Mesnil
> JBoss, a division of Red Hat
> http://jmesnil.net/
> 
> 
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev

-- 
Reg. Adresse: Red Hat GmbH, Technopark II, Haus C, 
Werner-von-Siemens-Ring 14, D-85630 Grasbrunn
Handelsregister: Amtsgericht München HRB 153243
Geschäftsführer: Charles Cachera, Michael Cunningham, Paul Hickey, Charlie Peters



More information about the rhq-devel mailing list