Use YAML sounds great. Suppose I am a framework developer, use a widely
used format would be helpful. Because framework maybe written by different
programming languages, if use some rare formats, I have to write some code
to parse the configuration file when I want to get some fields from it.

On Wed, Nov 25, 2015 at 1:57 AM, Tomek Janiszewski <jani...@gmail.com>
wrote:

> Hi all
>
> It looks simple for the first sight. Marco, I can work on it.
>
> -
> Tomek
>
> wt., 24 lis 2015, 17:49 Marco Massenzio użytkownik <ma...@mesosphere.io>
> napisał:
>
> > Thank you for asking :)
> >
> > The idea is pretty simple (and not even original, it's the "Facade
> > pattern"): essentially we would define a YAML syntax for the various
> > configuration flags that Mesos ({Master, Agent}) define, possibly
> grouping
> > them by "topic" and then write a few python classes, that read in the
> YAML
> > configuration and emit a set of flags that reflect the caller intent,
> then
> > invoke the appropriate ./bin/mesos-{master,slave}.sh script.
> >
> > (variation on the theme for installed packages)
> >
> > E.g.:
> >
> > # Configuration /opt/mesos/config-master.yml
> >
> > ip: 192.168.1.101
> >
> > zk:
> >   url: zk://192.168.1.220:2181
> >   quorum: 3
> >
> > directories:
> >   work: /var/run/mesos
> >   log: /var/log/mesos/master.log
> >
> > Execute with:
> >
> >   ./mesos-wrapper.py --run master --config /opt/mesos/config-master.yml
> > --no-ssl \
> >      [other script-specific options]
> >
> > would generate something along the lines of:
> >
> >   /opt/mesos/bin/mesos-master.sh --ip=192.168.1.101 \
> >     --zk=zk://192.168.1.220:2181 --quorum=3 \
> >     --work_dir=/var/run/mesos --log_dir=/var/log/mesos/master.log
> >
> > (example greatly contrived and probably pointless, but hopefully gives
> you
> > the idea).
> >
> > The point is that leveraging Python and the existing YAML libraries, this
> > would be pretty quick to implement, would leave Mesos per se completely
> > untouched, and would be easy to maintain (add/remove flags as needed;
> > enforce deprecation cycles; etc.)
> >
> > There's probably a ton of detail I'm missing, but you get the point.
> >
> > Cheers,
> > M.
> >
> > On Tuesday, November 24, 2015, tommy xiao <xia...@gmail.com> wrote:
> >
> > > how to do that? Marco
> > >
> > > 2015-11-24 3:54 GMT+08:00 Marco Massenzio <ma...@mesosphere.io
> > > <javascript:;>>:
> > >
> > > > I was thinking along the same lines, with a slightly more "modern"
> > > approach
> > > > :)
> > > >
> > > > My idea was to write a thin Python layer that reads a configuration
> > YAML
> > > > file (possibly with "override" flags) and then invokes
> > > mesos-{master,slave}
> > > > with the appropriate flags.
> > > >
> > > > By using YAML, we would also gain the ability to have more intuitive
> > > > syntax; grouping flags by function; and make it extensible.
> > > >
> > > > Any takers who may want to work together on this one?
> > > >
> > > > --
> > > > *Marco Massenzio*
> > > > Distributed Systems Engineer
> > > > http://codetrips.com
> > > >
> > > > On Mon, Nov 23, 2015 at 11:18 AM, Vinod Kone <vinodk...@gmail.com
> > > <javascript:;>> wrote:
> > > >
> > > > > We had this discussion a long while ago and the argument was that
> we
> > > > > already have a configuration file of sorts. It is a bash script
> with
> > > one
> > > > > flag per line that sets the environment. Is this not sufficient?
> > > > >
> > > > > Example:
> > > > >
> > > > > config.sh
> > > > > ------------
> > > > > MESOS_WORK_DIR="/var/run/mesos"
> > > > > MESOS_QUORUM=2
> > > > >
> > > > > $ source config.sh
> > > > > $ ./bin/mesos-master.sh
> > > > >
> > > > >
> > > > >
> > > > > On Mon, Nov 23, 2015 at 10:19 AM, Jojy Varghese <
> j...@mesosphere.io
> > > <javascript:;>>
> > > > > wrote:
> > > > >
> > > > > > Thanks for bringing this topic up Alex. I have been thinking
> about
> > > the
> > > > > same
> > > > > > and was wondering if we can have subsystem specific flags and
> some
> > > > scheme
> > > > > > where there can be a namespace instead of a flat space. And as
> alex
> > > > > > suggested, a configuration to represent this?
> > > > > >
> > > > > > -jojy
> > > > > > On Mon, Nov 23, 2015 at 9:32 AM tommy xiao <xia...@gmail.com
> > > <javascript:;>> wrote:
> > > > > >
> > > > > > > please file a issue to tracking this proposal
> > > > > > >
> > > > > > > 2015-11-23 21:53 GMT+08:00 Klaus Ma <klaus1982...@gmail.com
> > > <javascript:;>>:
> > > > > > >
> > > > > > > > +1, that's helpful :).
> > > > > > > >
> > > > > > > > For the detail of implementing such as auto re-load, I think
> we
> > > can
> > > > > let
> > > > > > > > owner/shepherd to decide :).
> > > > > > > >
> > > > > > > > ----
> > > > > > > > Da (Klaus), Ma (马达) | PMP® | Advisory Software Engineer
> > > > > > > > Platform Symphony/DCOS Development & Support, STG, IBM GCG
> > > > > > > > +86-10-8245 4084 | klaus1982...@gmail.com <javascript:;> |
> > > http://k82.me
> > > > > > > >
> > > > > > > > On Mon, Nov 23, 2015 at 9:40 PM, Adam Avilla <a...@avil.la
> > > <javascript:;>> wrote:
> > > > > > > >
> > > > > > > > > +1 I think it would be helpful.
> > > > > > > > >
> > > > > > > > > This may be orthogonal / feature creep, but would it be
> > > possible
> > > > to
> > > > > > > have
> > > > > > > > > the config file be able to be safely reloaded with a HUP or
> > > > > > appropriate
> > > > > > > > > signal?
> > > > > > > > >
> > > > > > > > > On Mon, Nov 23, 2015 at 5:32 AM, Guangya Liu <
> > > gyliu...@gmail.com <javascript:;>
> > > > >
> > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > +1000, introducing a new configuration file for mesos
> > master
> > > > and
> > > > > > > slave
> > > > > > > > > can
> > > > > > > > > > help end user take the configuration file as the source
> of
> > > all
> > > > > > flags.
> > > > > > > > > >
> > > > > > > > > > The OpenStack is also using same way to manage all of the
> > > > flags,
> > > > > it
> > > > > > > is
> > > > > > > > > > putting all flags into a configuration file and the
> > > > configuration
> > > > > > > file
> > > > > > > > > > including all flag examples. Most of the flags are
> disabled
> > > by
> > > > > > > default
> > > > > > > > > and
> > > > > > > > > > the end user can just enable those flags based on his
> > > > > requirement.
> > > > > > > > > >
> > > > > > > > > > Also the flags in the configuration file can be
> classified
> > to
> > > > > > > different
> > > > > > > > > > groups for a better management, and mesos can also follow
> > > this
> > > > to
> > > > > > > > > classify
> > > > > > > > > > those flags to different groups, such as ACL, Cluster,
> > > > framework
> > > > > > etc.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On Mon, Nov 23, 2015 at 9:08 PM, Alexander Rojas <
> > > > > > > > > alexan...@mesosphere.io <javascript:;>>
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Hey guys,
> > > > > > > > > > >
> > > > > > > > > > > Over the time I’ve been involved in Mesos I’ve seen
> that
> > we
> > > > > went
> > > > > > > > from a
> > > > > > > > > > > handful of flags to around 42 supported flags in the
> > > master.
> > > > At
> > > > > > > this
> > > > > > > > > > point
> > > > > > > > > > > I’m wondering if perhaps we should support a
> > configuration
> > > > file
> > > > > > in
> > > > > > > > > > > conjunction (or instead of) with all the command flags.
> > > > > > > > > > >
> > > > > > > > > > > My intuition is that it will make it easier for
> operators
> > > as
> > > > > well
> > > > > > > as
> > > > > > > > > for
> > > > > > > > > > > debuggers to be able to replicate configurations
> easier.
> > > > > > > > > > >
> > > > > > > > > > > Any comments on this idea?
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > /adam
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Deshi Xiao
> > > > > > > Twitter: xds2000
> > > > > > > E-mail: xiaods(AT)gmail.com
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Deshi Xiao
> > > Twitter: xds2000
> > > E-mail: xiaods(AT)gmail.com
> > >
> >
> >
> > --
> > --
> > *Marco Massenzio*
> > Distributed Systems Engineer
> > http://codetrips.com
> >
>



-- 
Best Regards,
Haosdent Huang

Reply via email to