[jboss-as7-dev] cli

Brian Stansberry brian.stansberry at redhat.com
Mon Feb 14 19:16:22 EST 2011


On 2/14/11 5:15 PM, Kabir Khan wrote:
>
>
> Sent from my Android phone using TouchDown (www.nitrodesk.com)
>
>
>>>
>>> On master, Kabir introduced a notion of different types of clients
>>> (DOMAIN, HOST, STANDALONE) which are implemented by passing an enum to
>>> ModelControllerClient.Factory.create(). We need to think through how
>>> that relates to this; whether that distinction is required and how to
>>> express it in the CLI.
>>>
>>> The actual core API is the same between DOMAIN, HOST, STANDALONE (i.e.
>>> operations expressed in DMR and passed to the managed process and
>>> operation results in DMR are passed back); the real difference is just
>>> what the expected addresses and operations are. Right now the enum is
>>> just used to check that the client is connecting to the expected kind of
>>> process. Conceivably we don't need the DOMAIN/HOST/STANDALONE enum and
>>> we just count on users knowing what they are doing.
>>
>> The reason I added that was the host management socket. If the DC is local, both HC and DC requests will come in on the same socket. We need some differentiator to know if a request should go to the HC or the DC.
>
> Well any host management socket should know how to answer host changes,
> domain changes, and server changes; it should be one protocol on one
> socket with the only differentiator being the address in question.
>
>>>>>> I agree the enum isn't the best way of doing it and that the connection is a good way. I still don't see how we will distinguish operations coming from outside, such as the cli, when the node is both the dc and dc. Addresses starting with host->* will be for the hc and currently routed via the proxies. But for less unique things like interface->  which exist in both I say we still need something else (it could be an extra parameter in the operation specifying the level) or some rule that if a hc is running a local dc, all outside connections are for the dc. Or did we ever decide that hc will only accept incoming commands via dc?
>

We need to allow a non-DC HC accept end user requests. There are a lot 
of basic things people can manage via an HC without requiring a running 
DC; start and stop servers, gather metrics.

One possibility is to use a consistent addressing scheme across the 
various use cases (including standalone).  The root is always the domain 
root; a host operation is done via host=XX, a running server is 
host=xx,server=yy.

> For host changes, that host's configuration change is effected
> immediately.  For domain changes, if the node is the DC it can handle it
> locally, else it'd forward on (on the user's behalf, presumably).  For
> server changes, it'd require that the caller has the appropriate
> credentials (some operations, like reads and most runtime-only changes,
> can be carried out by users, while others, like server model changes,
> may only be carried out by the HC).
>
>
>
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev


-- 
Brian Stansberry
Principal Software Engineer
JBoss by Red Hat



More information about the jboss-as7-dev mailing list