X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FRO.git;a=blobdiff_plain;f=osm_ro%2Fvimconn_openstack.py;h=8d87b7f744341c9dd48ee4abd16166b5409639e6;hp=ff67f6f30eb4f145ace9cbb8114297977867abe4;hb=a85c54de5c5d1f951b27082a21e5654e15712529;hpb=4d22bdc5e63e019216fde7cd911f35d39093b0c4 diff --git a/osm_ro/vimconn_openstack.py b/osm_ro/vimconn_openstack.py index ff67f6f3..8d87b7f7 100644 --- a/osm_ro/vimconn_openstack.py +++ b/osm_ro/vimconn_openstack.py @@ -448,6 +448,10 @@ class vimconnector(vimconn.vimconnector): self.security_groups_id = None raise vimconn.vimconnConnectionException("Not found security group {} for this tenant".format(sg)) + def check_vim_connectivity(self): + # just get network list to check connectivity and credentials + self.get_network_list(filter_dict={}) + def get_tenant_list(self, filter_dict={}): '''Obtain tenants of VIM filter_dict can contain the following keys: @@ -499,7 +503,7 @@ class vimconnector(vimconn.vimconnector): except (ksExceptions.ConnectionError, ksExceptions.ClientException, ksExceptions.NotFound, ConnectionError) as e: self._format_exception(e) - def new_network(self,net_name, net_type, ip_profile=None, shared=False, vlan=None): + def new_network(self,net_name, net_type, ip_profile=None, shared=False, provider_network_profile=None): """Adds a tenant network to VIM Params: 'net_name': name of the network @@ -516,7 +520,7 @@ class vimconnector(vimconn.vimconnector): 'dhcp_start_address': ip_schema, first IP to grant 'dhcp_count': number of IPs to grant. 'shared': if this network can be seen/use by other tenants/organization - 'vlan': in case of a data or ptp net_type, the intended vlan tag to be used for the network + 'provider_network_profile': (optional) contains {segmentation-id: vlan, provider-network: vim_netowrk} Returns a tuple with the network identifier and created_items, or raises an exception on error created_items can be None or a dictionary where this method can include key-values that will be passed to the method delete_network. Can be used to store created segments, created l2gw connections, etc. @@ -525,7 +529,11 @@ class vimconnector(vimconn.vimconnector): """ self.logger.debug("Adding a new network to VIM name '%s', type '%s'", net_name, net_type) # self.logger.debug(">>>>>>>>>>>>>>>>>> IP profile %s", str(ip_profile)) + try: + vlan = None + if provider_network_profile: + vlan = provider_network_profile.get("segmentation-id") new_net = None created_items = {} self._reload_connection() @@ -799,7 +807,7 @@ class vimconnector(vimconn.vimconnector): extended = flavor_dict.get("extended", {}) if extended: #TODO - raise vimconn.vimconnNotFoundException("Flavor with EPA still not implemted") + raise vimconn.vimconnNotFoundException("Flavor with EPA still not implemented") # if len(numas) > 1: # raise vimconn.vimconnNotFoundException("Cannot find any flavor with more than one numa") # numa=numas[0] @@ -884,6 +892,7 @@ class vimconnector(vimconn.vimconnector): if 'memory' in numa: ram = numa['memory']*1024 #See for reference: https://specs.openstack.org/openstack/nova-specs/specs/mitaka/implemented/virt-driver-cpu-thread-pinning.html + extra_specs["hw:cpu_sockets"] = 1 if 'paired-threads' in numa: vcpus = numa['paired-threads']*2 #cpu_thread_policy "require" implies that the compute node must have an STM architecture