After any change of RamenVersions.sync_conf the confserver refuses to reload the configuration, with: confserver: No previous configuration state, will start empty.
The configuration is currently marshalled in a file named after that version number.
This file cannot be versionned properly without also versionning almost all types from Ramen and Dessser so this is not really an option.
The opposite approach would be to serialize this as strings so that the reload would survive the failure to unserialize individual values.
For speed, we could have both: marshal for snapshots and a slower stringification at exit.
Turned out, the assumption that any successfully written marshalled file could always been read again was incorrect.
For now, hide that behavior behind a flag.
After any change of RamenVersions.sync_conf the confserver refuses to reload the configuration, with:
confserver: No previous configuration state, will start empty
.The configuration is currently marshalled in a file named after that version number.
This file cannot be versionned properly without also versionning almost all types from Ramen and Dessser so this is not really an option. The opposite approach would be to serialize this as strings so that the reload would survive the failure to unserialize individual values. For speed, we could have both: marshal for snapshots and a slower stringification at exit.