blob: 27a6108d1d829c88543d6269b078b601d12dcc07 [file] [log] [blame]
mblighdcd57a82007-07-11 23:06:47 +00001#
2# Copyright 2007 Google Inc. Released under the GPL v2
3
mblighdc735a22007-08-02 16:54:37 +00004"""
5This module defines the Hypervisor class
mblighdcd57a82007-07-11 23:06:47 +00006
jadmanski0afbb632008-06-06 21:10:57 +00007 Hypervisor: a virtual machine monitor
mblighdcd57a82007-07-11 23:06:47 +00008"""
9
mblighdc735a22007-08-02 16:54:37 +000010__author__ = """
11mbligh@google.com (Martin J. Bligh),
mblighdcd57a82007-07-11 23:06:47 +000012poirier@google.com (Benjamin Poirier),
mblighdc735a22007-08-02 16:54:37 +000013stutsman@google.com (Ryan Stutsman)
14"""
mblighdcd57a82007-07-11 23:06:47 +000015
16
17import installable_object
18
19
20class Hypervisor(installable_object.InstallableObject):
jadmanski0afbb632008-06-06 21:10:57 +000021 """
22 This class represents a virtual machine monitor.
mblighdc735a22007-08-02 16:54:37 +000023
jadmanski0afbb632008-06-06 21:10:57 +000024 Implementation details:
25 This is an abstract class, leaf subclasses must implement the methods
26 listed here and in parent classes which have no implementation. They
27 may reimplement methods which already have an implementation. You
28 must not instantiate this class but should instantiate one of those
29 leaf subclasses.
30 """
mblighdc735a22007-08-02 16:54:37 +000031
jadmanski0afbb632008-06-06 21:10:57 +000032 host = None
33 guests = None
mblighdc735a22007-08-02 16:54:37 +000034
jadmanski0afbb632008-06-06 21:10:57 +000035 def __init__(self, host):
36 super(Hypervisor, self).__init__()
37 self.host= host
mblighdc735a22007-08-02 16:54:37 +000038
39
jadmanski0afbb632008-06-06 21:10:57 +000040 def new_guest(self):
41 pass
mblighdc735a22007-08-02 16:54:37 +000042
43
jadmanski0afbb632008-06-06 21:10:57 +000044 def delete_guest(self, guest_hostname):
45 pass
mblighdc735a22007-08-02 16:54:37 +000046
47
jadmanski0afbb632008-06-06 21:10:57 +000048 def reset_guest(self, guest_hostname):
49 pass