open todo item
This commit is contained in:
parent
81350d61fa
commit
a8de302eab
|
@ -0,0 +1,35 @@
|
||||||
|
> Please consider the following three properties
|
||||||
|
> - p1,
|
||||||
|
> - p2 and
|
||||||
|
> - p3 = onChange p1 p2.
|
||||||
|
>
|
||||||
|
> If p1 returns MadeChange and p2 FailedChange, then p3 is FailedChange.
|
||||||
|
> If we apply this property again without any changes, then p3 is
|
||||||
|
> NoChange.
|
||||||
|
>
|
||||||
|
> This behavior could create problematic situations since p3 can be
|
||||||
|
> required by another property which thinks that p3 has been applied
|
||||||
|
> whereas it's not the case...
|
||||||
|
>
|
||||||
|
> -- Antoine
|
||||||
|
|
||||||
|
Very well stated.
|
||||||
|
|
||||||
|
I looked over existing uses of onChange in propellor, and many of them
|
||||||
|
seem safe.
|
||||||
|
|
||||||
|
The safe ones are where there's eg, a daemon, with a Property that it's
|
||||||
|
running, and another Property that configures it in some way with
|
||||||
|
onChange restart. If the restart fails, then the daemon is presumably
|
||||||
|
left not running (unless it failed to stop the daemon somehow); a state
|
||||||
|
that the former Property will attempt to take care of (or at least
|
||||||
|
continue to indicate failure on) the next time propellor runs.
|
||||||
|
|
||||||
|
Hmm, there are also lots of uses of onChange reloaded. If the new
|
||||||
|
configuration of a daemon is broken, this can fail to reload it, and
|
||||||
|
leave the daemon running with the old configuration. So that's more
|
||||||
|
problimatic, and then there are some more problimatic yet uses of
|
||||||
|
onChange, like the one that runs apt-get update after a change to
|
||||||
|
sources.list.
|
||||||
|
|
||||||
|
--[[Joey]]
|
Loading…
Reference in New Issue