All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alfredo Deza <adeza@redhat.com>
To: Kyle Bader <kyle.bader@gmail.com>
Cc: "Mark Nelson" <mnelson@redhat.com>,
	"John Spray" <jspray@redhat.com>,
	"Piotr Dałek" <piotr.dalek@corp.ovh.com>,
	"Sage Weil" <sweil@redhat.com>,
	"Ceph Development" <ceph-devel@vger.kernel.org>
Subject: Re: config on mons
Date: Tue, 14 Nov 2017 13:01:25 -0500	[thread overview]
Message-ID: <CAC-Np1zHyOQBc+E=6Hy1RtsECd3m0SKWUxKrWaQOcBFJd6iLuA@mail.gmail.com> (raw)
In-Reply-To: <CAFMfnwpzu0bcV3NVuM94J2GoFrAKmroq1696Xzbpvrf3VovTHQ@mail.gmail.com>

On Tue, Nov 14, 2017 at 11:37 AM, Kyle Bader <kyle.bader@gmail.com> wrote:
>>>> Using Ceph on any decent scale actually requires one to use at least
>>>> Puppet
>>>> or similar tool, I wouldn't add any unnecessary complexity to already
>>>> complex code just because of novice users that are going to have hard
>>>> time
>>>> using Ceph anyway once a disk breaks and needs to be replaced, or when
>>>> performance goes to hell because users are free to create and remove
>>>> snapshots every 5 minutes.
>
> This discussion reminds me of a heated debate we had in the early days
> about whether configuration management should handle the provisioning
> of OSDs, or whether Ceph should have a tool to hide the ugliness. At
> the time, I was staunchly on the configuration management side. We
> used this horribleness to create new OSDs:
>
> https://github.com/dreamhost-cookbooks/ceph/blob/de5929eb45bda50785aa01181b281e25af0d1785/recipes/osd.rb
>
> Today we have ceph-disk (and soon to be ceph-volume)! I still have my
> reservations about the level of udev wizardry, which is tricky to
> debug, but it generally works and makes the experience better the vast
> majority of operators, reglardless . This lead to a single method to
> prepare OSDs that was configuration management agnostic. Nowadays all
> the Ansible/Chef/Puppet thingers use ceph-disk.

There is a separation needed here I think, where there are tools and
abstractions that work at a local (or close to always local) level.
ceph-disk and
ceph-volume are good examples of this, since they operate with the
context of local devices. At some point during the process they do
need to inform
the cluster of their operations though (e.g. there is a new OSD,
register as part of the cluster).

So configuration that makes sense for a localized service like
ceph-volume (or ceph-disk) makes sense to be on the server itself.
That is why there are abstractions
via Puppet/Chef/Ansible for these tools, because these tools are
cluster-aware, and they are just delegating to localized services.

For configuration it might make sense to have this sort of duality,
where some settings and configuration makes sense for the server but
the rest is for the cluster.

I'm not sure that everything (exclusively) must be file-based or on
the monitors. If we are trying to make sure users are happy with these
changes, lets accept/embrace views like the one from Piotr, which
doesn't mean throwing away ideas on where we should be headed.

> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2017-11-14 18:01 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-10 15:30 config on mons Sage Weil
2017-11-13  0:27 ` Patrick Donnelly
2017-11-13  1:43 ` Yehuda Sadeh-Weinraub
2017-11-13  9:57   ` John Spray
2017-11-13 16:29     ` Yehuda Sadeh-Weinraub
2017-11-13  4:30 ` Christian Wuerdig
2017-11-13 10:00   ` John Spray
2017-11-13 16:45     ` Mark Nelson
2017-11-13 18:20       ` Kyle Bader
2017-11-13 18:40         ` John Spray
2017-11-14 10:18           ` Piotr Dałek
2017-11-14 11:36             ` John Spray
2017-11-14 13:58               ` Piotr Dałek
2017-11-14 16:24                 ` Sage Weil
2017-11-14 14:33               ` Mark Nelson
2017-11-14 16:37                 ` Kyle Bader
2017-11-14 18:01                   ` Alfredo Deza [this message]
2017-11-14 13:48             ` Mark Nelson
2017-11-13 13:23 ` John Spray
2017-11-14 22:21 ` Sage Weil
2017-11-14 23:45   ` John Spray
2017-11-15 13:32     ` Sage Weil
2017-11-15 17:16       ` Lars Marowsky-Bree
2017-11-15 21:26         ` Sage Weil
2017-11-30 22:31           ` Gregory Farnum
2017-12-01 17:53             ` Sage Weil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAC-Np1zHyOQBc+E=6Hy1RtsECd3m0SKWUxKrWaQOcBFJd6iLuA@mail.gmail.com' \
    --to=adeza@redhat.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=jspray@redhat.com \
    --cc=kyle.bader@gmail.com \
    --cc=mnelson@redhat.com \
    --cc=piotr.dalek@corp.ovh.com \
    --cc=sweil@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.