fixes #30. Using openstack as a VIM, avoid the metadata of pci_injection grater than 255
authortierno <alfonso.tiernosepulveda@telefonica.com>
Mon, 18 Jul 2016 11:01:40 +0000 (13:01 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Fri, 22 Jul 2016 07:23:56 +0000 (09:23 +0200)
Change-Id: I03afca5ee05cdf14b884a33cee7b7d2795331851
Signed-off-by: tierno <alfonso.tiernosepulveda@telefonica.com>
openmanod.py
vimconn_openstack.py

index f2cfb7e..bedcba8 100755 (executable)
@@ -33,7 +33,7 @@ It loads the configuration file and launches the http_server thread that will li
 '''
 __author__="Alfonso Tierno, Gerardo Garcia, Pablo Montes"
 __date__ ="$26-aug-2014 11:09:29$"
-__version__="0.4.43-r480"
+__version__="0.4.43-r481"
 version_date="Jul 2016"
 database_version="0.11"      #expected database schema version
 
index 1c6227e..f053022 100644 (file)
@@ -563,7 +563,7 @@ class vimconnector(vimconn.vimconnector):
         '''
         self.logger.debug("Creating VM image '%s' flavor '%s' nics='%s'",image_id, flavor_id,str(net_list))
         try:
-            metadata=[]
+            metadata={}
             net_list_vim=[]
             self._reload_connection()
             metadata_vpci={} #For a specific neutron plugin 
@@ -602,6 +602,11 @@ class vimconnector(vimconn.vimconnector):
                     net_list_vim.append({"port-id": new_port["port"]["id"]})
             if metadata_vpci:
                 metadata = {"pci_assignement": json.dumps(metadata_vpci)}
+                if len(metadata["pci_assignement"] >255):
+                    #limit the metadata size
+                    #metadata["pci_assignement"] = metadata["pci_assignement"][0:255]
+                    self.logger.warn("Metadata deleted since it exceeds the expected length (255) ")
+                    metadata = {}
             
             self.logger.debug("name '%s' image_id '%s'flavor_id '%s' net_list_vim '%s' description '%s' metadata %s",
                               name, image_id, flavor_id, str(net_list_vim), description, str(metadata))