Source code for motey.val.plugins.abstractVAL

from yapsy.IPlugin import IPlugin


[docs]class AbstractVAL(IPlugin): """ An abstract implementation for a virtualization abstraction layer (VAL). Should be inherited to build an custom VAL plugin. A VAL plugin is implemented as an yapsy plugin. Each plugin must be configured via a yapsy-plugin file. See more at http://yapsy.sourceforge.net/ """ def __init__(self): """ Constructor of the AbstractVAL. """ super().__init__() self.logger = None
[docs] def get_plugin_type(self): """ Returns the specific plugin type. :return: the specific plugin type. """ raise NotImplementedError("Should have implemented this")
[docs] def has_image(self, image_name): """ Checks if an specific images exists. :param image_name: the name of the image to search for. :return: True if the image exist, otherwise False. """ raise NotImplementedError("Should have implemented this")
[docs] def load_image(self, image_name): """ Load the image to the device, but does not start the image himself. :param image_name: the image to be loaded. """ raise NotImplementedError("Should have implemented this")
[docs] def delete_image(self, image_name): """ Delete an image, but not the instance of it. :param image_name: the image to be deleted. """ raise NotImplementedError("Should have implemented this")
[docs] def create_instance(self, image_name, parameters={}): """ Create and start an instance of an image. :param image_name: the name of the image which should be created :param parameters: execution parameters :return: the id of the created instance """ raise NotImplementedError("Should have implemented this")
[docs] def start_instance(self, instance_name, parameters={}): """ Start an existing image instance. :param instance_name: the name of the existing instance :param parameters: execution parameters :return: should return the id of the started instance """ raise NotImplementedError("Should have implemented this")
[docs] def stop_instance(self, instance_name): """ Stop an existing image instance. :param instance_name: the name of the container to be stopped """ raise NotImplementedError("Should have implemented this")
[docs] def has_instance(self, instance_name): """ Checks if an image instance exists. :param instance_name: the name of an existing instance """ raise NotImplementedError("Should have implemented this")
[docs] def get_all_running_instances(self): """ Returns a list with all running instance in this VAL. :return: list of instances """ raise NotImplementedError("Should have implemented this")
def get_image_instance_state(self, instance_name): raise NotImplementedError("Should have implemented this")
[docs] def get_stats(self, instance_name): """ Returns object which is type of ``Status``. Represents the status of an instance. :param instance_name: the name of the instance :return: object from type ``Status`` """ raise NotImplementedError("Should have implemented this")
[docs] def get_all_instances_stats(self): """ Returns object which is type of ``Status``. Represents the status of all instances of this plugin type. :return: object from type ``Status`` """ raise NotImplementedError("Should have implemented this")
[docs] def activate(self): """ Called at plugin activation. """ if self.logger: self.logger.info("%s plugin activated" % self.get_plugin_type())
[docs] def deactivate(self): """ Called when the plugin is disabled. """ if self.logger: self.logger.info("%s plugin deactivated" % self.get_plugin_type())