On 07/12, 'Andrew Webber' via CoreOS User wrote:
> My understanding is that this assumes I am running in RAM and have not
> installed to disk. I would not PXE boot a machine that has already been
> provisioned.
Ah, yes. I misunderstood and thought you were PXE booting the system
everytime.
> One of the many advantages of the cloud init process that a misconfigured
> machines would be restored on reboot because cloud init runs every boot.
> Ignition, as far as I know, does not (only if a special kernel flag it set).
> This helped when a malicious program or strange admin performed some
> changes on the machine that made the machine unhealthy. Many times cloud
> init would reset those changes in for example a write_files section. This
> felt like a nice process to combine with a coreos update restart (clean
> partition with new update and a reset of all files and services specified
> in the cloud config).
This is outside the scope of Ignition. It's designed to be a
provisioning tool only. If you are okay with re-provisioning your
machine every boot (without wiping data), it would be possible to set up
your machines to PXE boot and use a physical disk for their data. This
would ensure that your configuration is reapplied every boot without
throwing away docker containers, cache, etc..
> I guess this is not possible because one cannot specific in ignition
> sections that sections should only run on first boot (e.g. wipe file
> system).
Every section is evaluated when Ignition is run, but that doesn't
necessarily mean that Ignition will make a change. The "filesystems"
section is a good example of this [1]. Ignition just makes sure that the
end state is what was requested. If the filesystems are already
configured, Ignition won't touch them or their data.
-Alex
[1]:
https://coreos.com/ignition/docs/latest/filesystems.html