X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=httpserver.py;h=9f2673711bb756958b702751a72afce867bc3449;hb=refs%2Fchanges%2F07%2F707%2F1;hp=88b1f0a745e33eac3f5daa3545d224ccdfe23611;hpb=24595390fde6736753946648ee083c178b60759c;p=osm%2Fopenvim.git diff --git a/httpserver.py b/httpserver.py index 88b1f0a..9f26737 100644 --- a/httpserver.py +++ b/httpserver.py @@ -30,6 +30,7 @@ __author__="Alfonso Tierno" __date__ ="$10-jul-2014 12:07:15$" import bottle +import urlparse import yaml import json import threading @@ -451,6 +452,18 @@ def check_valid_uuid(uuid): except js_e.ValidationError: return False + +def is_url(url): + ''' + Check if string value is a well-wormed url + :param url: string url + :return: True if is a valid url, False if is not well-formed + ''' + + parsed_url = urlparse.urlparse(url) + return parsed_url + + @bottle.error(400) @bottle.error(401) @bottle.error(404) @@ -586,7 +599,6 @@ def http_post_hosts(): sriov['source_name'] = index index += 1 interfaces.append ({'pci':str(port_k), 'Mbps': port_v['speed']/1000000, 'sriovs': new_sriovs, 'mac':port_v['mac'], 'source_name':port_v['source_name']}) - #@TODO LA memoria devuelta por el RAD es incorrecta, almenos para IVY1, NFV100 memory=node['memory']['node_size'] / (1024*1024*1024) #memory=get_next_2pow(node['memory']['hugepage_nr']) host['numas'].append( {'numa_socket': node['id'], 'hugepages': node['memory']['hugepage_nr'], 'memory':memory, 'interfaces': interfaces, 'cores': cores } ) @@ -1091,6 +1103,8 @@ def http_post_images(tenant_id): image_file = http_content['image'].get('path',None) if os.path.exists(image_file): http_content['image']['checksum'] = md5(image_file) + elif is_url(image_file): + pass else: if not host_test_mode: content = "Image file not found"