On Wed, 25 May 2016 12:58:52 +0200 Eystein Måløy Stenberg 
<[email protected]> wrote: 

EMS> I think skipping promises with unexpanded variables is a safe and
EMS> simple approach.

EMS> I have seen too many issues with configurations (and thus services)
EMS> being broken due to a variables not expanded for some reason. It is
EMS> better to leave old and working configurations in this case.

EMS> Unexpanded variables is a bug (either CFEngine or policy) and I don't
EMS> think we should proceed, but flag the given promise as not kept.

I agree, but also think the promise outcome should be a new one:
"skipped". Or there should be no outcome at all. Otherwise, "promise not
kept" is merging configuration language problems with agent problems
like file permissions.

I propose `mystring` to be a new "literal" string format that indicates
variable expansion should not be done inside, for unusual cases where
you really do need `$(foo)` in a Makefile etc.

Usually this is 'mystring' in other languages but that's already taken
in CFEngine. So when a string is specified with `mystring`, it can be
skipped by the expander. But if it's inserted in a non-literal string,
the "literal" flag won't be preserved, so there is only one level of
complexity.

Ted

-- 
You received this message because you are subscribed to the Google Groups 
"dev-cfengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dev-cfengine/874m9mrzq4.fsf%40lifelogs.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to