I'll keep an eye on:
WFCORE-208 Expose 'singleton' type information in read-children-types
Something to consider (& possibly chime in) for support of future
WildFly versions in the as7 plugin
> Anfang der weitergeleiteten Nachricht:
>
> Von: Jeff Mesnil <jmesnil(a)redhat.com>
> Datum: 30 Oct 2014 11:40:07 CET
> An: Heiko Braun <hbraun(a)redhat.com>
> Kopie: WildFly Dev <wildfly-dev(a)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@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(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/wildfly-dev