X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=vimconn_openstack.py;h=e0a3aa31dc0cf4e94d8321515cff887df29fd06f;hb=44528e4eea92eb8f3f929ffda6cebfe8903241d9;hp=70f8c0122d270125e79b76baaad49b7b1e5b32f5;hpb=b69fa9f026b1b5839799cc5dc48af625981cbc3a;p=osm%2FRO.git diff --git a/vimconn_openstack.py b/vimconn_openstack.py index 70f8c012..e0a3aa31 100644 --- a/vimconn_openstack.py +++ b/vimconn_openstack.py @@ -56,7 +56,7 @@ netStatus2manoFormat={'ACTIVE':'ACTIVE','PAUSED':'PAUSED','INACTIVE':'INACTIVE', } class vimconnector(vimconn.vimconnector): - def __init__(self, uuid, name, tenant_id, tenant_name, url, url_admin=None, user=None, passwd=None, log_level="DEBUG", config={}): + def __init__(self, uuid, name, tenant_id, tenant_name, url, url_admin=None, user=None, passwd=None, log_level=None, config={}): '''using common constructor parameters. In this case 'url' is the keystone authorization url, 'url_admin' is not use @@ -83,6 +83,8 @@ class vimconnector(vimconn.vimconnector): self.n_creds['api_key'] = passwd self.reload_client = True self.logger = logging.getLogger('openmano.vim.openstack') + if log_level: + self.logger.setLevel( getattr(logging, log_level) ) def __setitem__(self,index, value): '''Set individuals parameters @@ -227,7 +229,9 @@ class vimconnector(vimconn.vimconnector): def new_network(self,net_name, net_type, ip_profile=None, shared=False, vlan=None): '''Adds a tenant network to VIM. Returns the network identifier''' 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: + new_net = None self._reload_connection() network_dict = {'name': net_name, 'admin_state_up': True} if net_type=="data" or net_type=="ptp": @@ -255,7 +259,7 @@ class vimconnector(vimconn.vimconnector): } if 'gateway_address' in ip_profile: subnet['gateway_ip'] = ip_profile['gateway_address'] - if 'dns_address' in ip_profile: + if ip_profile.get('dns_address'): #TODO: manage dns_address as a list of addresses separated by commas subnet['dns_nameservers'] = [] subnet['dns_nameservers'].append(ip_profile['dns_address']) @@ -269,12 +273,15 @@ class vimconnector(vimconn.vimconnector): #parts = ip_profile['dhcp_start_address'].split('.') #ip_int = (int(parts[0]) << 24) + (int(parts[1]) << 16) + (int(parts[2]) << 8) + int(parts[3]) ip_int = int(netaddr.IPAddress(ip_profile['dhcp_start_address'])) - ip_int += ip_profile['dhcp_count'] + ip_int += ip_profile['dhcp_count'] - 1 ip_str = str(netaddr.IPAddress(ip_int)) subnet['allocation_pools'][0]['end'] = ip_str + #self.logger.debug(">>>>>>>>>>>>>>>>>> Subnet: %s", str(subnet)) self.neutron.create_subnet({"subnet": subnet} ) return new_net["network"]["id"] except (neExceptions.ConnectionFailed, ksExceptions.ClientException, neExceptions.NeutronException, ConnectionError) as e: + if new_net: + self.neutron.delete_network(new_net['network']['id']) self._format_exception(e) def get_network_list(self, filter_dict={}): @@ -593,7 +600,7 @@ class vimconnector(vimconn.vimconnector): #Then we filter by the rest of filter fields: checksum filtered_list = [] for image in image_list: - image_dict=glance.images.get(image.id) + image_dict=self.glance.images.get(image.id) if image_dict['checksum']==filter_dict.get('checksum'): filtered_list.append(image) return filtered_list