From fce6da9d9a83b6f3505b1c53f84b6c6cb38a9fe5 Mon Sep 17 00:00:00 2001 From: Sergio Lebon Date: Fri, 7 Apr 2023 14:31:29 +0200 Subject: [PATCH] Init Juju workflows. --- .../.meta_juju_application_management.xml | 43 ++++++++++++++++ .../juju_application_management.xml | 14 +++++ .../.meta_Process_Create_Cloud | 31 +++++++++++ .../.meta_Process_Delete_Cloud | 31 +++++++++++ .../.meta_Process_Delete_Service | 31 +++++++++++ .../.meta_Process_New_Service | 31 +++++++++++ .../.meta_juju_cloud_management.xml | 43 ++++++++++++++++ .../Process_Create_Cloud/.meta_Tasks | 31 +++++++++++ .../Tasks/.meta_Task_Create_Cloud.py | 35 +++++++++++++ .../Tasks/Task_Create_Cloud.py | 51 +++++++++++++++++++ .../Process_Delete_Cloud/.meta_Tasks | 31 +++++++++++ .../Process_Delete_Service/.meta_Tasks | 31 +++++++++++ .../Process_New_Service/.meta_Tasks | 31 +++++++++++ .../Tasks/.meta_Task_Init_service.py | 35 +++++++++++++ .../Tasks/Task_Init_service.py | 11 ++++ .../juju_cloud_management.xml | 49 ++++++++++++++++++ .../.meta_juju_controller_management.xml | 43 ++++++++++++++++ .../juju_controller_management.xml | 14 +++++ .../.meta_juju_credentials_management.xml | 43 ++++++++++++++++ .../juju_credentials_management.xml | 14 +++++ 20 files changed, 643 insertions(+) create mode 100755 Juju/juju_application_management/.meta_juju_application_management.xml create mode 100644 Juju/juju_application_management/juju_application_management.xml create mode 100755 Juju/juju_cloud_management/.meta_Process_Create_Cloud create mode 100755 Juju/juju_cloud_management/.meta_Process_Delete_Cloud create mode 100755 Juju/juju_cloud_management/.meta_Process_Delete_Service create mode 100755 Juju/juju_cloud_management/.meta_Process_New_Service create mode 100755 Juju/juju_cloud_management/.meta_juju_cloud_management.xml create mode 100755 Juju/juju_cloud_management/Process_Create_Cloud/.meta_Tasks create mode 100755 Juju/juju_cloud_management/Process_Create_Cloud/Tasks/.meta_Task_Create_Cloud.py create mode 100755 Juju/juju_cloud_management/Process_Create_Cloud/Tasks/Task_Create_Cloud.py create mode 100755 Juju/juju_cloud_management/Process_Delete_Cloud/.meta_Tasks create mode 100755 Juju/juju_cloud_management/Process_Delete_Service/.meta_Tasks create mode 100755 Juju/juju_cloud_management/Process_New_Service/.meta_Tasks create mode 100755 Juju/juju_cloud_management/Process_New_Service/Tasks/.meta_Task_Init_service.py create mode 100755 Juju/juju_cloud_management/Process_New_Service/Tasks/Task_Init_service.py create mode 100644 Juju/juju_cloud_management/juju_cloud_management.xml create mode 100755 Juju/juju_controller_management/.meta_juju_controller_management.xml create mode 100644 Juju/juju_controller_management/juju_controller_management.xml create mode 100755 Juju/juju_credential_management/.meta_juju_credentials_management.xml create mode 100644 Juju/juju_credential_management/juju_credentials_management.xml diff --git a/Juju/juju_application_management/.meta_juju_application_management.xml b/Juju/juju_application_management/.meta_juju_application_management.xml new file mode 100755 index 00000000..19da0eaf --- /dev/null +++ b/Juju/juju_application_management/.meta_juju_application_management.xml @@ -0,0 +1,43 @@ + + + + + DISPLAYNAME + Juju_Application_Management.xml + + + DATE_MODIFICATION + 1680598332169 + + + REPOSITORY + Process + + + DATE_CREATION + 1680598332166 + + + MODEL + 0 + + + TAG + + + FILE_TYPE + text + + + MANUFACTURER + 0 + + + TYPE + FILE + + + COMMENT + + + diff --git a/Juju/juju_application_management/juju_application_management.xml b/Juju/juju_application_management/juju_application_management.xml new file mode 100644 index 00000000..a88418fc --- /dev/null +++ b/Juju/juju_application_management/juju_application_management.xml @@ -0,0 +1,14 @@ + + + + + + + service_id + python + 10000 + 5 + Juju Application Management + + + diff --git a/Juju/juju_cloud_management/.meta_Process_Create_Cloud b/Juju/juju_cloud_management/.meta_Process_Create_Cloud new file mode 100755 index 00000000..d13bfe96 --- /dev/null +++ b/Juju/juju_cloud_management/.meta_Process_Create_Cloud @@ -0,0 +1,31 @@ + + + + + DISPLAYNAME + Process_Create_Cloud + + + DATE_MODIFICATION + 1680615141921 + + + REPOSITORY + Process + + + DATE_CREATION + 1680615141915 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/.meta_Process_Delete_Cloud b/Juju/juju_cloud_management/.meta_Process_Delete_Cloud new file mode 100755 index 00000000..14c296e0 --- /dev/null +++ b/Juju/juju_cloud_management/.meta_Process_Delete_Cloud @@ -0,0 +1,31 @@ + + + + + DISPLAYNAME + Process_Delete_Cloud + + + DATE_MODIFICATION + 1680615176265 + + + REPOSITORY + Process + + + DATE_CREATION + 1680615176259 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/.meta_Process_Delete_Service b/Juju/juju_cloud_management/.meta_Process_Delete_Service new file mode 100755 index 00000000..4a5daf42 --- /dev/null +++ b/Juju/juju_cloud_management/.meta_Process_Delete_Service @@ -0,0 +1,31 @@ + + + + + DISPLAYNAME + Process_Delete_Service + + + DATE_MODIFICATION + 1680615209907 + + + REPOSITORY + Process + + + DATE_CREATION + 1680615209904 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/.meta_Process_New_Service b/Juju/juju_cloud_management/.meta_Process_New_Service new file mode 100755 index 00000000..30732e6a --- /dev/null +++ b/Juju/juju_cloud_management/.meta_Process_New_Service @@ -0,0 +1,31 @@ + + + + + DISPLAYNAME + Process_New_Service + + + DATE_MODIFICATION + 1680600020104 + + + REPOSITORY + Process + + + DATE_CREATION + 1680600020093 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/.meta_juju_cloud_management.xml b/Juju/juju_cloud_management/.meta_juju_cloud_management.xml new file mode 100755 index 00000000..c168ba6a --- /dev/null +++ b/Juju/juju_cloud_management/.meta_juju_cloud_management.xml @@ -0,0 +1,43 @@ + + + + + DISPLAYNAME + Juju_Cloud_Management.xml + + + DATE_MODIFICATION + 1680615495485 + + + REPOSITORY + Process + + + DATE_CREATION + 1680615495474 + + + MODEL + 0 + + + TAG + + + FILE_TYPE + text + + + MANUFACTURER + 0 + + + TYPE + FILE + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/Process_Create_Cloud/.meta_Tasks b/Juju/juju_cloud_management/Process_Create_Cloud/.meta_Tasks new file mode 100755 index 00000000..e0cda6f5 --- /dev/null +++ b/Juju/juju_cloud_management/Process_Create_Cloud/.meta_Tasks @@ -0,0 +1,31 @@ + + + + + DISPLAYNAME + Tasks + + + DATE_MODIFICATION + 1680615142004 + + + REPOSITORY + Process + + + DATE_CREATION + 1680615141994 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/Process_Create_Cloud/Tasks/.meta_Task_Create_Cloud.py b/Juju/juju_cloud_management/Process_Create_Cloud/Tasks/.meta_Task_Create_Cloud.py new file mode 100755 index 00000000..9aa4dd05 --- /dev/null +++ b/Juju/juju_cloud_management/Process_Create_Cloud/Tasks/.meta_Task_Create_Cloud.py @@ -0,0 +1,35 @@ + + + + + DISPLAYNAME + Task_Create_Cloud.py + + + DATE_MODIFICATION + 1680618730314 + + + REPOSITORY + Process + + + DATE_CREATION + 1680618730311 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/Process_Create_Cloud/Tasks/Task_Create_Cloud.py b/Juju/juju_cloud_management/Process_Create_Cloud/Tasks/Task_Create_Cloud.py new file mode 100755 index 00000000..32ce2ba6 --- /dev/null +++ b/Juju/juju_cloud_management/Process_Create_Cloud/Tasks/Task_Create_Cloud.py @@ -0,0 +1,51 @@ +''' +Visit http://[YOUR_MSA_URL]/msa_sdk/ to see what you can import. +''' +from msa_sdk.variables import Variables +from msa_sdk.msa_api import MSA_API + +''' +List all the parameters required by the task + +You can use var_name convention for your variables +They will display automaticaly as "Var Name" +The allowed types are: + 'String', 'Boolean', 'Integer', 'Password', 'IpAddress', + 'IpMask', 'Ipv6Address', 'Composite', 'OBMFRef', 'Device' + + Add as many variables as needed +''' +dev_var = Variables() +''' +context => Service Context variable per Service Instance +All the user-inputs of Tasks are automatically stored in context +Also, any new variables should be stored in context which are used across Service Instance +The variables stored in context can be used across all the Tasks and Processes of a particular Service +Update context array [add/update/delete variables] as per requirement + +ENTER YOUR CODE HERE +''' +context = Variables.task_call(dev_var) +context['var_name2'] = int(context['var_name2']) + 1 + +''' +Format of the Task response : +JSON format : {"wo_status":"status","wo_comment":"comment","wo_newparams":{json_body}} +wo_status : ENDED [Green color] or FAILED [Red color] or WARNING [Orange color] + -> While the Task is Running [means no response returned yet], task status is RUNNING [Blue color] + -> When status is returned as FAILED, the Orchestration Engine stops the Process Execution from this Task +wo_comment : Appropriate Comment to display as per the success/failure of the Task +wo_newparams : json_body parameters returned from this Task + +Function process_content() takes care of Creating a Json response from inputs +This function definiton can be found at : http://[YOUR_MSA_URL]/msa_sdk/msa_api.html#msa_sdk.msa_api.MSA_API.process_content +NOTE : For 'wo_newparams', always pass "context" [whether wo_status is ENDED/FAILED/WARNING to preserve it across Service Instance] + -> Last argument "true" mentions whether the json_response to be Logged in the logfile : /opt/jboss/latest/logs/process.log + -> If not passed, it's "false" + +The response "ret" should be echoed from the Task "print(ret)" which is read by Orchestration Engine +In case of FAILURE/WARNING, the Task can be Terminated by calling "exit" as per Logic +''' +ret = MSA_API.process_content('ENDED', 'Task OK', context, True) +print(ret) + diff --git a/Juju/juju_cloud_management/Process_Delete_Cloud/.meta_Tasks b/Juju/juju_cloud_management/Process_Delete_Cloud/.meta_Tasks new file mode 100755 index 00000000..37825205 --- /dev/null +++ b/Juju/juju_cloud_management/Process_Delete_Cloud/.meta_Tasks @@ -0,0 +1,31 @@ + + + + + DISPLAYNAME + Tasks + + + DATE_MODIFICATION + 1680615176360 + + + REPOSITORY + Process + + + DATE_CREATION + 1680615176355 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/Process_Delete_Service/.meta_Tasks b/Juju/juju_cloud_management/Process_Delete_Service/.meta_Tasks new file mode 100755 index 00000000..5249322f --- /dev/null +++ b/Juju/juju_cloud_management/Process_Delete_Service/.meta_Tasks @@ -0,0 +1,31 @@ + + + + + DISPLAYNAME + Tasks + + + DATE_MODIFICATION + 1680615209994 + + + REPOSITORY + Process + + + DATE_CREATION + 1680615209990 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/Process_New_Service/.meta_Tasks b/Juju/juju_cloud_management/Process_New_Service/.meta_Tasks new file mode 100755 index 00000000..5b67af63 --- /dev/null +++ b/Juju/juju_cloud_management/Process_New_Service/.meta_Tasks @@ -0,0 +1,31 @@ + + + + + DISPLAYNAME + Tasks + + + DATE_MODIFICATION + 1680600020159 + + + REPOSITORY + Process + + + DATE_CREATION + 1680600020155 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/Process_New_Service/Tasks/.meta_Task_Init_service.py b/Juju/juju_cloud_management/Process_New_Service/Tasks/.meta_Task_Init_service.py new file mode 100755 index 00000000..eaa9ebff --- /dev/null +++ b/Juju/juju_cloud_management/Process_New_Service/Tasks/.meta_Task_Init_service.py @@ -0,0 +1,35 @@ + + + + + DISPLAYNAME + Task_Init_service.py + + + DATE_MODIFICATION + 1680614189038 + + + REPOSITORY + Process + + + DATE_CREATION + 1680614189033 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Juju/juju_cloud_management/Process_New_Service/Tasks/Task_Init_service.py b/Juju/juju_cloud_management/Process_New_Service/Tasks/Task_Init_service.py new file mode 100755 index 00000000..ec9371ad --- /dev/null +++ b/Juju/juju_cloud_management/Process_New_Service/Tasks/Task_Init_service.py @@ -0,0 +1,11 @@ +from msa_sdk.variables import Variables +from msa_sdk.msa_api import MSA_API + +dev_var = Variables() +dev_var.add("Juju_me_ref", var_type='Device') +dev_var.add("service_instance_name", var_type='String') +context = Variables.task_call(dev_var) + + +MSA_API.task_success('Service instance created.', context) + diff --git a/Juju/juju_cloud_management/juju_cloud_management.xml b/Juju/juju_cloud_management/juju_cloud_management.xml new file mode 100644 index 00000000..f287be77 --- /dev/null +++ b/Juju/juju_cloud_management/juju_cloud_management.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + New Service + CREATE + 5 + + + /opt/fmc_repository/Process/Juju/juju_cloud_management/Process_New_Service/Tasks + Init service + + + + Create Cloud + UPDATE + 5 + + + + Delete Cloud + UPDATE + 5 + + + + Delete Service + UPDATE + 5 + + + + + This workflow allows to manage the Juju Server resources (Cloud, Credential, Controller, Model and Deployment). + service_instance_name + python + 10000 + 5 + Juju Cloud Management + + + diff --git a/Juju/juju_controller_management/.meta_juju_controller_management.xml b/Juju/juju_controller_management/.meta_juju_controller_management.xml new file mode 100755 index 00000000..cee45c6c --- /dev/null +++ b/Juju/juju_controller_management/.meta_juju_controller_management.xml @@ -0,0 +1,43 @@ + + + + + DISPLAYNAME + Juju_Controllers_Management.xml + + + DATE_MODIFICATION + 1680598293924 + + + REPOSITORY + Process + + + DATE_CREATION + 1680598293915 + + + MODEL + 0 + + + TAG + + + FILE_TYPE + text + + + MANUFACTURER + 0 + + + TYPE + FILE + + + COMMENT + + + diff --git a/Juju/juju_controller_management/juju_controller_management.xml b/Juju/juju_controller_management/juju_controller_management.xml new file mode 100644 index 00000000..52fefd13 --- /dev/null +++ b/Juju/juju_controller_management/juju_controller_management.xml @@ -0,0 +1,14 @@ + + + + + + + service_id + python + 10000 + 5 + Juju Controllers Management + + + diff --git a/Juju/juju_credential_management/.meta_juju_credentials_management.xml b/Juju/juju_credential_management/.meta_juju_credentials_management.xml new file mode 100755 index 00000000..f5d117d6 --- /dev/null +++ b/Juju/juju_credential_management/.meta_juju_credentials_management.xml @@ -0,0 +1,43 @@ + + + + + DISPLAYNAME + Juju_Credentials_Management.xml + + + DATE_MODIFICATION + 1680598431129 + + + REPOSITORY + Process + + + DATE_CREATION + 1680598431124 + + + MODEL + 0 + + + TAG + + + FILE_TYPE + text + + + MANUFACTURER + 0 + + + TYPE + FILE + + + COMMENT + + + diff --git a/Juju/juju_credential_management/juju_credentials_management.xml b/Juju/juju_credential_management/juju_credentials_management.xml new file mode 100644 index 00000000..48ebeba5 --- /dev/null +++ b/Juju/juju_credential_management/juju_credentials_management.xml @@ -0,0 +1,14 @@ + + + + + + + service_id + python + 10000 + 5 + Juju Credentials Management + + +