| Age | Commit message (Collapse) | Author |
|
* Property has been converted to a GADT, and will be Property NoInfo
or Property HasInfo.
This was done to make sure that ensureProperty is only used on
properties that do not have Info.
Transition guide:
- Change all "Property" to "Property NoInfo" or "Property WithInfo"
(The compiler can tell you if you got it wrong!)
- To construct a RevertableProperty, it is useful to use the new
(<!>) operator
- Constructing a list of properties can be problimatic, since
Property NoInto and Property WithInfo are different types and cannot
appear in the same list. To deal with this, "props" has been added,
and can built up a list of properties of different types,
using the same (&) and (!) operators that are used to build
up a host's properties.
|
|
Not yet used
|
|
|
|
This is more general; it doesn't need to contain a Host.
It would, for example, be possible to make Property itself be an instance
of PropAccum.
|
|
Properties now form a tree, instead of the flat list used before.
This simplifies propigation of Info from the Properties used inside a
container to the outer host; the Property that docks the container on the
host can just have as child properties all the inner Properties, and their
Info can then be gathered recursively. (Although in practice it still needs
to be filtered, since not all Info should propigate out of a container.)
Note that there is no change to how Properties are actually satisfied.
Just because a Property lists some child properties, this does not mean
they always have their propertySatisfy actions run. It's still up to the
parent property to run those actions.
That's necessary so that a container's properties can be satisfied inside
it, not outside. It also allows property combinators to
add the combined Properties to their childProperties list, even if,
like onChange, they don't always run the child properties at all.
Testing: I tested that the exact same Info is calculated before and after
this change, for every Host in my config file.
|
|
docker exec doesn't enter a chroot.
|
|
where Info is correctly propigated. Better approach needed.
|
|
|
|
|
|
|
|
(cherry picked from commit 1d02d589c79781cc4b0bd82467edbdf64c40f34d)
|
|
|
|
|
|
|
|
|
|
factored out info up-propigation code rom Docker
|
|
Since the containers are no longer on the host list, they were not found
while provisioning, oops.
To fix, had to add to a host's info a map of the containers docked to it.
Unfortunately, that required Propellor.Types.Info be glommed into
Propellor.Types, since it needed to refer to Host.
|
|
Docker containers are now a separate data type, cannot be included in the
main host list, and are instead passed to Docker.docked. (API change)
|
|
|
|
|
|
Lock a lock file while provisioning inside, otherwise propellor could be
running to init the container when the system has just booted, or the
container was just started from being stopped, and at the same time,
propellor run outside the container chains into it to provision.
Previously, simplesh prevented this in a different way.
|
|
|
|
|
|
|
|
And --chain was already not used.
|
|
|
|
package which has been removed in docker.io 1.3.1~dfsg1-2.
|
|
|
|
The problem is it fell back to looking for an alias for the bad hostname,
but to get the aliases, it needs to know which hosts are docked where,
so looped.
|
|
This reverts commit 26bef2486d27b2cde6feda633c6a7509675a3fe5.
|
|
This reverts commit 8d353813bf1e4d0c64f33cf2beed0938eeca92b4.
|
|
This reverts commit ac7b182b5a0f3711414757d05bb461385516e700.
|
|
|
|
This reverts commit 80f5b53f1b7fdc876d5e45df68c29f53bd9666b2.
|
|
This reverts commit 45ce3a5e8ccf90e357dbaf6e0152daa4de88b7fd.
|
|
|
|
|
|
This reverts commit 7637ea0af9ff4056cbdc16f25016785442d4b97e.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This was using a lot of disk space. Instead, start the container, and then
use the running container to check if docker is running it with the right
params. In the unlikely case that the params have changed, we still need to
commit the container and restart it. The common case of eg a reboot no
longer commits though.
|
|
|
|
|
|
|