Refactor fleet and sw-catalog URLs to be configurable and set in class init method 07/15207/3
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Mon, 26 May 2025 13:29:46 +0000 (15:29 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Tue, 3 Jun 2025 09:31:03 +0000 (11:31 +0200)
Change-Id: Idae1cdf82bcb8a3376c517e6b4427238189b294e
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
osm_lcm/lcm.cfg
osm_lcm/odu_libs/cluster_mgmt.py
osm_lcm/odu_libs/ksu.py
osm_lcm/odu_libs/oka.py
osm_lcm/odu_libs/profiles.py
osm_lcm/odu_libs/vim_mgmt.py
osm_lcm/odu_workflows.py

index 212c395..a484f4a 100644 (file)
@@ -96,6 +96,8 @@ gitops:
     user:              osm-developer
     # git_base_url:          http://git.<IP_ADDRESS>.nip.io
     # pubkey:                 pubkey
+    # fleet_repo_url:          http://git.<IP_ADDRESS>.nip.io/osm-developer/fleet-osm.git
+    # sw_catalogs_repo_url:          http://git.<IP_ADDRESS>.nip.io/osm-developer/sw-catalogs-osm.git
     workflow_debug: true
     workflow_dry_run: false
 
index f500950..c5ea6c0 100644 (file)
@@ -95,8 +95,8 @@ async def create_cluster(self, op_id, op_params, content):
 
     # Render workflow
     # workflow_kwargs = {
-    #     "git_fleet_url": f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-    #     "git_sw_catalogs_url": f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+    #     "git_fleet_url": self._repo_fleet_url,
+    #     "git_sw_catalogs_url": self._repo_sw_catalogs_url,
     # }
     # manifest = self.render_jinja_template(
     #     workflow_template,
@@ -107,8 +107,8 @@ async def create_cluster(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         cluster_name=cluster_name,
         cluster_type=cluster_type,
         cluster_kustomization_name=cluster_kustomization_name,
@@ -208,8 +208,8 @@ async def update_cluster(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         cluster_name=cluster_name,
         cluster_type=cluster_type,
         cluster_kustomization_name=cluster_kustomization_name,
@@ -265,8 +265,8 @@ async def delete_cluster(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         cluster_name=cluster_name,
         cluster_kustomization_name=cluster_kustomization_name,
         osm_project_name=osm_project_name,
@@ -372,8 +372,8 @@ async def register_cluster(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         cluster_name=cluster_name,
         cluster_kustomization_name=cluster_kustomization_name,
         public_key_mgmt=self._pubkey,
@@ -422,7 +422,7 @@ async def deregister_cluster(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
+        git_fleet_url=self._repo_fleet_url,
         cluster_kustomization_name=cluster_kustomization_name,
         osm_project_name=osm_project_name,
         workflow_debug=self._workflow_debug,
index abcae9d..325ec5f 100644 (file)
@@ -138,8 +138,8 @@ async def create_ksus(self, op_id, op_params_list, content_list):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         templates_path=oka_path,
         substitute_environment=substitute_environment,
         substitution_filter=substitution_filter,
@@ -288,8 +288,8 @@ async def update_ksus(self, op_id, op_params_list, content_list):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         templates_path=oka_path,
         substitute_environment=substitute_environment,
         substitution_filter=substitution_filter,
@@ -351,8 +351,8 @@ async def delete_ksus(self, op_id, op_params_list, content_list):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         ksu_name=ksu_name,
         profile_name=profile_name,
         profile_type=profile_type,
index 6f204f2..240dda5 100644 (file)
@@ -64,8 +64,8 @@ async def create_oka(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         oka_name=oka_name,
         oka_type=oka_type,
         osm_project_name=osm_project_name,
@@ -120,8 +120,8 @@ async def update_oka(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         oka_name=oka_name,
         oka_type=oka_type,
         osm_project_name=osm_project_name,
@@ -160,8 +160,8 @@ async def delete_oka(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         oka_name=oka_name,
         oka_type=oka_type,
         osm_project_name=osm_project_name,
index 782d056..446e1e9 100644 (file)
@@ -36,8 +36,8 @@ async def create_profile(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         profile_name=profile_name,
         profile_type=profile_type,
         osm_project_name=osm_project_name,
@@ -74,8 +74,8 @@ async def delete_profile(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         profile_name=profile_name,
         profile_type=profile_type,
         osm_project_name=osm_project_name,
@@ -117,8 +117,8 @@ async def attach_profile_to_cluster(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         profile_name=profile_name,
         profile_type=profile_type,
         cluster_kustomization_name=cluster_kustomization_name,
@@ -162,8 +162,8 @@ async def detach_profile_from_cluster(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         profile_name=profile_name,
         profile_type=profile_type,
         cluster_kustomization_name=cluster_kustomization_name,
index 5569f89..6d333c7 100644 (file)
@@ -71,8 +71,8 @@ async def create_cloud_credentials(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         providerconfig_name=providerconfig_name,
         provider_type=provider_type,
         cred_secret_name=vim_name,
@@ -118,8 +118,8 @@ async def delete_cloud_credentials(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         providerconfig_name=providerconfig_name,
         provider_type=provider_type,
         osm_project_name=osm_project_name,
@@ -185,8 +185,8 @@ async def update_cloud_credentials(self, op_id, op_params, content):
         workflow_template,
         output_file=None,
         workflow_name=workflow_name,
-        git_fleet_url=f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git",
-        git_sw_catalogs_url=f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        git_fleet_url=self._repo_fleet_url,
+        git_sw_catalogs_url=self._repo_sw_catalogs_url,
         providerconfig_name=providerconfig_name,
         provider_type=provider_type,
         cred_secret_name=vim_name,
index 9516a70..4676ccb 100644 (file)
@@ -55,6 +55,13 @@ class OduWorkflow(LcmBase):
         self._kubectl = kubectl.Kubectl(config_file=self._kubeconfig)
         self._repo_base_url = self.gitops_config["git_base_url"]
         self._repo_user = self.gitops_config["user"]
+        self._repo_fleet_url = self.gitops_config.get(
+            "fleet_repo_url", f"{self._repo_base_url}/{self._repo_user}/fleet-osm.git"
+        )
+        self._repo_sw_catalogs_url = self.gitops_config.get(
+            "sw_catalogs_repo_url",
+            f"{self._repo_base_url}/{self._repo_user}/sw-catalogs-osm.git",
+        )
         self._pubkey = self.gitops_config["pubkey"]
         self._workflow_debug = str(self.gitops_config["workflow_debug"]).lower()
         self._workflow_dry_run = str(self.gitops_config["workflow_dry_run"]).lower()