Narayan Desai wrote:
You're on the right track here, but let me slightly refocus your
comments. The feature you are describing here is an application of
reversibility. The bcfg2 client and server do not use the specification
language to communicate. They use a simple language with very few
object types to communicate. This language is reversible.
[SNIP]
While this can be done, the key intuition is that a system that builds
a larger, abstract interface will necessarily make a lot more
assumptions about mechanisms (how are addresses configured in
/etc/hosts, how are users created, how are cronjobs created). These
mechanisms will be fragile when you allow users to make local
modifications and then attempt to interpret them in the higher-grained
language.
The goal here is to support a model where you have a specification
that can validate it against all current states so that you can
understand:
- Which hosts are out of spec
- Why they are out of spec
- What parts of the system are not reflected in the spec
- How manual administrative actions should be integrated into the spec
This isn't just a per-entry validation, this is more like a diff where
you have added new source files to a directory.
If this is your definition of reversibility, then Puppet is reversible.
It's true that there are edge aspects I have not yet implemented (you
can't yet use the Puppet user tools to figure out which parts of the
system are not reflected in the spec), but that one bit is on the
horizon and it's merely a question of implementation not design. The
core of Puppet certainly supports this just fine, as my link to my
x2puppet blog post should show. Puppet is perfectly capable of querying
the system for state, and if customers were interested I could add the
tools for comparing that queried state to the configured state.
How did you conclude that Puppet is not reversible? Since I assume you
are still convinced it is not, what would it take to convince you? A
video of me querying state and integrating it into a config?
And can you now please define reconciliation?
--
Get forgiveness now -- tomorrow you may no longer feel guilty.
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com
_______________________________________________
lssconf-discuss mailing list
lssconf-discuss@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/lssconf-discuss