fixing bug: vim config were not loaded at vim_thread
Change-Id: If6cb843ed30d5bb843e31316c86056a681e7ea60
Signed-off-by: tierno <alfonso.tiernosepulveda@telefonica.com>
diff --git a/osm_ro/nfvo.py b/osm_ro/nfvo.py
index 0241323..1f7c89a 100644
--- a/osm_ro/nfvo.py
+++ b/osm_ro/nfvo.py
@@ -4668,7 +4668,7 @@
# edit data
datacenter_id = datacenter['uuid']
- where={'uuid': datacenter['uuid']}
+ where = {'uuid': datacenter['uuid']}
remove_port_mapping = False
new_sdn_port_mapping = None
if "config" in datacenter_descriptor:
@@ -4678,10 +4678,10 @@
if "sdn-port-mapping" in new_config_dict:
remove_port_mapping = True
new_sdn_port_mapping = new_config_dict.pop("sdn-port-mapping")
- #delete null fields
- to_delete=[]
+ # delete null fields
+ to_delete = []
for k in new_config_dict:
- if new_config_dict[k] == None:
+ if new_config_dict[k] is None:
to_delete.append(k)
if k == 'sdn-controller':
remove_port_mapping = True
@@ -4691,7 +4691,7 @@
config_text = '{}'
config_dict = yaml.load(config_text)
config_dict.update(new_config_dict)
- #delete null fields
+ # delete null fields
for k in to_delete:
del config_dict[k]
except Exception as e:
@@ -4704,14 +4704,16 @@
try:
datacenter_sdn_port_mapping_delete(mydb, None, datacenter_id)
except ovimException as e:
- logger.error("Error deleting datacenter-port-mapping " + str(e))
+ raise NfvoException("Error deleting datacenter-port-mapping " + str(e), HTTP_Conflict)
mydb.update_rows('datacenters', datacenter_descriptor, where)
if new_sdn_port_mapping:
try:
datacenter_sdn_port_mapping_set(mydb, None, datacenter_id, new_sdn_port_mapping)
except ovimException as e:
- logger.error("Error adding datacenter-port-mapping " + str(e))
+ # Rollback
+ mydb.update_rows('datacenters', datacenter, where)
+ raise NfvoException("Error adding datacenter-port-mapping " + str(e), HTTP_Conflict)
return datacenter_id
@@ -4722,7 +4724,7 @@
try:
datacenter_sdn_port_mapping_delete(mydb, None, datacenter_dict['uuid'])
except ovimException as e:
- logger.error("Error deleting datacenter-port-mapping " + str(e))
+ raise NfvoException("Error deleting datacenter-port-mapping " + str(e))
return datacenter_dict['uuid'] + " " + datacenter_dict['name']
diff --git a/osm_ro/vim_thread.py b/osm_ro/vim_thread.py
index bd1fc3c..089e7b9 100644
--- a/osm_ro/vim_thread.py
+++ b/osm_ro/vim_thread.py
@@ -151,15 +151,20 @@
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: