Re: normalizing radosgw

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 10 Dec 2014, Robert LeBlanc wrote:
> I would suggest that it would be:
> /etc/ceph/$cluster.conf
> /etc/ceph/$cluster.d/00-a.conf
> /etc/ceph/$cluster.d/01-b.conf

Yeah

> If it is like other config files, options later in the file override options
> earlier in the file. That makes it easy to have defaults in
> /etc/ceph/$cluster.conf and then overrode in /etc/ceph/$cluster.d/*, but I
> don't think this is such a big deal for Ceph. Are you thinking about hard
> coding the concatenation in the code, or adding and include directive?
> Adding the directive could be useful for people who would like their configs
> somewhere else and would provide the most flexibility (but it sounds like it
> was there before and removed). It would be nice if it were a directory that
> it would just lexically cat all files in that directory that end in .conf.

Yeah.  I'm wondering if it is well-defined practice that foo comes before 
foo.d/* is all.  It looks like sudoers does it explicitly with an 
#includdir dirname line... perhaps that is what we should do too.

> I thought there would be more input on this topic. I know that some people
> are vehemently opposed to *.d/, but I have really come to like it and cringe
> when something doesn't support it.

+1

sage


> 
> On Wed, Dec 10, 2014 at 1:48 PM, Sage Weil <sweil@xxxxxxxxxx> wrote:
>       On Wed, 10 Dec 2014, Robert LeBlanc wrote:
>       > If cluster is specified in /etc/default/ceph than I don't have
>       any other
>       > reservations to your proposal.
> 
>       Great.  I like it much better than putting something in
>       /var/lib/ceph/*
>       (because it's bad policy) and this nicely sidesteps the 'include
>       <file>'
>       issue.
> 
>       Hmm, what is supposed to happen in general if you have
> 
>        /etc/foo
>        /etc/foo.d/00-a
>        /etc/foo.d/01-b
> 
>       Is the result a concatentation of /etc/foo + the .d files?  I
>       would guess
>       at the beginning?
> 
>       sage
> 
> 
> 
> 
>       >
>       > On Wed, Dec 10, 2014 at 1:39 PM, Sage Weil <sweil@xxxxxxxxxx>
>       wrote:
>       >       On Wed, 10 Dec 2014, Robert LeBlanc wrote:
>       >       > I guess you would have to specify the cluster name in
>       >       /etc/ceph/ceph.conf?
>       >       > That would be my only concern.
>       >
>       >       ceph.conf is $cluster.conf (default cluster name is
>       'ceph').
>       >
>       >       Unfortunately under systemd it's not possible to
>       parameterize
>       >       daemons with
>       >       two variables (cluster and id) so the cluster is fixed
>       per-host
>       >       in
>       >       /etc/defaults/ceph (or something like that).  At least
>       that's
>       >       how the
>       >       current units work..
>       >
>       >       sage
>       >
>       >       >
>       >       > On Wed, Dec 10, 2014 at 1:28 PM, Sage Weil
>       <sweil@xxxxxxxxxx>
>       >       wrote:
>       >       >       On Wed, 10 Dec 2014, Robert LeBlanc wrote:
>       >       >       > I'm a big fan of /etc/*.d/ configs. Basically
>       if the
>       >       package
>       >       >       maintained
>       >       >       > /etc/ceph.conf includes all files in
>       /etc/ceph.d/ then
>       >       I can
>       >       >       break up the
>       >       >       > files however I'd like (mon, ods, mds, client,
>       one per
>       >       daemon,
>       >       >       etc). Then
>       >       >       > when upgrading, I don't have to worry about
>       the new
>       >       packages
>       >       >       trying to
>       >       >       > overwrite my conf file. If you have the
>       include order
>       >       be
>       >       >       /var/lib/ceph/,
>       >       >       > /etc/ceph.conf, /etc/ceph.d/ then package
>       maintainers
>       >       can put
>       >       >       in things so
>       >       >       > that it "just works" and can be easily
>       overridden with
>       >       >       /etc/ceph.d/.
>       >       >       > Just my $0.02.
>       >       >
>       >       >       How about /etc/ceph/ceph.conf.d/* ?  In reality
>       it's
>       >       >       /etc/ceph/$cluster.conf.d/*
>       >       >
>       >       >       sage
>       >       >
>       >       >
>       >       >       >
>       >       >       > On Sat, Dec 6, 2014 at 11:39 AM, Sage Weil
>       >       <sweil@xxxxxxxxxx>
>       >       >       wrote:
>       >       >       >       Several things are different/annoying
>       with
>       >       radosgw than
>       >       >       with
>       >       >       >       other Ceph
>       >       >       >       daemons:
>       >       >       >
>       >       >       >       - binary/package are named 'radosgw'
>       instead of
>       >       >       'ceph-rgw'.
>       >       >       >
>       >       >       >       This is cosmetic, but it also makes it
>       fit less
>       >       well
>       >       >       into the
>       >       >       >       new /var/lib/ceph/* view of things.
>       >       >       >
>       >       >       >       - default log location is
>       >       >       /var/log/radosgw/$cluster-$name.log
>       >       >       >       instead of
>       >       >       >       /var/lib/ceph/$cluster-$rgw.$name.log
>       (or
>       >       similar).
>       >       >       >
>       >       >       >       - rgw_data default is
>       /var/lib/ceph/radosgw
>       >       instead of
>       >       >       >       /var/lib/ceph/rgw
>       >       >       >
>       >       >       >       (not sure if 3 letters for consistency
>       is
>       >       better?)
>       >       >       >
>       >       >       >       - rgw usually authenticates as a
>       >       client.something user,
>       >       >       which
>       >       >       >       means if you
>       >       >       >       do use more standard rgw log names, then
>       you get
>       >       >       >     
>       >        /var/log/ceph/client.something.$pid.$uniqueid.log. 
>       >       >       There is a
>       >       >       >       loose
>       >       >       >       convention that 'something' is
>       'rgw.hostname'
>       >       (i.e.,
>       >       >       >       client.rgw.hostname).
>       >       >       >
>       >       >       >       - radosgw has it's own separate sysvinit
>       script
>       >       that
>       >       >       enumerates
>       >       >       >       daemons
>       >       >       >       from /etc/ceph/ceph.conf sections that
>       start
>       >       with
>       >       >       >       client.radosgw.*
>       >       >       >
>       >       >       >       - radosgw upstart script is called
>       radosgw (not
>       >       >       ceph-rgw) and
>       >       >       >       enumerates
>       >       >       >       daemons from /var/lib/ceph/radosgw/*
>       >       >       >
>       >       >       >       (totally different than sysvinit!)
>       >       >       >
>       >       >       >       - radosgw instances usually need some
>       stuff in
>       >       ceph.conf
>       >       >       to make
>       >       >       >       them
>       >       >       >       behave properly, which means they need a
>       section
>       >       in the
>       >       >       shared
>       >       >       >       /etc/ceph/ceph.conf.  more work for
>       admins or
>       >       config
>       >       >       management
>       >       >       >       systems.
>       >       >       >
>       >       >       >       - on rpm-based systems we have a
>       separate
>       >       sysvinit
>       >       >       script that
>       >       >       >       is
>       >       >       >       slightly different (mostly because the
>       username
>       >       is
>       >       >       different,
>       >       >       >       apache
>       >       >       >       instead of www-data).
>       >       >       >
>       >       >       >       ---
>       >       >       >
>       >       >       >       There is enough wrong here and little
>       enough
>       >       convention
>       >       >       that my
>       >       >       >       proposal is to essentially start fresh:
>       >       >       >
>       >       >       >       - rename package ceph-rgw. 
>       obsoletes/replaces
>       >       radosgw.
>       >       >       >
>       >       >       >       - merge rgw start/stop into standard
>       sysvinit
>       >       script
>       >       >       (just
>       >       >       >       another
>       >       >       >       daemon type?).
>       >       >       >
>       >       >       >       - normalize upstart start/stop (just
>       rename
>       >       radosgw-* to
>       >       >       >       ceph-rgw-*,
>       >       >       >       basically).
>       >       >       >
>       >       >       >       - make upstart use /var/lib/ceph/rgw
>       instead of
>       >       >       >       /var/lib/ceph/radosgw (do
>       >       >       >       this automagically on upgrade?  that
>       will at
>       >       least avoid
>       >       >       the
>       >       >       >       upgrade pain
>       >       >       >       for ubuntu users)
>       >       >       >
>       >       >       >       - create new systemd start/stop that are
>       correct
>       >       the
>       >       >       first time
>       >       >       >       around.
>       >       >       >
>       >       >       >       - move log file to /var/log/ceph
>       >       >       >
>       >       >       >
>       >       >       >       The part I'm not sure about is how to
>       handle
>       >       config.  I
>       >       >       would
>       >       >       >       really like
>       >       >       >       the ability to put per-daemon config
>       stuff in
>       >       >       >       /var/lib/ceph/rgw/foo/conf
>       >       >       >       or config, but there is no 'include
>       file'
>       >       function in
>       >       >       our
>       >       >       >       ini-file parser
>       >       >       >       (or in other typical ini-file
>       implementations
>       >       that i can
>       >       >       find)
>       >       >       >       and I don't
>       >       >       >       like the idea the per-daemon config
>       would
>       >       completely
>       >       >       supplant
>       >       >       >       the
>       >       >       >       /etc/ceph/ one.
>       >       >       >
>       >       >       >       Basically, I'd like to get to a point
>       where we
>       >       can
>       >       >       >       programatically deploy
>       >       >       >       an rgw without any wonky code that edits
>       the
>       >       ceph.conf. 
>       >       >       Perhaps
>       >       >       >       the way
>       >       >       >       to accomplish this is to have the admin
>       create a
>       >       generic
>       >       >       >       client.rgw user
>       >       >       >       and generic [client.rgw] section in the
>       global
>       >       >       ceph.conf?
>       >       >       >
>       >       >       >       If there were an include file function,
>       we could
>       >       make
>       >       >       the
>       >       >       >       per-daemon
>       >       >       >       config file something like
>       >       >       >
>       >       >       >        include /etc/ceph/$cluster.conf
>       >       >       >        [client.rgw.hostname]
>       >       >       >        rgw foo = bar
>       >       >       >        rgw baz = blip
>       >       >       >
>       >       >       >       or whatever.
>       >       >       >
>       >       >       >       Thoughts?  Suggestions?
>       >       >       >
>       >       >       >       sage
>       >       >       >     
>        _______________________________________________
>       >       >       >       ceph-users mailing list
>       >       >       >       ceph-users@xxxxxxxxxxxxxx
>       >       >       >     
>       >        http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>       >       >       >
>       >       >       >
>       >       >       >
>       >       >       >
>       >       >
>       >       >
>       >       >
>       >       >
>       >
>       >
>       >
>       >
> 
> 
> 
> 
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux