blob: ac213cc46127b1e08abf9492c9172d676537f97e [file] [log] [blame]
mblighdcd57a82007-07-11 23:06:47 +00001#!/usr/bin/python
2#
3# Copyright 2007 Google Inc. Released under the GPL v2
4
mblighdc735a22007-08-02 16:54:37 +00005"""
6This module defines the Hypervisor class
mblighdcd57a82007-07-11 23:06:47 +00007
8 Hypervisor: a virtual machine monitor
9"""
10
mblighdc735a22007-08-02 16:54:37 +000011__author__ = """
12mbligh@google.com (Martin J. Bligh),
mblighdcd57a82007-07-11 23:06:47 +000013poirier@google.com (Benjamin Poirier),
mblighdc735a22007-08-02 16:54:37 +000014stutsman@google.com (Ryan Stutsman)
15"""
mblighdcd57a82007-07-11 23:06:47 +000016
17
18import installable_object
19
20
21class Hypervisor(installable_object.InstallableObject):
mblighdc735a22007-08-02 16:54:37 +000022 """
23 This class represents a virtual machine monitor.
24
mblighdcd57a82007-07-11 23:06:47 +000025 Implementation details:
26 This is an abstract class, leaf subclasses must implement the methods
27 listed here and in parent classes which have no implementation. They
28 may reimplement methods which already have an implementation. You
29 must not instantiate this class but should instantiate one of those
mblighdc735a22007-08-02 16:54:37 +000030 leaf subclasses.
31 """
32
mblighdcd57a82007-07-11 23:06:47 +000033 host = None
34 guests = None
mblighdc735a22007-08-02 16:54:37 +000035
mblighdcd57a82007-07-11 23:06:47 +000036 def __init__(self, host):
37 super(Hypervisor, self).__init__()
38 self.host= host
mblighdc735a22007-08-02 16:54:37 +000039
40
mblighdcd57a82007-07-11 23:06:47 +000041 def new_guest(self):
42 pass
mblighdc735a22007-08-02 16:54:37 +000043
44
mbligh34169c22007-07-23 16:38:51 +000045 def delete_guest(self, guest_hostname):
mblighdcd57a82007-07-11 23:06:47 +000046 pass
mblighdc735a22007-08-02 16:54:37 +000047
48
mbligh34169c22007-07-23 16:38:51 +000049 def reset_guest(self, guest_hostname):
mblighdcd57a82007-07-11 23:06:47 +000050 pass