[systemd-devel] Extending machine-info to include machine roles

Lennart Poettering lennart at poettering.net
Wed Jul 9 04:18:35 PDT 2014


On Wed, 09.07.14 12:58, Tollef Fog Heen (tfheen at err.no) wrote:

> ]] "Jóhann B. Guðmundsson" 
> 
> > On 07/09/2014 08:33 AM, Tollef Fog Heen wrote:
> > > ]] "Jóhann B. Guðmundsson"
> > >
> > >> If we manage to do that, introduce "rolefulfilment=" in units which we
> > >> would define those standardized predefined set of roles as in for
> > >> httpd.service we might have rolefulfilment=web server, for postgresql,
> > >> rolefulfilment=database server etc.  so you could list/query etc the
> > >> machine primary role and at the same time list the daemon/service who
> > >> fulfills that role
> > > It's not useful to know that a machine is a database server.  It's
> > > useful to know if it's a postgres server or a mysql server or an oracle
> > > server, be it for monitoring or for connecting to it.
> > 
> > Yes it is and if you dont see the benefits of knowing the roles of
> > your machine or containers and using roles in your infrastructure I
> > cannot help you.
> 
> I know and use roles in my infrastructure, so that's not my question.
> I'm objecting to the use of a predefined list of roles, since that will
> not match my infrastructure, and I'm wondering what the use case for a
> very restricted list like that is.

I think it would be wise to neither try to enforce normalization for the
"deployment" field, nor for the "role" field. I think the most commonly
used subset of the vocabulary should be documented in machine-info(5),
in all clarity, but if setups have different workflows or a different
scheme of assigning roles then that's totally fine.

This is quite different from, let's say the chassis field, where we
actually do have a good idea of the various form factors systems are
built in, and where new form factors don't appear every day.

I'd also recommend not making the vocabulary to standardize on too
large. Let's pick the 10 most common roles to document, but I am not
sure I think it is worth trying to declare a specific name for any
possible server there is in the world.

systemd isn't really the place to standardize workflows or computing
infrastructure setups with. We should cover the common cases well, and
make the more exotic cases possible, and I think this is best done by
documenting a digestable number of recommendations, and leaving the rest
for users and admins to define.

If you want to standardize more than that I figure this should happen
outside of system, and we can add references to that to the man page. We
do that all the time where we don't want to be the normative group.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list