X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_ro%2Fvimconn_aws.py;h=f0eebb6640bd7dd98ed01e454dd49f7e5b9cccf1;hb=34b93bac8a6cf769b996652605a2e43c18448728;hp=22d041241cc21620c3f8a8b23e91c84a4275cd5f;hpb=61ccd6438ed96161a0587d92898acb2cbb74a1b6;p=osm%2FRO.git diff --git a/osm_ro/vimconn_aws.py b/osm_ro/vimconn_aws.py index 22d04124..f0eebb66 100644 --- a/osm_ro/vimconn_aws.py +++ b/osm_ro/vimconn_aws.py @@ -44,7 +44,7 @@ except: class vimconnector(vimconn.vimconnector): def __init__(self, uuid, name, tenant_id, tenant_name, url, url_admin=None, user=None, passwd=None, log_level=None, - config={}): + config={}, persistent_info={}): """ Params: uuid - id asigned to this VIM name - name assigned to this VIM, can be used for logging tenant_id - ID to be used for tenant @@ -57,10 +57,15 @@ class vimconnector(vimconn.vimconnector): region_name - name of region to deploy the instances vpc_cidr_block - default CIDR block for VPC security_groups - default security group to specify this instance + persistent_info - dict where the class can store information that will be available among class + destroy/creation cycles. This info is unique per VIM/credential. At first call it will contain an + empty dict. Useful to store login/tokens information for speed up communication """ vimconn.vimconnector.__init__(self, uuid, name, tenant_id, tenant_name, url, url_admin, user, passwd, log_level, - config) + config, persistent_info) + + self.persistent_info = persistent_info self.a_creds = {} if user: self.a_creds['aws_access_key_id'] = user @@ -112,7 +117,7 @@ class vimconnector(vimconn.vimconnector): except IOError as e: raise vimconn.vimconnException("Error reading file '{}': {}".format(flavor_data[1:], e)) elif isinstance(flavor_data, dict): - self.flavor_data = flavor_data + self.flavor_info = flavor_data self.logger = logging.getLogger('openmano.vim.aws') if log_level: @@ -466,17 +471,17 @@ class vimconnector(vimconn.vimconnector): try: flavor = None for key, values in self.flavor_info.iteritems(): - if (values["memory"], values["cores"], values["disk"]) == ( - flavor_dict["ram"], flavor_dict["cpus"], flavor_dict["disk"]): + if (values["ram"], values["cpus"], values["disk"]) == ( + flavor_dict["ram"], flavor_dict["vcpus"], flavor_dict["disk"]): flavor = (key, values) break - elif (values["memory"], values["cores"], values["disk"]) >= ( - flavor_dict["ram"], flavor_dict["cpus"], flavor_dict["disk"]): + elif (values["ram"], values["cpus"], values["disk"]) >= ( + flavor_dict["ram"], flavor_dict["vcpus"], flavor_dict["disk"]): if not flavor: flavor = (key, values) else: - if (flavor[1]["memory"], flavor[1]["cores"], flavor[1]["disk"]) >= ( - values["memory"], values["cores"], values["disk"]): + if (flavor[1]["ram"], flavor[1]["cpus"], flavor[1]["disk"]) >= ( + values["ram"], values["cpus"], values["disk"]): flavor = (key, values) if flavor: return flavor[0]