From 076b29c1c4aa4ab6108e05adea212364dda9af9a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 30 Jul 2011 11:59:24 +0100 Subject: [PATCH 1/1] Revert: split into `revert' and `revert-full-system' --- TODO | 3 --- debian/changelog | 1 + doc/README.virtualisation-server | 16 ++++++++++++++++ runner/adt-run | 4 ++-- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index 393b029..e06a40e 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,3 @@ - schroot's snapshots should use dmsetup directly, not lvm ? at least there should be non-persistent snapshots - -- schroot snapshots share /tmp and /home which is a bit strange - need to make 'revert' property more granular diff --git a/debian/changelog b/debian/changelog index 6374829..34a1ffa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ autopkgtest (2.0.0) unstable; urgency=low that tests which need it have to declare. * Incompatible virtualisation server spec changes: - print-execute-command replaced by print-{auxverb,shscript}-command. + - "revert" capability split into "revert" and "revert-full-system" * New adt-virt-schroot for driving schroot. * Remove dependency on python in testbed. * Spec wording improvements, clarifications, editorial changes, etc. diff --git a/doc/README.virtualisation-server b/doc/README.virtualisation-server index 2acb042..6c484ba 100644 --- a/doc/README.virtualisation-server +++ b/doc/README.virtualisation-server @@ -44,6 +44,22 @@ Protocol Currently defined capabilities: + + revert + The "revert" command is supported. The base semantics + are that the following aspects of the testbed are reverted: + - the set of installed packages + - the contents of the root filesystem, BUT + - NOT the contents of /home + - NOT the contents of /tmp + - NOT the set of running processes + + + revert-full-system + The "revert" and "close" commands will completely revert the + testbed to the state after "open". This reversion is done + with some kind of virtualisation, and includes (without + limitation) the contents of all the testbed filesystems, its + running processes, network configuration, etc. etc. etc. + + revert The testbed will actually revert when it is closed. If this feature is not mentioned then changes to the testbed are diff --git a/runner/adt-run b/runner/adt-run index 1b7f900..1a70a61 100755 --- a/runner/adt-run +++ b/runner/adt-run @@ -1016,9 +1016,9 @@ class Restriction_rw_build_tree(Restriction): pass class Restriction_build_neeeded(Restriction): pass class Restriction_breaks_testbed(Restriction): def __init__(r, rname, base): - if 'revert' not in testbed.caps: + if 'revert-full-system' not in testbed.caps: raise Unsupported(f.lno, - 'Test breaks testbed but testbed cannot revert') + 'Test breaks testbed but testbed does not advertise revert-full-system') class Restriction_needs_root(Restriction): def __init__(r, rname, base): if 'root-on-testbed' not in testbed.caps: -- 2.30.2