),
}
- def __init__(self, msg, lcm_tasks, config, loop):
+ def __init__(self, msg, lcm_tasks, config):
"""
Init, Connect to database, filesystem storage, and messaging
:param config: two level dictionary with configuration. Top level should contain 'database', 'storage',
"""
self.logger = logging.getLogger("lcm.vim")
- self.loop = loop
self.lcm_tasks = lcm_tasks
self.ro_config = config["RO"]
super().__init__(msg, self.logger)
async def create(self, vim_content, order_id):
-
# HA tasks and backward compatibility:
# If 'vim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, 'op_id' is None, and lock_HA() will do nothing.
db_vim_update["_admin.deployed.RO"] = None
db_vim_update["_admin.detailed-status"] = step
self.update_db_2("vim_accounts", vim_id, db_vim_update)
- RO = ROclient.ROClient(self.loop, **self.ro_config)
+ RO = ROclient.ROClient(**self.ro_config)
vim_RO = deepcopy(vim_content)
vim_RO.pop("_id", None)
vim_RO.pop("_admin", None)
self.lcm_tasks.remove("vim_account", vim_id, order_id)
async def edit(self, vim_content, order_id):
-
# HA tasks and backward compatibility:
# If 'vim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, and the HA check always returns True
RO_vim_id = db_vim["_admin"]["deployed"]["RO"]
step = "Editing vim at RO"
- RO = ROclient.ROClient(self.loop, **self.ro_config)
+ RO = ROclient.ROClient(**self.ro_config)
vim_RO = deepcopy(vim_content)
vim_RO.pop("_id", None)
vim_RO.pop("_admin", None)
self.lcm_tasks.remove("vim_account", vim_id, order_id)
async def delete(self, vim_content, order_id):
-
# HA tasks and backward compatibility:
# If 'vim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, and the HA check always returns True
and db_vim["_admin"]["deployed"].get("RO")
):
RO_vim_id = db_vim["_admin"]["deployed"]["RO"]
- RO = ROclient.ROClient(self.loop, **self.ro_config)
+ RO = ROclient.ROClient(**self.ro_config)
step = "Detaching vim from RO tenant"
try:
await RO.detach("vim_account", RO_vim_id)
# values that are encrypted at wim config because they are passwords
wim_config_encrypted = ()
- def __init__(self, msg, lcm_tasks, config, loop):
+ def __init__(self, msg, lcm_tasks, config):
"""
Init, Connect to database, filesystem storage, and messaging
:param config: two level dictionary with configuration. Top level should contain 'database', 'storage',
"""
self.logger = logging.getLogger("lcm.vim")
- self.loop = loop
self.lcm_tasks = lcm_tasks
self.ro_config = config["RO"]
super().__init__(msg, self.logger)
async def create(self, wim_content, order_id):
-
# HA tasks and backward compatibility:
# If 'wim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, 'op_id' is None, and lock_HA() will do nothing.
step = "Creating wim at RO"
db_wim_update["_admin.detailed-status"] = step
self.update_db_2("wim_accounts", wim_id, db_wim_update)
- RO = ROclient.ROClient(self.loop, **self.ro_config)
+ RO = ROclient.ROClient(**self.ro_config)
wim_RO = deepcopy(wim_content)
wim_RO.pop("_id", None)
wim_RO.pop("_admin", None)
self.lcm_tasks.remove("wim_account", wim_id, order_id)
async def edit(self, wim_content, order_id):
-
# HA tasks and backward compatibility:
# If 'wim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, and the HA check always returns True
and db_wim["_admin"].get("deployed")
and db_wim["_admin"]["deployed"].get("RO")
):
-
RO_wim_id = db_wim["_admin"]["deployed"]["RO"]
step = "Editing wim at RO"
- RO = ROclient.ROClient(self.loop, **self.ro_config)
+ RO = ROclient.ROClient(**self.ro_config)
wim_RO = deepcopy(wim_content)
wim_RO.pop("_id", None)
wim_RO.pop("_admin", None)
self.lcm_tasks.remove("wim_account", wim_id, order_id)
async def delete(self, wim_content, order_id):
-
# HA tasks and backward compatibility:
# If 'vim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, and the HA check always returns True
and db_wim["_admin"]["deployed"].get("RO")
):
RO_wim_id = db_wim["_admin"]["deployed"]["RO"]
- RO = ROclient.ROClient(self.loop, **self.ro_config)
+ RO = ROclient.ROClient(**self.ro_config)
step = "Detaching wim from RO tenant"
try:
await RO.detach("wim_account", RO_wim_id)
class SdnLcm(LcmBase):
- def __init__(self, msg, lcm_tasks, config, loop):
+ def __init__(self, msg, lcm_tasks, config):
"""
Init, Connect to database, filesystem storage, and messaging
:param config: two level dictionary with configuration. Top level should contain 'database', 'storage',
"""
self.logger = logging.getLogger("lcm.sdn")
- self.loop = loop
self.lcm_tasks = lcm_tasks
self.ro_config = config["RO"]
super().__init__(msg, self.logger)
async def create(self, sdn_content, order_id):
-
# HA tasks and backward compatibility:
# If 'sdn_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, 'op_id' is None, and lock_HA() will do nothing.
db_sdn_update["_admin.detailed-status"] = step
self.update_db_2("sdns", sdn_id, db_sdn_update)
- RO = ROclient.ROClient(self.loop, **self.ro_config)
+ RO = ROclient.ROClient(**self.ro_config)
sdn_RO = deepcopy(sdn_content)
sdn_RO.pop("_id", None)
sdn_RO.pop("_admin", None)
self.lcm_tasks.remove("sdn", sdn_id, order_id)
async def edit(self, sdn_content, order_id):
-
# HA tasks and backward compatibility:
# If 'sdn_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, and the HA check always returns True
and db_sdn["_admin"]["deployed"].get("RO")
):
RO_sdn_id = db_sdn["_admin"]["deployed"]["RO"]
- RO = ROclient.ROClient(self.loop, **self.ro_config)
+ RO = ROclient.ROClient(**self.ro_config)
step = "Editing sdn at RO"
sdn_RO = deepcopy(sdn_content)
sdn_RO.pop("_id", None)
self.lcm_tasks.remove("sdn", sdn_id, order_id)
async def delete(self, sdn_content, order_id):
-
# HA tasks and backward compatibility:
# If 'vim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, and the HA check always returns True
and db_sdn["_admin"]["deployed"].get("RO")
):
RO_sdn_id = db_sdn["_admin"]["deployed"]["RO"]
- RO = ROclient.ROClient(self.loop, **self.ro_config)
+ RO = ROclient.ROClient(**self.ro_config)
step = "Deleting sdn from RO"
try:
await RO.delete("sdn", RO_sdn_id)
class K8sClusterLcm(LcmBase):
timeout_create = 300
- def __init__(self, msg, lcm_tasks, config, loop):
+ def __init__(self, msg, lcm_tasks, config):
"""
Init, Connect to database, filesystem storage, and messaging
:param config: two level dictionary with configuration. Top level should contain 'database', 'storage',
"""
self.logger = logging.getLogger("lcm.k8scluster")
- self.loop = loop
self.lcm_tasks = lcm_tasks
self.vca_config = config["VCA"]
kubectl_command=self.vca_config.get("kubectlpath"),
juju_command=self.vca_config.get("jujupath"),
log=self.logger,
- loop=self.loop,
on_update_db=None,
db=self.db,
fs=self.fs,
}
async def create(self, k8scluster_content, order_id):
-
op_id = k8scluster_content.pop("op_id", None)
if not self.lcm_tasks.lock_HA("k8scluster", "create", op_id):
return
self.lcm_tasks.remove("k8scluster", k8scluster_id, order_id)
async def edit(self, k8scluster_content, order_id):
-
op_id = k8scluster_content.pop("op_id", None)
if not self.lcm_tasks.lock_HA("k8scluster", "edit", op_id):
return
k8scluster_id = k8scluster_content["_id"]
+
logging_text = "Task k8scluster_edit={} ".format(k8scluster_id)
self.logger.debug(logging_text + "Enter")
self.lcm_tasks.remove("k8scluster", k8scluster_id, order_id)
async def delete(self, k8scluster_content, order_id):
-
# HA tasks and backward compatibility:
# If 'vim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, 'op_id' is None, and lock_HA() will do nothing.
db_k8scluster_update["_admin.helm-chart.operationalState"] = "DISABLED"
if k8s_h3c_id:
- step = "Removing helm-chart-v3 '{}'".format(k8s_hc_id)
+ step = "Removing helm-chart-v3 '{}'".format(k8s_h3c_id)
uninstall_sw = (
deep_get(db_k8scluster, ("_admin", "helm-chart-v3", "created"))
or False
class VcaLcm(LcmBase):
timeout_create = 30
- def __init__(self, msg, lcm_tasks, config, loop):
+ def __init__(self, msg, lcm_tasks, config):
"""
Init, Connect to database, filesystem storage, and messaging
:param config: two level dictionary with configuration. Top level should contain 'database', 'storage',
"""
self.logger = logging.getLogger("lcm.vca")
- self.loop = loop
self.lcm_tasks = lcm_tasks
super().__init__(msg, self.logger)
# create N2VC connector
- self.n2vc = N2VCJujuConnector(
- log=self.logger, loop=self.loop, fs=self.fs, db=self.db
- )
+ self.n2vc = N2VCJujuConnector(log=self.logger, fs=self.fs, db=self.db)
def _get_vca_by_id(self, vca_id: str) -> dict:
db_vca = self.db.get_one("vca", {"_id": vca_id})
self.lcm_tasks.remove("vca", vca_id, order_id)
async def delete(self, vca_content, order_id):
-
# HA tasks and backward compatibility:
# If "vim_content" does not include "op_id", we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, "op_id" is None, and lock_HA() will do nothing.
class K8sRepoLcm(LcmBase):
- def __init__(self, msg, lcm_tasks, config, loop):
+ def __init__(self, msg, lcm_tasks, config):
"""
Init, Connect to database, filesystem storage, and messaging
:param config: two level dictionary with configuration. Top level should contain 'database', 'storage',
"""
self.logger = logging.getLogger("lcm.k8srepo")
- self.loop = loop
self.lcm_tasks = lcm_tasks
self.vca_config = config["VCA"]
)
async def create(self, k8srepo_content, order_id):
-
# HA tasks and backward compatibility:
# If 'vim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, 'op_id' is None, and lock_HA() will do nothing.
self.lcm_tasks.remove("k8srepo", k8srepo_id, order_id)
async def delete(self, k8srepo_content, order_id):
-
# HA tasks and backward compatibility:
# If 'vim_content' does not include 'op_id', we a running a legacy NBI version.
# In such a case, HA is not supported by NBI, 'op_id' is None, and lock_HA() will do nothing.