return ""
def create(
- self, name, vim_access, sdn_controller=None, sdn_port_mapping=None, wait=False
+ self,
+ name,
+ vim_access,
+ config={},
+ sdn_controller=None,
+ sdn_port_mapping=None,
+ wait=False,
):
vca_id = None
vim_account = self.update_vim_account_dict(vim_account, vim_access)
if vca_id:
vim_account["vca"] = vca_id
- vim_config = {}
- if "config" in vim_access and vim_access["config"] is not None:
- vim_config = yaml.safe_load(vim_access["config"])
+ vim_config = config
if sdn_controller:
sdnc = self._client.sdnc.get(sdn_controller)
vim_config["sdn-controller"] = sdnc["_id"]
# raise ClientException("failed to create vim {} - {}".format(name, msg))
def update(
- self, vim_name, vim_account, sdn_controller, sdn_port_mapping, wait=False
+ self,
+ vim_name,
+ vim_account,
+ config,
+ sdn_controller,
+ sdn_port_mapping,
+ wait=False,
):
self._logger.debug("")
self._client.get_token()
vim = self.get(vim_name)
vim_id_for_wait = self._get_id_for_wait(vim_name)
vim_config = {}
- if "config" in vim_account:
- if vim_account.get("config") == "" and (sdn_controller or sdn_port_mapping):
+ if config is not None:
+ if not config and (sdn_controller or sdn_port_mapping):
+ # If config is empty (clearing config)
raise ClientException(
"clearing config is incompatible with updating SDN info"
)
- if vim_account.get("config") == "":
- vim_config = None
- else:
- vim_config = yaml.safe_load(vim_account["config"])
+ vim_config = config
if sdn_controller == "":
vim_config["sdn-controller"] = None
vim_config["sdn-port-mapping"] = None
self._logger.debug("")
vim_account["vim_type"] = vim_access["vim-type"]
vim_account["description"] = vim_access["description"]
- vim_account["vim_url"] = vim_access["vim-url"]
- vim_account["vim_user"] = vim_access["vim-username"]
- vim_account["vim_password"] = vim_access["vim-password"]
- vim_account["vim_tenant_name"] = vim_access["vim-tenant-name"]
+ vim_account["vim_url"] = vim_access["vim-url"] or "null"
+ vim_account["vim_user"] = vim_access["vim-username"] or "null"
+ vim_account["vim_password"] = vim_access["vim-password"] or "null"
+ vim_account["vim_tenant_name"] = vim_access["vim-tenant-name"] or "null"
+ if "prometheus-config" in vim_access:
+ vim_account["prometheus-config"] = vim_access["prometheus-config"]
return vim_account
def get_id(self, name):