Feature 10239: Distributed VCA
[osm/osmclient.git] / osmclient / sol005 / ns.py
index d457cbd..b6ccb9f 100644 (file)
@@ -181,6 +181,10 @@ class Ns(object):
             vim_account_id[vim_account] = vim["_id"]
             return vim["_id"]
 
+        def get_vca_id(vim_id):
+            vim = self._client.vim.get(vim_id)
+            return vim.get("vca")
+
         def get_wim_account_id(wim_account):
             self._logger.debug("")
             # wim_account can be False (boolean) to indicate not use wim account
@@ -194,11 +198,15 @@ class Ns(object):
             wim_account_id[wim_account] = wim["_id"]
             return wim["_id"]
 
+        vim_id = get_vim_account_id(account)
+        vca_id = get_vca_id(vim_id)
         ns = {}
         ns["nsdId"] = nsd["_id"]
         ns["nsName"] = nsr_name
         ns["nsDescription"] = description
-        ns["vimAccountId"] = get_vim_account_id(account)
+        ns["vimAccountId"] = vim_id
+        if vca_id:
+            ns["vcaId"] = vca_id
         # ns['userdata'] = {}
         # ns['userdata']['key1']='value1'
         # ns['userdata']['key2']='value2'