These plugins must implement a vimconnector class derived from this
and all these methods
'''
- def __init__(self, uuid, name, tenant_id, tenant_name, url, url_admin=None, user=None, passwd=None, log_level="ERROR", config={}):
+ def __init__(self, uuid, name, tenant_id, tenant_name, url, url_admin=None, user=None, passwd=None, log_level=None, config={}):
self.id = uuid
self.name = name
self.url = url
self.user = user
self.passwd = passwd
self.config = config
- self.logger = logging.getLogger('mano.vim')
- self.logger.setLevel( getattr(logging, log_level) )
+ self.logger = logging.getLogger('openmano.vim')
+ if log_level:
+ self.logger.setLevel( getattr(logging, log_level) )
if not self.url_admin: #try to use normal url
self.url_admin = self.url
'''
raise vimconnNotImplemented( "Should have implemented this" )
- def new_network(self,net_name, net_type, shared=False):
+ def new_network(self,net_name, net_type, ip_profile=None, shared=False):
'''Adds a tenant network to VIM
- net_type can be 'bridge','data'.'ptp'. TODO: this need to be revised
+ net_name is the name
+ net_type can be 'bridge','data'.'ptp'. TODO: this need to be revised
+ ip_profile is a dict containing the IP parameters of the network
shared is a boolean
Returns the network identifier'''
raise vimconnNotImplemented( "Should have implemented this" )
raise vimconnNotImplemented( "Should have implemented this" )
def get_image_id_from_path(self, path):
- '''Get the image id from image path in the VIM database'''
- '''Returns:
- 0,"Image not found" if there are no images with that path
- 1,image-id if there is one image with that path
- <0,message if there was an error (Image not found, error contacting VIM, more than 1 image with that path, etc.)
- '''
+ '''Get the image id from image path in the VIM database. Returns the image_id'''
raise vimconnNotImplemented( "Should have implemented this" )
+ def get_image_list(self, filter_dict={}):
+ '''Obtain tenant images from VIM
+ Filter_dict can be:
+ name: image name
+ id: image uuid
+ checksum: image checksum
+ location: image path
+ Returns the image list of dictionaries:
+ [{<the fields at Filter_dict plus some VIM specific>}, ...]
+ List can be empty
+ '''
+ raise vimconnNotImplemented( "Should have implemented this" )
+
def new_vminstance(self,name,description,start,image_id,flavor_id,net_list,cloud_config=None):
'''Adds a VM instance to VIM
Params: