[systemd-devel] Deployment/environment names [was: Re: [PATCH 2/4] Add ENVIRONMENT to hostnamed]
Josh Triplett
josh at joshtriplett.org
Tue Jul 8 18:44:19 PDT 2014
On Wed, Jul 09, 2014 at 01:16:04AM +0000, "Jóhann B. Guðmundsson" wrote:
>
> On 07/09/2014 01:05 AM, josh at joshtriplett.org wrote:
> >On Tue, Jul 08, 2014 at 10:45:11PM +0000, "Jóhann B. Guðmundsson" wrote:
> >>>
> >>>On 07/08/2014 10:45 PM, Josh Triplett wrote:
> >>>> >[Responding to this version because the latest thread hasn't appeared in
> >>>> >the mbox archives yet. The comments apply equally well to the latest
> >>>> >version, "Add DEPLOYMENT to hostnamectl".]
> >>>> >
> >>>> >On Tue, Jul 08, 2014 at 12:38:50AM +0000, Jóhann B. Guðmundsson wrote:
> >>>>> >>+static bool valid_environment(const char *environment) {
> >>>>> >>+
> >>>>> >>+ assert(environment);
> >>>>> >>+
> >>>>> >>+ return nulstr_contains(
> >>>>> >>+ "development\0"
> >>>>> >>+ "staging\0"
> >>>>> >>+ "production\0",
> >>>>> >>+ environment);
> >>>>> >>+}
> >>>> >Can we please*not* attempt to limit or "standardize" this particular
> >>>> >set of machine roles? As already demonstrated in the previous thread,
> >>>> >people have all sorts of staged deployment strategies. Furthermore,
> >>>> >the concept of a machine role shouldn't be limited to service deployment
> >>>> >strategies.
> >>>> >
> >>>
> >>>Roles != the environment they run in.
> >I'm not trying to bikeshed over the naming of the variable itself. I'm
> >arguing that standardizing this particular bit of metadata won't work
> >well when so many different deployment strategies exist. Thus, rather
> >than having a fixed set of keywords, I'd propose simply saying "this
> >contains keywords", and leaving the specific keywords up to the admin.
> >If you attempt to standardize production/development/staging, you'll
> >either end up with a model that only works for a small subset of
> >deployments, or you'll end up adding twelve more keywords, at which
> >point you might as well have just said "use whatever keyword you like".
>
> The 4 tier covers the majority of the models since more or less the entire
> internet recommend three tier model including M$ [1]
> Anyone wanting to extend that further can do so using the "PRETTY_HOSTNAME="
"PRETTY_HOSTNAME" does not equate to "description", and in any case is
not the same thing as a deployment environment.
> This patch is very specific to deployment environment and to solve a very
> specific long standing problem and to achieve that we need to a standardize,
> if we dont we can just as well drop this patch since in the long run we
> cannot introduce something like "ConditionDeployment=" like David mentioned
> and it kinda defeat's my purpose working in this in the firsplace...
Distribution unit files will never use ConditionDeployment; only
admin-created or admin-modified unit files will. Given that, it will
work perfectly without a standardized set of names. Just specify that
DEPLOYMENT contains a keyword *such as* (but not limited to)
"production" or "development", and then state that ConditionDeployment
can specify a keyword. That will work perfectly without limiting the
set of possible keywords.
- Josh Triplett
More information about the systemd-devel
mailing list