summaryrefslogtreecommitdiff
path: root/cloudinit/persistence.py
Commit message (Collapse)AuthorAgeFilesLines
* introduce an upgrade framework and related testing (#659)Daniel Watkins2020-11-171-0/+67
This commit does the following: * introduces the `cloudinit.persistence` module, containing `CloudInitPickleMixin` which provides lightweight versioning of objects' pickled representations (and associated testing) * introduces a basic upgrade testing framework (in `cloudinit.tests.test_upgrade`) which unpickles pickles from previous versions of cloud-init (stored in `tests/data/old_pickles`) and tests invariants that the current cloud-init codebase expects * uses the versioning framework to address an upgrade issue where `Distro.networking` could get into an unexpected state, and uses the upgrade testing framework to confirm that the issue is addressed