"""
import json
import logging
+import string
from contextlib import contextmanager
from hashlib import sha1
from itertools import groupby
from operator import itemgetter
-from sys import exc_info
+# from sys import exc_info
# from time import time
from uuid import uuid1 as generate_uuid
if "config" in wim_descriptor:
wim_descriptor["config"] = _serialize(wim_descriptor["config"])
+ url = wim_descriptor["wim_url"]
+ wim_descriptor["wim_url"] = url.strip(string.whitespace + "/")
+ # ^ This avoid the common problem caused by trailing spaces/slashes in
+ # the URL (due to CTRL+C/CTRL+V)
+
return self.db.new_row(
"wims", wim_descriptor, add_uuid=True, confidential_data=True)
def get_wim_accounts(self, **kwargs):
"""Retrieve all the accounts from the database"""
kwargs.setdefault('postprocess', _postprocess_wim_account)
+ kwargs.setdefault('WHERE', {"sdn": "false"})
return self.query(FROM=_WIM_ACCOUNT_JOIN, **kwargs)
def get_wim_account(self, uuid_or_name, **kwargs):
self.logger.exception(old_exception)
ex = InvalidParameters(
"The mapping must contain the "
- "'pop_switch_dpid', 'pop_switch_port', and "
+ "'device_id', 'device_interface_id', and "
"wan_service_mapping_info: "
"('wan_switch_dpid' and 'wan_switch_port') or "
"'wan_service_endpoint_id}'")
kwargs.setdefault('error_if_none', False)
criteria_fields = ('uuid', 'instance_scenario_id', 'sce_net_id',
- 'wim_id', 'wim_account_id')
+ 'wim_id', 'wim_account_id', 'sdn')
criteria = remove_none_items(filter_dict_keys(kwargs, criteria_fields))
kwargs = filter_out_dict_keys(kwargs, criteria_fields)
"""
wim_account = preprocess_record(wim_account)
- created = wim_account.get('created')
- wim_account['created'] = (
- 'true' if created is True or created == 'true' else 'false')
-
+ wim_account['sdn'] = False
return wim_account