summaryrefslogtreecommitdiff
path: root/tests/cloud_tests/platforms/snapshots.py
diff options
context:
space:
mode:
authorChad Smith <chad.smith@canonical.com>2018-02-02 11:11:36 -0700
committerChad Smith <chad.smith@canonical.com>2018-02-02 11:11:36 -0700
commit78013bc65030421699b5feb66bc8b7a205abfbc0 (patch)
tree2ebf7111129f4aaf8a833ba6d226d4513ed59388 /tests/cloud_tests/platforms/snapshots.py
parent192261fe38a32edbd1f605ba25bbb6f4822a0720 (diff)
parentf7deaf15acf382d62554e2b1d70daa9a9109d542 (diff)
downloadvyos-cloud-init-78013bc65030421699b5feb66bc8b7a205abfbc0.tar.gz
vyos-cloud-init-78013bc65030421699b5feb66bc8b7a205abfbc0.zip
merge from master at 17.2-30-gf7deaf15
Diffstat (limited to 'tests/cloud_tests/platforms/snapshots.py')
-rw-r--r--tests/cloud_tests/platforms/snapshots.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/cloud_tests/platforms/snapshots.py b/tests/cloud_tests/platforms/snapshots.py
new file mode 100644
index 00000000..94328982
--- /dev/null
+++ b/tests/cloud_tests/platforms/snapshots.py
@@ -0,0 +1,45 @@
+# This file is part of cloud-init. See LICENSE file for license information.
+
+"""Base snapshot."""
+
+
+class Snapshot(object):
+ """Base class for snapshots."""
+
+ platform_name = None
+
+ def __init__(self, platform, properties, config, features):
+ """Set up snapshot.
+
+ @param platform: platform object
+ @param properties: image properties
+ @param config: image config
+ @param features: supported feature flags
+ """
+ self.platform = platform
+ self.properties = properties
+ self.config = config
+ self.features = features
+
+ def __str__(self):
+ """A brief description of the snapshot."""
+ return '-'.join((self.properties['os'], self.properties['release']))
+
+ def launch(self, user_data, meta_data=None, block=True, start=True,
+ use_desc=None):
+ """Launch instance.
+
+ @param user_data: user-data for the instance
+ @param instance_id: instance-id for the instance
+ @param block: wait until instance is created
+ @param start: start instance and wait until fully started
+ @param use_desc: description of snapshot instance use
+ @return_value: an Instance
+ """
+ raise NotImplementedError
+
+ def destroy(self):
+ """Clean up snapshot data."""
+ pass
+
+# vi: ts=4 expandtab