My vote is for #2 in Jinmei's proposal with the following correction:

After removing --host/--port, you still have two ways to get "status
locator":

a) Use --dir option:

gfsh>status locator --dir=/locator-dir

b) Use connect command first:

gfsh>connect locator <etc>
gfsh>status locator --name=locator1


On Mon, Dec 30, 2019 at 9:30 AM Kirk Lund <kl...@apache.org> wrote:

> Long before we open-sourced as Geode, GemFire engineering planned to
> remove support for:
>
> gfsh>status locator --host=fooish --port=10334
>
> The reasoning at the time was (1) this method for getting details about
> the locator was wide open (security hole), and (2) it's inconsistent with
> "status server" which has no such counterpart.
>
> I prefer: remove --host and --port from status locator to be more
> consistent with status server and avoid having to add something that no
> user has requested (as far as I know)
>
> If we need to add SSL support for --host and --port to status locator,
> then we should include adding --host and --port to status server as well to
> improve consistency and usability -- I use the term "usability" because
> users expect "status server --host=xxx --port=xxx" to also work IF we
> continue to provide "status locator --host=xxx --port=xxx". We need to get
> rid of and avoid these weird quirks and inconsistencies.
>
> On Mon, Dec 23, 2019 at 11:24 AM Jinmei Liao <jil...@pivotal.io> wrote:
>
>> So, looks like need to do either one of the following:
>> 1. add --security-property-file option for the user to specify the ssl
>> connection properties
>> 2. remove --host/--port combination and remove the capability to report
>> the
>> status of the cluster configuration, this would only allow "status
>> locator"
>> command to report the locally started locator's status
>>
>> I would vote for option 1, given that option 2 greatly changes behavior.
>>
>> If no other objections, I will go ahead with option 1.
>>
>> Jinmei
>>
>> On Fri, Dec 20, 2019 at 4:20 PM Jens Deppe <jde...@pivotal.io> wrote:
>>
>> > I think Jinmei is also referring to the situation where you might *not*
>> > already
>> > be connected but want to execute something like this:
>> >
>> > gfsh>status locator --host=fooish --port=10334
>> >
>> >
>> > In this case it would fail as well. Seems like we'd either need to
>> remove
>> > those options so you *always* need to 'connect' if you want to access a
>> > remote system, or we need to add an *optional*
>> --security-properties-file
>> > option that would only be necessary if the shell isn't already
>> connected.
>> >
>> > --Jens
>> >
>> >
>> >
>> >
>> > On Fri, Dec 20, 2019 at 3:15 PM Ernest Burghardt <eburgha...@pivotal.io
>> >
>> > wrote:
>> >
>> > > I like the approach Jens is suggesting, seems intuitive to me
>> > >
>> > > On Thu, Dec 19, 2019 at 6:31 PM Jens Deppe <jde...@pivotal.io> wrote:
>> > >
>> > > > So it seems that the situation is something like this where I'm
>> able to
>> > > > make the initial connection but then retrieving status fails:
>> > > >
>> > > > gfsh>connect --security-properties-file=../security.properties
>> > > >
>> > > > gfsh>status locator --name=locator1
>> > > > Server version response invalid: This could be the result of trying
>> to
>> > > > connect a non-SSL-enabled client to an SSL-enabled locator.
>> > > >
>> > > >
>> > > > It would seem very weird if I have to provide additional connection
>> > > params
>> > > > to the 'status' command if I've already provided them as part of the
>> > > > 'connect'. Could we not stash the connection properties (in the Gfsh
>> > > > instance object) for subsequent usage?
>> > > >
>> > > > --Jens
>> > > >
>> > > > On Wed, Dec 18, 2019 at 9:04 AM Jinmei Liao <jil...@pivotal.io>
>> wrote:
>> > > >
>> > > > > "status locator" command is broken on ssl enabled locators ever
>> since
>> > > we
>> > > > > fixed a bug that leaked the connection properties from one tcp
>> socket
>> > > > > connection to another. Before that it would just magically work
>> if we
>> > > > have
>> > > > > previously made a successfully tcp connection to that same
>> locator,
>> > now
>> > > > we
>> > > > > are either required to find a way to specify the ssl properties
>> when
>> > > > > running the `status locator` command or change what we want to
>> report
>> > > > back
>> > > > > to the user.
>> > > > >
>> > > > > Here is what's happening now when we issue the command:
>> > > > >
>> > > > >    1. it needs to retrieve two sets of info from locator: general
>> > info
>> > > > like
>> > > > >    (pid, working dir, status, jvm args etc) and whether cluster
>> > > > > configuration
>> > > > >    service is running or not.
>> > > > >    2. when locator’s ssl is on, the retrieval of the cluster
>> > > > configuration
>> > > > >    info will always fail since it’s using a tcp connection to get
>> > that
>> > > > info
>> > > > >    and we currently don’t have the ssl security properties to
>> > connect.
>> > > > >    3. when locator’s ssl is on, the retrieval of the general info
>> > will
>> > > > >    mostly succeed except when user is only providing a host and
>> port,
>> > > > > there we
>> > > > >    would also need the ssl security properties in order to create
>> an
>> > > ssl
>> > > > >    socket.
>> > > > >
>> > > > >
>> > > > > So we wither need to add an option for user to specify a
>> > > > > `--security-properties-file` option to include all the ssl
>> connection
>> > > > > properties or change the behavior not to report cluster config
>> status
>> > > or
>> > > > > not allowing host/port combination. (I am not here long enough to
>> > > > > understand what users would use this command for, so this is just
>> a
>> > > > random
>> > > > > suggestions).
>> > > > >
>> > > > > Comments/thoughts?
>> > > > >
>> > > > > --
>> > > > > Cheers
>> > > > >
>> > > > > Jinmei
>> > > > >
>> > > >
>> > >
>> >
>>
>>
>> --
>> Cheers
>>
>> Jinmei
>>
>

Reply via email to