projects
/
osm
/
N2VC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Syncronize with fs before action and reverse sync after action to allow high availabi...
[osm/N2VC.git]
/
n2vc
/
n2vc_juju_conn.py
diff --git
a/n2vc/n2vc_juju_conn.py
b/n2vc/n2vc_juju_conn.py
index
50c0c99
..
2566b0c
100644
(file)
--- a/
n2vc/n2vc_juju_conn.py
+++ b/
n2vc/n2vc_juju_conn.py
@@
-228,6
+228,8
@@
class N2VCJujuConnector(N2VCConnector):
reuse_ee_id: str = None,
progress_timeout: float = None,
total_timeout: float = None,
reuse_ee_id: str = None,
progress_timeout: float = None,
total_timeout: float = None,
+ cloud_name: str = None,
+ credential_name: str = None,
) -> (str, dict):
self.log.info(
) -> (str, dict):
self.log.info(
@@
-263,7
+265,13
@@
class N2VCJujuConnector(N2VCConnector):
# create or reuse a new juju machine
try:
if not await self.libjuju.model_exists(model_name):
# create or reuse a new juju machine
try:
if not await self.libjuju.model_exists(model_name):
- await self.libjuju.add_model(model_name, cloud_name=self.cloud)
+ cloud = cloud_name or self.cloud
+ credential = credential_name or cloud_name if cloud_name else self.cloud
+ await self.libjuju.add_model(
+ model_name,
+ cloud_name=cloud,
+ credential_name=credential
+ )
machine, new = await self.libjuju.create_machine(
model_name=model_name,
machine_id=machine_id,
machine, new = await self.libjuju.create_machine(
model_name=model_name,
machine_id=machine_id,
@@
-308,6
+316,8
@@
class N2VCJujuConnector(N2VCConnector):
db_dict: dict,
progress_timeout: float = None,
total_timeout: float = None,
db_dict: dict,
progress_timeout: float = None,
total_timeout: float = None,
+ cloud_name: str = None,
+ credential_name: str = None,
) -> str:
self.log.info(
) -> str:
self.log.info(
@@
-350,7
+360,13
@@
class N2VCJujuConnector(N2VCConnector):
# register machine on juju
try:
if not await self.libjuju.model_exists(model_name):
# register machine on juju
try:
if not await self.libjuju.model_exists(model_name):
- await self.libjuju.add_model(model_name, cloud_name=self.cloud)
+ cloud = cloud_name or self.cloud
+ credential = credential_name or cloud_name if cloud_name else self.cloud
+ await self.libjuju.add_model(
+ model_name,
+ cloud_name=cloud,
+ credential_name=credential
+ )
machine_id = await self.libjuju.provision_machine(
model_name=model_name,
hostname=hostname,
machine_id = await self.libjuju.provision_machine(
model_name=model_name,
hostname=hostname,
@@
-472,6
+488,8
@@
class N2VCJujuConnector(N2VCConnector):
progress_timeout: float = None,
total_timeout: float = None,
config: dict = None,
progress_timeout: float = None,
total_timeout: float = None,
config: dict = None,
+ cloud_name: str = None,
+ credential_name: str = None,
) -> str:
"""
Install a k8s proxy charm
) -> str:
"""
Install a k8s proxy charm
@@
-490,6
+508,9
@@
class N2VCJujuConnector(N2VCConnector):
:param float progress_timeout:
:param float total_timeout:
:param config: Dictionary with additional configuration
:param float progress_timeout:
:param float total_timeout:
:param config: Dictionary with additional configuration
+ :param cloud_name: Cloud Name in which the charms will be deployed
+ :param credential_name: Credential Name to use in the cloud_name.
+ If not set, cloud_name will be used as credential_name
:returns ee_id: execution environment id.
"""
:returns ee_id: execution environment id.
"""
@@
-522,8
+543,13
@@
class N2VCJujuConnector(N2VCConnector):
_, ns_id, _, _, _ = self._get_namespace_components(namespace=namespace)
model_name = '{}-k8s'.format(ns_id)
_, ns_id, _, _, _ = self._get_namespace_components(namespace=namespace)
model_name = '{}-k8s'.format(ns_id)
-
- await self.libjuju.add_model(model_name, self.k8s_cloud)
+ cloud = cloud_name or self.k8s_cloud
+ credential = credential_name or cloud_name if cloud_name else self.k8s_cloud
+ await self.libjuju.add_model(
+ model_name,
+ cloud_name=cloud,
+ credential_name=credential
+ )
application_name = self._get_application_name(namespace)
try:
application_name = self._get_application_name(namespace)
try: