fix bug 555 Change extended pci validation schema for sdn port mapping
[osm/RO.git] / osm_ro / vim_thread.py
index bd1fc3c..7e31f09 100644 (file)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 
 ##
-# Copyright 2015 Telefónica Investigación y Desarrollo, S.A.U.
+# Copyright 2015 Telefonica Investigacion y Desarrollo, S.A.U.
 # This file is part of openvim
 # All Rights Reserved.
 #
@@ -151,15 +151,20 @@ class vim_thread(threading.Thread):
             with self.db_lock:
                 vims = self.db.get_rows(FROM=from_, SELECT=select_, WHERE=where_)
             vim = vims[0]
-            extra = {'datacenter_tenant_id': vim.get('datacenter_tenant_id'),
-                     'datacenter_id': vim.get('datacenter_id')}
+            vim_config = {}
+            if vim["config"]:
+                vim_config.update(yaml.load(vim["config"]))
+            if vim["dt_config"]:
+                vim_config.update(yaml.load(vim["dt_config"]))
+            vim_config['datacenter_tenant_id'] = vim.get('datacenter_tenant_id')
+            vim_config['datacenter_id'] = vim.get('datacenter_id')
 
             self.vim = vim_module[vim["type"]].vimconnector(
                 uuid=vim['datacenter_id'], name=vim['datacenter_name'],
                 tenant_id=vim['vim_tenant_id'], tenant_name=vim['vim_tenant_name'],
                 url=vim['vim_url'], url_admin=vim['vim_url_admin'],
                 user=vim['user'], passwd=vim['passwd'],
-                config=extra, persistent_info=self.vim_persistent_info
+                config=vim_config, persistent_info=self.vim_persistent_info
             )
             self.error_status = None
         except Exception as e:
@@ -936,8 +941,9 @@ class vim_thread(threading.Thread):
         sdn_net_id = None
         with self.db_lock:
             result = self.db.get_rows(SELECT=('sdn_net_id',), FROM='instance_nets',
-                                      WHERE={'vim_net_id': vim_net_id, 'instance_scenario_id': None,
-                                             'datacenter_tenant_id': self.datacenter_tenant_id})
+                                      WHERE={'vim_net_id': vim_net_id,
+                                             'datacenter_tenant_id': self.datacenter_tenant_id},
+                                      ORDER="instance_scenario_id")
         if result:
             sdn_net_id = result[0]['sdn_net_id']