From 321d3ed4953334fbcbd4fd7f8c6d87d8bd9161e7 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Wed, 22 Oct 2025 22:29:52 +0200 Subject: [PATCH 01/18] First attempt in adding files - Readme.pdf --- README.pdf | Bin 0 -> 130493 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.pdf diff --git a/README.pdf b/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dfde9284beaad73f21143a4c473897f588a32299 GIT binary patch literal 130493 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%0D~9VfYrLd246%hz&1O;zDqP@*_j~$>F~iQx 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 Date: Sat, 25 Oct 2025 11:24:47 +0200 Subject: [PATCH 02/18] Added a new set of examples --- .../cron_examples_dag.yaml | 0 .../cron_scheduled_dag.yaml | 0 .../dag_id_generation_example.md | 0 .../{ => 1_Old_examples}/long_sample_dag.yaml | 0 .../playbooks/add_nat_rules.yml | 0 .../playbooks/configure-vms.yml | 0 .../playbooks/docker_install.yml | 0 .../playbooks/install_openfaas.yml | 0 .../playbooks/k3s_install.yml | 0 .../playbooks/remove_nat_rules.yml | 0 examples/{ => 1_Old_examples}/sample_dag.yaml | 0 .../{ => 1_Old_examples}/sample_dag2.yaml | 0 .../{ => 1_Old_examples}/scheduled_dag.yaml | 0 .../{ => 1_Old_examples}/simple_test_dag.yaml | 0 .../templates/inventory-nat-rules.ini.tpl | 0 .../templates/ssh_inventory.ini.j2 | 0 .../terraform/.terraform.lock.hcl | 0 .../{ => 1_Old_examples}/terraform/maestro.db | Bin .../{ => 1_Old_examples}/terraform/main.tf | 0 .../terraform/terraform.tfstate | 0 .../terraform/terraform.tfstate.backup | 0 .../terraform/terraform.tfvars.example | 0 .../{ => 1_Old_examples}/terraform/tfplan | Bin .../terraform/variables.tf | 0 .../terraform/vm_creation_flow.md | 0 .../terraform/wait_for_vm.sh | 0 examples/{ => 1_Old_examples}/test_dag.yaml | 0 examples/2_New_examples/1_basic_linear.yaml | 18 +++++++++++ examples/2_New_examples/2_bash_chain.yaml | 18 +++++++++++ examples/2_New_examples/3_wait_and_retry.yaml | 19 ++++++++++++ .../4_conditional_branching.yaml | 21 +++++++++++++ examples/2_New_examples/5_cron_heartbeat.yaml | 9 ++++++ .../2_New_examples/6_scheduled_greeting.yaml | 9 ++++++ .../2_New_examples/7_mixed_execution.yaml | 28 ++++++++++++++++++ examples/2_New_examples/DAG explanation.ods | Bin 0 -> 13328 bytes run_tests.sh | 0 36 files changed, 122 insertions(+) rename examples/{ => 1_Old_examples}/cron_examples_dag.yaml (100%) rename examples/{ => 1_Old_examples}/cron_scheduled_dag.yaml (100%) rename examples/{ => 1_Old_examples}/dag_id_generation_example.md (100%) rename examples/{ => 1_Old_examples}/long_sample_dag.yaml (100%) rename examples/{ => 1_Old_examples}/playbooks/add_nat_rules.yml (100%) rename examples/{ => 1_Old_examples}/playbooks/configure-vms.yml (100%) rename examples/{ => 1_Old_examples}/playbooks/docker_install.yml (100%) rename examples/{ => 1_Old_examples}/playbooks/install_openfaas.yml (100%) rename examples/{ => 1_Old_examples}/playbooks/k3s_install.yml (100%) rename examples/{ => 1_Old_examples}/playbooks/remove_nat_rules.yml (100%) rename examples/{ => 1_Old_examples}/sample_dag.yaml (100%) rename examples/{ => 1_Old_examples}/sample_dag2.yaml (100%) rename examples/{ => 1_Old_examples}/scheduled_dag.yaml (100%) rename examples/{ => 1_Old_examples}/simple_test_dag.yaml (100%) rename examples/{ => 1_Old_examples}/templates/inventory-nat-rules.ini.tpl (100%) rename examples/{ => 1_Old_examples}/templates/ssh_inventory.ini.j2 (100%) rename examples/{ => 1_Old_examples}/terraform/.terraform.lock.hcl (100%) rename examples/{ => 1_Old_examples}/terraform/maestro.db (100%) rename examples/{ => 1_Old_examples}/terraform/main.tf (100%) rename examples/{ => 1_Old_examples}/terraform/terraform.tfstate (100%) rename examples/{ => 1_Old_examples}/terraform/terraform.tfstate.backup (100%) rename examples/{ => 1_Old_examples}/terraform/terraform.tfvars.example (100%) rename examples/{ => 1_Old_examples}/terraform/tfplan (100%) rename examples/{ => 1_Old_examples}/terraform/variables.tf (100%) rename examples/{ => 1_Old_examples}/terraform/vm_creation_flow.md (100%) rename examples/{ => 1_Old_examples}/terraform/wait_for_vm.sh (100%) mode change 100755 => 100644 rename examples/{ => 1_Old_examples}/test_dag.yaml (100%) create mode 100644 examples/2_New_examples/1_basic_linear.yaml create mode 100644 examples/2_New_examples/2_bash_chain.yaml create mode 100644 examples/2_New_examples/3_wait_and_retry.yaml create mode 100644 examples/2_New_examples/4_conditional_branching.yaml create mode 100644 examples/2_New_examples/5_cron_heartbeat.yaml create mode 100644 examples/2_New_examples/6_scheduled_greeting.yaml create mode 100644 examples/2_New_examples/7_mixed_execution.yaml create mode 100644 examples/2_New_examples/DAG explanation.ods mode change 100755 => 100644 run_tests.sh diff --git a/examples/cron_examples_dag.yaml b/examples/1_Old_examples/cron_examples_dag.yaml similarity index 100% rename from examples/cron_examples_dag.yaml rename to examples/1_Old_examples/cron_examples_dag.yaml diff --git a/examples/cron_scheduled_dag.yaml b/examples/1_Old_examples/cron_scheduled_dag.yaml similarity index 100% rename from examples/cron_scheduled_dag.yaml rename to examples/1_Old_examples/cron_scheduled_dag.yaml diff --git a/examples/dag_id_generation_example.md b/examples/1_Old_examples/dag_id_generation_example.md similarity index 100% rename from examples/dag_id_generation_example.md rename to examples/1_Old_examples/dag_id_generation_example.md diff --git a/examples/long_sample_dag.yaml b/examples/1_Old_examples/long_sample_dag.yaml similarity index 100% rename from examples/long_sample_dag.yaml rename to examples/1_Old_examples/long_sample_dag.yaml diff --git a/examples/playbooks/add_nat_rules.yml b/examples/1_Old_examples/playbooks/add_nat_rules.yml similarity index 100% rename from examples/playbooks/add_nat_rules.yml rename to examples/1_Old_examples/playbooks/add_nat_rules.yml diff --git a/examples/playbooks/configure-vms.yml b/examples/1_Old_examples/playbooks/configure-vms.yml similarity index 100% rename from examples/playbooks/configure-vms.yml rename to examples/1_Old_examples/playbooks/configure-vms.yml diff --git a/examples/playbooks/docker_install.yml b/examples/1_Old_examples/playbooks/docker_install.yml similarity index 100% rename from examples/playbooks/docker_install.yml rename to examples/1_Old_examples/playbooks/docker_install.yml diff --git a/examples/playbooks/install_openfaas.yml b/examples/1_Old_examples/playbooks/install_openfaas.yml similarity index 100% rename from examples/playbooks/install_openfaas.yml rename to examples/1_Old_examples/playbooks/install_openfaas.yml diff --git a/examples/playbooks/k3s_install.yml b/examples/1_Old_examples/playbooks/k3s_install.yml similarity index 100% rename from examples/playbooks/k3s_install.yml rename to examples/1_Old_examples/playbooks/k3s_install.yml diff --git a/examples/playbooks/remove_nat_rules.yml b/examples/1_Old_examples/playbooks/remove_nat_rules.yml similarity index 100% rename from examples/playbooks/remove_nat_rules.yml rename to examples/1_Old_examples/playbooks/remove_nat_rules.yml diff --git a/examples/sample_dag.yaml b/examples/1_Old_examples/sample_dag.yaml similarity index 100% rename from examples/sample_dag.yaml rename to examples/1_Old_examples/sample_dag.yaml diff --git a/examples/sample_dag2.yaml b/examples/1_Old_examples/sample_dag2.yaml similarity index 100% rename from examples/sample_dag2.yaml rename to examples/1_Old_examples/sample_dag2.yaml diff --git a/examples/scheduled_dag.yaml b/examples/1_Old_examples/scheduled_dag.yaml similarity index 100% rename from examples/scheduled_dag.yaml rename to examples/1_Old_examples/scheduled_dag.yaml diff --git a/examples/simple_test_dag.yaml b/examples/1_Old_examples/simple_test_dag.yaml similarity index 100% rename from examples/simple_test_dag.yaml rename to examples/1_Old_examples/simple_test_dag.yaml diff --git a/examples/templates/inventory-nat-rules.ini.tpl b/examples/1_Old_examples/templates/inventory-nat-rules.ini.tpl similarity index 100% rename from examples/templates/inventory-nat-rules.ini.tpl rename to examples/1_Old_examples/templates/inventory-nat-rules.ini.tpl diff --git a/examples/templates/ssh_inventory.ini.j2 b/examples/1_Old_examples/templates/ssh_inventory.ini.j2 similarity index 100% rename from examples/templates/ssh_inventory.ini.j2 rename to examples/1_Old_examples/templates/ssh_inventory.ini.j2 diff --git a/examples/terraform/.terraform.lock.hcl b/examples/1_Old_examples/terraform/.terraform.lock.hcl similarity index 100% rename from examples/terraform/.terraform.lock.hcl rename to examples/1_Old_examples/terraform/.terraform.lock.hcl diff --git a/examples/terraform/maestro.db b/examples/1_Old_examples/terraform/maestro.db similarity index 100% rename from examples/terraform/maestro.db rename to examples/1_Old_examples/terraform/maestro.db diff --git a/examples/terraform/main.tf b/examples/1_Old_examples/terraform/main.tf similarity index 100% rename from examples/terraform/main.tf rename to examples/1_Old_examples/terraform/main.tf diff --git a/examples/terraform/terraform.tfstate b/examples/1_Old_examples/terraform/terraform.tfstate similarity index 100% rename from examples/terraform/terraform.tfstate rename to examples/1_Old_examples/terraform/terraform.tfstate diff --git a/examples/terraform/terraform.tfstate.backup b/examples/1_Old_examples/terraform/terraform.tfstate.backup similarity index 100% rename from examples/terraform/terraform.tfstate.backup rename to examples/1_Old_examples/terraform/terraform.tfstate.backup diff --git a/examples/terraform/terraform.tfvars.example b/examples/1_Old_examples/terraform/terraform.tfvars.example similarity index 100% rename from examples/terraform/terraform.tfvars.example rename to examples/1_Old_examples/terraform/terraform.tfvars.example diff --git a/examples/terraform/tfplan b/examples/1_Old_examples/terraform/tfplan similarity index 100% rename from examples/terraform/tfplan rename to examples/1_Old_examples/terraform/tfplan diff --git a/examples/terraform/variables.tf b/examples/1_Old_examples/terraform/variables.tf similarity index 100% rename from examples/terraform/variables.tf rename to examples/1_Old_examples/terraform/variables.tf diff --git a/examples/terraform/vm_creation_flow.md b/examples/1_Old_examples/terraform/vm_creation_flow.md similarity index 100% rename from examples/terraform/vm_creation_flow.md rename to examples/1_Old_examples/terraform/vm_creation_flow.md diff --git a/examples/terraform/wait_for_vm.sh b/examples/1_Old_examples/terraform/wait_for_vm.sh old mode 100755 new mode 100644 similarity index 100% rename from examples/terraform/wait_for_vm.sh rename to examples/1_Old_examples/terraform/wait_for_vm.sh diff --git a/examples/test_dag.yaml b/examples/1_Old_examples/test_dag.yaml similarity index 100% rename from examples/test_dag.yaml rename to examples/1_Old_examples/test_dag.yaml diff --git a/examples/2_New_examples/1_basic_linear.yaml b/examples/2_New_examples/1_basic_linear.yaml new file mode 100644 index 0000000..74bafc6 --- /dev/null +++ b/examples/2_New_examples/1_basic_linear.yaml @@ -0,0 +1,18 @@ +dag: + name: "basic_linear" + tasks: + - task_id: "start" + type: "PrintTask" + params: + message: "Starting DAG" + dependencies: [] + - task_id: "process" + type: "PythonTask" + params: + script: "print('Processing data...')" + dependencies: ["start"] + - task_id: "finish" + type: "PrintTask" + params: + message: "DAG completed!" + dependencies: ["process"] diff --git a/examples/2_New_examples/2_bash_chain.yaml b/examples/2_New_examples/2_bash_chain.yaml new file mode 100644 index 0000000..f941674 --- /dev/null +++ b/examples/2_New_examples/2_bash_chain.yaml @@ -0,0 +1,18 @@ +dag: + name: "bash_chain" + tasks: + - task_id: "list_files" + type: "BashTask" + params: + command: "ls -l" + dependencies: [] + - task_id: "count_lines" + type: "BashTask" + params: + command: "wc -l <<< 'Counting lines from previous output'" + dependencies: ["list_files"] + - task_id: "end" + type: "PrintTask" + params: + message: "Bash chain complete!" + dependencies: ["count_lines"] diff --git a/examples/2_New_examples/3_wait_and_retry.yaml b/examples/2_New_examples/3_wait_and_retry.yaml new file mode 100644 index 0000000..51d5829 --- /dev/null +++ b/examples/2_New_examples/3_wait_and_retry.yaml @@ -0,0 +1,19 @@ +dag: + name: "wait_and_retry" + tasks: + - task_id: "unstable_task" + type: "PythonTask" + params: + script: | + import random, sys + if random.random() < 0.5: + sys.exit(1) + print("Success on this run!") + retries: 3 + retry_delay: 2 + dependencies: [] + - task_id: "final_message" + type: "PrintTask" + params: + message: "Pipeline finished after retry logic" + dependencies: ["unstable_task"] diff --git a/examples/2_New_examples/4_conditional_branching.yaml b/examples/2_New_examples/4_conditional_branching.yaml new file mode 100644 index 0000000..b91e3af --- /dev/null +++ b/examples/2_New_examples/4_conditional_branching.yaml @@ -0,0 +1,21 @@ +dag: + name: "conditional_branching" + tasks: + - task_id: "check_condition" + type: "PythonTask" + params: + script: | + import random + result = "branch_a" if random.random() > 0.5 else "branch_b" + print(f"Next step: {result}") + dependencies: [] + - task_id: "branch_a" + type: "PrintTask" + params: + message: "Running branch A" + dependencies: ["check_condition"] + - task_id: "branch_b" + type: "PrintTask" + params: + message: "Running branch B" + dependencies: ["check_condition"] diff --git a/examples/2_New_examples/5_cron_heartbeat.yaml b/examples/2_New_examples/5_cron_heartbeat.yaml new file mode 100644 index 0000000..ac8dcbe --- /dev/null +++ b/examples/2_New_examples/5_cron_heartbeat.yaml @@ -0,0 +1,9 @@ +dag: + name: "cron_heartbeat" + cron_schedule: "*/10 * * * *" # Ogni 10 minuti + tasks: + - task_id: "heartbeat" + type: "PrintTask" + params: + message: "Heartbeat: Maestro is alive!" + dependencies: [] diff --git a/examples/2_New_examples/6_scheduled_greeting.yaml b/examples/2_New_examples/6_scheduled_greeting.yaml new file mode 100644 index 0000000..699c4f3 --- /dev/null +++ b/examples/2_New_examples/6_scheduled_greeting.yaml @@ -0,0 +1,9 @@ +dag: + name: "scheduled_greeting" + start_time: "2025-10-23T09:00:00" + tasks: + - task_id: "greet" + type: "PrintTask" + params: + message: "Good morning! This task started at 09:00!" + dependencies: [] diff --git a/examples/2_New_examples/7_mixed_execution.yaml b/examples/2_New_examples/7_mixed_execution.yaml new file mode 100644 index 0000000..81da1e1 --- /dev/null +++ b/examples/2_New_examples/7_mixed_execution.yaml @@ -0,0 +1,28 @@ +dag: + name: "mixed_execution" + tasks: + - task_id: "init" + type: "PrintTask" + params: + message: "Starting mixed DAG..." + dependencies: [] + - task_id: "generate_data" + type: "PythonTask" + params: + script: | + import json + data = {"values": [1, 2, 3, 4, 5]} + with open("data.json", "w") as f: + json.dump(data, f) + print("Generated data.json") + dependencies: ["init"] + - task_id: "count_values" + type: "BashTask" + params: + command: "cat data.json | grep -o '[0-9]' | wc -l" + dependencies: ["generate_data"] + - task_id: "finish" + type: "PrintTask" + params: + message: "Mixed execution complete." + dependencies: ["count_values"] diff --git a/examples/2_New_examples/DAG explanation.ods b/examples/2_New_examples/DAG explanation.ods new file mode 100644 index 0000000000000000000000000000000000000000..58a16a946d2cc34d23cbd61048de869b9cf6a3bb GIT binary patch literal 13328 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 j= Date: Sat, 25 Oct 2025 12:48:51 +0200 Subject: [PATCH 03/18] Added a new VSCode configuration file (settings.json) --- .vscode/settings.json | 49 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 86d33e3..b1153f7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,48 @@ { - "azureTerraform.checkTerraformCmd": false -} \ No newline at end of file + // === EDITOR === + "editor.tabSize": 4, + "editor.insertSpaces": true, + "editor.formatOnSave": true, + "editor.rulers": [88], // buona lunghezza per PEP8 + "editor.codeActionsOnSave": { + "source.organizeImports": true + }, + "files.trimTrailingWhitespace": true, + "files.insertFinalNewline": true, + + // === PYTHON === + "python.analysis.typeCheckingMode": "basic", + "python.defaultInterpreterPath": "${workspaceFolder}/venv/bin/python", + "python.formatting.provider": "black", + "python.linting.enabled": true, + "python.linting.flake8Enabled": true, + "python.linting.mypyEnabled": false, + "python.testing.pytestEnabled": true, + "python.testing.unittestEnabled": false, + "python.testing.autoTestDiscoverOnSaveEnabled": true, + + // === GIT === + "git.enableSmartCommit": true, + "git.confirmSync": false, + "git.autofetch": true, + + // === UI === + "workbench.colorTheme": "Dracula", + "workbench.iconTheme": "material-icon-theme", + "errorLens.enabled": true, + "breadcrumbs.enabled": true, + + // === FILES === + "files.exclude": { + "**/__pycache__": true, + "**/*.pyc": true, + ".venv": true, + "venv": true + }, + + // === TERMINAL === + "terminal.integrated.env.linux": { + "PYTHONPATH": "${workspaceFolder}" + }, + "terminal.integrated.scrollback": 10000 +} From 4a3ce3d5aaeee1d4ab28dbdcd1d93c9ba9971ccb Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sat, 25 Oct 2025 13:01:15 +0200 Subject: [PATCH 04/18] Refined settings.json --- .vscode/settings.json | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index b1153f7..b581d47 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,16 +1,15 @@ { - // === EDITOR === "editor.tabSize": 4, "editor.insertSpaces": true, "editor.formatOnSave": true, - "editor.rulers": [88], // buona lunghezza per PEP8 + "editor.rulers": [ + 88 + ], // buona lunghezza per PEP8 "editor.codeActionsOnSave": { - "source.organizeImports": true + "source.organizeImports": "explicit" }, "files.trimTrailingWhitespace": true, "files.insertFinalNewline": true, - - // === PYTHON === "python.analysis.typeCheckingMode": "basic", "python.defaultInterpreterPath": "${workspaceFolder}/venv/bin/python", "python.formatting.provider": "black", @@ -20,27 +19,19 @@ "python.testing.pytestEnabled": true, "python.testing.unittestEnabled": false, "python.testing.autoTestDiscoverOnSaveEnabled": true, - - // === GIT === "git.enableSmartCommit": true, "git.confirmSync": false, "git.autofetch": true, - - // === UI === "workbench.colorTheme": "Dracula", "workbench.iconTheme": "material-icon-theme", "errorLens.enabled": true, "breadcrumbs.enabled": true, - - // === FILES === "files.exclude": { "**/__pycache__": true, "**/*.pyc": true, ".venv": true, "venv": true }, - - // === TERMINAL === "terminal.integrated.env.linux": { "PYTHONPATH": "${workspaceFolder}" }, From 805fb040e960b7d4dbca25485549924a4037a1c6 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sat, 25 Oct 2025 15:23:27 +0200 Subject: [PATCH 05/18] Fine tuning settings.json --- .vscode/settings.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index b581d47..2cf19d5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,14 +4,14 @@ "editor.formatOnSave": true, "editor.rulers": [ 88 - ], // buona lunghezza per PEP8 + ], "editor.codeActionsOnSave": { "source.organizeImports": "explicit" }, "files.trimTrailingWhitespace": true, "files.insertFinalNewline": true, "python.analysis.typeCheckingMode": "basic", - "python.defaultInterpreterPath": "${workspaceFolder}/venv/bin/python", + "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe", "python.formatting.provider": "black", "python.linting.enabled": true, "python.linting.flake8Enabled": true, @@ -22,7 +22,7 @@ "git.enableSmartCommit": true, "git.confirmSync": false, "git.autofetch": true, - "workbench.colorTheme": "Dracula", + "workbench.colorTheme": "Dracula Theme", "workbench.iconTheme": "material-icon-theme", "errorLens.enabled": true, "breadcrumbs.enabled": true, From 099dc3a5030fd735e65fdf9bc5677e4020ae4390 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sat, 25 Oct 2025 16:11:15 +0200 Subject: [PATCH 06/18] Initial settings noted for each session --- Initial setting.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 Initial setting.txt diff --git a/Initial setting.txt b/Initial setting.txt new file mode 100644 index 0000000..beb273b --- /dev/null +++ b/Initial setting.txt @@ -0,0 +1,3 @@ +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process + +.venv\Scripts\activate From e635b7e761e3179f03f199566879f65e17ede743 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sat, 25 Oct 2025 17:20:54 +0200 Subject: [PATCH 07/18] examples and stuff on Linux --- .vscode/settings.json | 78 ++--- Initial setting.txt | 6 +- examples/2_New_examples/1_basic_linear.yaml | 36 +- examples/2_New_examples/2_bash_chain.yaml | 36 +- examples/2_New_examples/3_wait_and_retry.yaml | 38 +- .../4_conditional_branching.yaml | 42 +-- examples/2_New_examples/5_cron_heartbeat.yaml | 18 +- .../2_New_examples/6_scheduled_greeting.yaml | 18 +- .../2_New_examples/7_mixed_execution.yaml | 56 +-- run_tests.sh | 0 src/maestro/shared/dag.py | 330 +++++++++--------- 11 files changed, 329 insertions(+), 329 deletions(-) mode change 100644 => 100755 run_tests.sh diff --git a/.vscode/settings.json b/.vscode/settings.json index 2cf19d5..5aa1b41 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,39 +1,39 @@ -{ - "editor.tabSize": 4, - "editor.insertSpaces": true, - "editor.formatOnSave": true, - "editor.rulers": [ - 88 - ], - "editor.codeActionsOnSave": { - "source.organizeImports": "explicit" - }, - "files.trimTrailingWhitespace": true, - "files.insertFinalNewline": true, - "python.analysis.typeCheckingMode": "basic", - "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe", - "python.formatting.provider": "black", - "python.linting.enabled": true, - "python.linting.flake8Enabled": true, - "python.linting.mypyEnabled": false, - "python.testing.pytestEnabled": true, - "python.testing.unittestEnabled": false, - "python.testing.autoTestDiscoverOnSaveEnabled": true, - "git.enableSmartCommit": true, - "git.confirmSync": false, - "git.autofetch": true, - "workbench.colorTheme": "Dracula Theme", - "workbench.iconTheme": "material-icon-theme", - "errorLens.enabled": true, - "breadcrumbs.enabled": true, - "files.exclude": { - "**/__pycache__": true, - "**/*.pyc": true, - ".venv": true, - "venv": true - }, - "terminal.integrated.env.linux": { - "PYTHONPATH": "${workspaceFolder}" - }, - "terminal.integrated.scrollback": 10000 -} +{ + "editor.tabSize": 4, + "editor.insertSpaces": true, + "editor.formatOnSave": true, + "editor.rulers": [ + 88 + ], + "editor.codeActionsOnSave": { + "source.organizeImports": "explicit" + }, + "files.trimTrailingWhitespace": true, + "files.insertFinalNewline": true, + "python.analysis.typeCheckingMode": "basic", + "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe", + "python.formatting.provider": "black", + "python.linting.enabled": true, + "python.linting.flake8Enabled": true, + "python.linting.mypyEnabled": false, + "python.testing.pytestEnabled": true, + "python.testing.unittestEnabled": false, + "python.testing.autoTestDiscoverOnSaveEnabled": true, + "git.enableSmartCommit": true, + "git.confirmSync": false, + "git.autofetch": true, + "workbench.colorTheme": "Dracula Theme", + "workbench.iconTheme": "material-icon-theme", + "errorLens.enabled": true, + "breadcrumbs.enabled": true, + "files.exclude": { + "**/__pycache__": true, + "**/*.pyc": true, + ".venv": true, + "venv": true + }, + "terminal.integrated.env.linux": { + "PYTHONPATH": "${workspaceFolder}" + }, + "terminal.integrated.scrollback": 10000 +} diff --git a/Initial setting.txt b/Initial setting.txt index beb273b..98deb1f 100644 --- a/Initial setting.txt +++ b/Initial setting.txt @@ -1,3 +1,3 @@ -Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process - -.venv\Scripts\activate +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process + +.venv\Scripts\activate diff --git a/examples/2_New_examples/1_basic_linear.yaml b/examples/2_New_examples/1_basic_linear.yaml index 74bafc6..f9c1a0f 100644 --- a/examples/2_New_examples/1_basic_linear.yaml +++ b/examples/2_New_examples/1_basic_linear.yaml @@ -1,18 +1,18 @@ -dag: - name: "basic_linear" - tasks: - - task_id: "start" - type: "PrintTask" - params: - message: "Starting DAG" - dependencies: [] - - task_id: "process" - type: "PythonTask" - params: - script: "print('Processing data...')" - dependencies: ["start"] - - task_id: "finish" - type: "PrintTask" - params: - message: "DAG completed!" - dependencies: ["process"] +dag: + name: "basic_linear" + tasks: + - task_id: "start" + type: "PrintTask" + params: + message: "Starting DAG" + dependencies: [] + - task_id: "process" + type: "PythonTask" + params: + script: "print('Processing data...')" + dependencies: ["start"] + - task_id: "finish" + type: "PrintTask" + params: + message: "DAG completed!" + dependencies: ["process"] diff --git a/examples/2_New_examples/2_bash_chain.yaml b/examples/2_New_examples/2_bash_chain.yaml index f941674..f8337a7 100644 --- a/examples/2_New_examples/2_bash_chain.yaml +++ b/examples/2_New_examples/2_bash_chain.yaml @@ -1,18 +1,18 @@ -dag: - name: "bash_chain" - tasks: - - task_id: "list_files" - type: "BashTask" - params: - command: "ls -l" - dependencies: [] - - task_id: "count_lines" - type: "BashTask" - params: - command: "wc -l <<< 'Counting lines from previous output'" - dependencies: ["list_files"] - - task_id: "end" - type: "PrintTask" - params: - message: "Bash chain complete!" - dependencies: ["count_lines"] +dag: + name: "bash_chain" + tasks: + - task_id: "list_files" + type: "BashTask" + params: + command: "ls -l" + dependencies: [] + - task_id: "count_lines" + type: "BashTask" + params: + command: "wc -l <<< 'Counting lines from previous output'" + dependencies: ["list_files"] + - task_id: "end" + type: "PrintTask" + params: + message: "Bash chain complete!" + dependencies: ["count_lines"] diff --git a/examples/2_New_examples/3_wait_and_retry.yaml b/examples/2_New_examples/3_wait_and_retry.yaml index 51d5829..d63c1f2 100644 --- a/examples/2_New_examples/3_wait_and_retry.yaml +++ b/examples/2_New_examples/3_wait_and_retry.yaml @@ -1,19 +1,19 @@ -dag: - name: "wait_and_retry" - tasks: - - task_id: "unstable_task" - type: "PythonTask" - params: - script: | - import random, sys - if random.random() < 0.5: - sys.exit(1) - print("Success on this run!") - retries: 3 - retry_delay: 2 - dependencies: [] - - task_id: "final_message" - type: "PrintTask" - params: - message: "Pipeline finished after retry logic" - dependencies: ["unstable_task"] +dag: + name: "wait_and_retry" + tasks: + - task_id: "unstable_task" + type: "PythonTask" + params: + script: | + import random, sys + if random.random() < 0.5: + sys.exit(1) + print("Success on this run!") + retries: 3 + retry_delay: 2 + dependencies: [] + - task_id: "final_message" + type: "PrintTask" + params: + message: "Pipeline finished after retry logic" + dependencies: ["unstable_task"] diff --git a/examples/2_New_examples/4_conditional_branching.yaml b/examples/2_New_examples/4_conditional_branching.yaml index b91e3af..e216b9c 100644 --- a/examples/2_New_examples/4_conditional_branching.yaml +++ b/examples/2_New_examples/4_conditional_branching.yaml @@ -1,21 +1,21 @@ -dag: - name: "conditional_branching" - tasks: - - task_id: "check_condition" - type: "PythonTask" - params: - script: | - import random - result = "branch_a" if random.random() > 0.5 else "branch_b" - print(f"Next step: {result}") - dependencies: [] - - task_id: "branch_a" - type: "PrintTask" - params: - message: "Running branch A" - dependencies: ["check_condition"] - - task_id: "branch_b" - type: "PrintTask" - params: - message: "Running branch B" - dependencies: ["check_condition"] +dag: + name: "conditional_branching" + tasks: + - task_id: "check_condition" + type: "PythonTask" + params: + script: | + import random + result = "branch_a" if random.random() > 0.5 else "branch_b" + print(f"Next step: {result}") + dependencies: [] + - task_id: "branch_a" + type: "PrintTask" + params: + message: "Running branch A" + dependencies: ["check_condition"] + - task_id: "branch_b" + type: "PrintTask" + params: + message: "Running branch B" + dependencies: ["check_condition"] diff --git a/examples/2_New_examples/5_cron_heartbeat.yaml b/examples/2_New_examples/5_cron_heartbeat.yaml index ac8dcbe..f3b75dc 100644 --- a/examples/2_New_examples/5_cron_heartbeat.yaml +++ b/examples/2_New_examples/5_cron_heartbeat.yaml @@ -1,9 +1,9 @@ -dag: - name: "cron_heartbeat" - cron_schedule: "*/10 * * * *" # Ogni 10 minuti - tasks: - - task_id: "heartbeat" - type: "PrintTask" - params: - message: "Heartbeat: Maestro is alive!" - dependencies: [] +dag: + name: "cron_heartbeat" + cron_schedule: "*/10 * * * *" # Ogni 10 minuti + tasks: + - task_id: "heartbeat" + type: "PrintTask" + params: + message: "Heartbeat: Maestro is alive!" + dependencies: [] diff --git a/examples/2_New_examples/6_scheduled_greeting.yaml b/examples/2_New_examples/6_scheduled_greeting.yaml index 699c4f3..37e725a 100644 --- a/examples/2_New_examples/6_scheduled_greeting.yaml +++ b/examples/2_New_examples/6_scheduled_greeting.yaml @@ -1,9 +1,9 @@ -dag: - name: "scheduled_greeting" - start_time: "2025-10-23T09:00:00" - tasks: - - task_id: "greet" - type: "PrintTask" - params: - message: "Good morning! This task started at 09:00!" - dependencies: [] +dag: + name: "scheduled_greeting" + start_time: "2025-10-23T09:00:00" + tasks: + - task_id: "greet" + type: "PrintTask" + params: + message: "Good morning! This task started at 09:00!" + dependencies: [] diff --git a/examples/2_New_examples/7_mixed_execution.yaml b/examples/2_New_examples/7_mixed_execution.yaml index 81da1e1..ccd774b 100644 --- a/examples/2_New_examples/7_mixed_execution.yaml +++ b/examples/2_New_examples/7_mixed_execution.yaml @@ -1,28 +1,28 @@ -dag: - name: "mixed_execution" - tasks: - - task_id: "init" - type: "PrintTask" - params: - message: "Starting mixed DAG..." - dependencies: [] - - task_id: "generate_data" - type: "PythonTask" - params: - script: | - import json - data = {"values": [1, 2, 3, 4, 5]} - with open("data.json", "w") as f: - json.dump(data, f) - print("Generated data.json") - dependencies: ["init"] - - task_id: "count_values" - type: "BashTask" - params: - command: "cat data.json | grep -o '[0-9]' | wc -l" - dependencies: ["generate_data"] - - task_id: "finish" - type: "PrintTask" - params: - message: "Mixed execution complete." - dependencies: ["count_values"] +dag: + name: "mixed_execution" + tasks: + - task_id: "init" + type: "PrintTask" + params: + message: "Starting mixed DAG..." + dependencies: [] + - task_id: "generate_data" + type: "PythonTask" + params: + script: | + import json + data = {"values": [1, 2, 3, 4, 5]} + with open("data.json", "w") as f: + json.dump(data, f) + print("Generated data.json") + dependencies: ["init"] + - task_id: "count_values" + type: "BashTask" + params: + command: "cat data.json | grep -o '[0-9]' | wc -l" + dependencies: ["generate_data"] + - task_id: "finish" + type: "PrintTask" + params: + message: "Mixed execution complete." + dependencies: ["count_values"] diff --git a/run_tests.sh b/run_tests.sh old mode 100644 new mode 100755 diff --git a/src/maestro/shared/dag.py b/src/maestro/shared/dag.py index 21e1a8c..c351ca2 100644 --- a/src/maestro/shared/dag.py +++ b/src/maestro/shared/dag.py @@ -1,165 +1,165 @@ - -from typing import Dict, List, Optional, Union -from collections import deque -from datetime import datetime -from croniter import croniter -from enum import Enum - -from maestro.shared.task import Task - - -class DAGStatus(str, Enum): - """Enumeration for the status of a DAG.""" - PENDING = "pending" - RUNNING = "running" - COMPLETED = "completed" - FAILED = "failed" - - -class DAG: - def __init__(self, dag_id: str = "default_dag", start_time: Optional[datetime] = None, cron_schedule: Optional[str] = None): - self.dag_id = dag_id - self.start_time = start_time - self.cron_schedule = cron_schedule - self.tasks: Dict[str, Task] = {} - self.status: DAGStatus = DAGStatus.PENDING - self.execution_id: Optional[str] = None - - # Validate that only one scheduling method is used - if start_time is not None and cron_schedule is not None: - raise ValueError("Cannot specify both start_time and cron_schedule") - - # Validate cron expression if provided - if cron_schedule is not None: - if not croniter.is_valid(cron_schedule): - raise ValueError(f"Invalid cron expression: {cron_schedule}") - - def add_task(self, task: Task): - if task.task_id in self.tasks: - raise ValueError(f"Task with id '{task.task_id}' already exists.") - self.tasks[task.task_id] = task - - def validate(self): - for task_id, task in self.tasks.items(): - for dep_id in task.dependencies: - if dep_id not in self.tasks: - raise ValueError(f"Task '{task_id}' has a missing dependency: '{dep_id}'") - # Check for cycles - self.get_execution_order() - - def get_execution_order(self) -> List[str]: - in_degree = {task_id: 0 for task_id in self.tasks} - adj = {task_id: [] for task_id in self.tasks} - - for task_id, task in self.tasks.items(): - for dep_id in task.dependencies: - in_degree[task_id] += 1 - adj[dep_id].append(task_id) - - queue = deque([task_id for task_id, degree in in_degree.items() if degree == 0]) - execution_order = [] - - while queue: - current_task_id = queue.popleft() - execution_order.append(current_task_id) - - for neighbor_id in adj[current_task_id]: - in_degree[neighbor_id] -= 1 - if in_degree[neighbor_id] == 0: - queue.append(neighbor_id) - - if len(execution_order) != len(self.tasks): - raise ValueError("DAG has a cycle.") - - return execution_order - - def is_ready_to_start(self, current_time: Optional[datetime] = None) -> bool: - """Check if the DAG is ready to start based on its scheduling configuration.""" - if current_time is None: - current_time = datetime.now() - - if self.start_time is not None: - # Fixed start time - return current_time >= self.start_time - elif self.cron_schedule is not None: - # Cron schedule - check if we're within the current minute of a scheduled time - cron = croniter(self.cron_schedule, current_time) - prev_run = cron.get_prev(datetime) - next_run = cron.get_next(datetime) - - # Consider the DAG ready if we're within 60 seconds of the scheduled time - time_since_prev = (current_time - prev_run).total_seconds() - return time_since_prev <= 60 - else: - # No scheduling constraints - return True - - def time_until_start(self, current_time: Optional[datetime] = None) -> Optional[float]: - """Return the number of seconds until the DAG can start, or None if no scheduling is set.""" - if current_time is None: - current_time = datetime.now() - - if self.start_time is not None: - # Fixed start time - time_diff = (self.start_time - current_time).total_seconds() - return max(0, time_diff) # Return 0 if start_time is in the past - elif self.cron_schedule is not None: - # Cron schedule - get next scheduled time - cron = croniter(self.cron_schedule, current_time) - next_run = cron.get_next(datetime) - time_diff = (next_run - current_time).total_seconds() - return max(0, time_diff) - else: - # No scheduling constraints - return None - - def get_next_run_time(self, current_time: Optional[datetime] = None) -> Optional[datetime]: - """Get the next time this DAG is scheduled to run.""" - if current_time is None: - current_time = datetime.now() - - if self.start_time is not None: - # Fixed start time - only runs once - return self.start_time if current_time < self.start_time else None - elif self.cron_schedule is not None: - # Cron schedule - get next scheduled time - cron = croniter(self.cron_schedule, current_time) - return cron.get_next(datetime) - else: - # No scheduling constraints - return None - - def get_schedule_description(self) -> str: - """Get a human-readable description of the DAG's schedule.""" - if self.start_time is not None: - return f"One-time execution at {self.start_time}" - elif self.cron_schedule is not None: - return f"Cron schedule: {self.cron_schedule}" - else: - return "No schedule (runs immediately)" - - def to_dict(self): - """Returns a dictionary representation of the DAG.""" - return { - "dag_id": self.dag_id, - "start_time": self.start_time.isoformat() if self.start_time else None, - "cron_schedule": self.cron_schedule, - "tasks": {task_id: task.to_dict() for task_id, task in self.tasks.items()} - } - - def cron_schedule_to_aps_kwargs(self) -> Dict[str, str]: - """Converts a cron schedule string to a dictionary of arguments for APScheduler.""" - if not self.cron_schedule: - return {} - - parts = self.cron_schedule.split() - if len(parts) != 5: - raise ValueError("Invalid cron schedule format. Expected 5 parts.") - - return { - "minute": parts[0], - "hour": parts[1], - "day": parts[2], - "month": parts[3], - "day_of_week": parts[4], - } + +from typing import Dict, List, Optional, Union +from collections import deque +from datetime import datetime +from croniter import croniter +from enum import Enum + +from maestro.shared.task import Task + + +class DAGStatus(str, Enum): + """Enumeration for the status of a DAG.""" + PENDING = "pending" + RUNNING = "running" + COMPLETED = "completed" + FAILED = "failed" + + +class DAG: + def __init__(self, dag_id: str = "default_dag", start_time: Optional[datetime] = None, cron_schedule: Optional[str] = None): + self.dag_id = dag_id + self.start_time = start_time + self.cron_schedule = cron_schedule + self.tasks: Dict[str, Task] = {} + self.status: DAGStatus = DAGStatus.PENDING + self.execution_id: Optional[str] = None + + # Validate that only one scheduling method is used + if start_time is not None and cron_schedule is not None: + raise ValueError("Cannot specify both start_time and cron_schedule") + + # Validate cron expression if provided + if cron_schedule is not None: + if not croniter.is_valid(cron_schedule): + raise ValueError(f"Invalid cron expression: {cron_schedule}") + + def add_task(self, task: Task): + if task.task_id in self.tasks: + raise ValueError(f"Task with id '{task.task_id}' already exists.") + self.tasks[task.task_id] = task + + def validate(self): + for task_id, task in self.tasks.items(): + for dep_id in task.dependencies: + if dep_id not in self.tasks: + raise ValueError(f"Task '{task_id}' has a missing dependency: '{dep_id}'") + # Check for cycles + self.get_execution_order() + + def get_execution_order(self) -> List[str]: + in_degree = {task_id: 0 for task_id in self.tasks} + adj = {task_id: [] for task_id in self.tasks} + + for task_id, task in self.tasks.items(): + for dep_id in task.dependencies: + in_degree[task_id] += 1 + adj[dep_id].append(task_id) + + queue = deque([task_id for task_id, degree in in_degree.items() if degree == 0]) + execution_order = [] + + while queue: + current_task_id = queue.popleft() + execution_order.append(current_task_id) + + for neighbor_id in adj[current_task_id]: + in_degree[neighbor_id] -= 1 + if in_degree[neighbor_id] == 0: + queue.append(neighbor_id) + + if len(execution_order) != len(self.tasks): + raise ValueError("DAG has a cycle.") + + return execution_order + + def is_ready_to_start(self, current_time: Optional[datetime] = None) -> bool: + """Check if the DAG is ready to start based on its scheduling configuration.""" + if current_time is None: + current_time = datetime.now() + + if self.start_time is not None: + # Fixed start time + return current_time >= self.start_time + elif self.cron_schedule is not None: + # Cron schedule - check if we're within the current minute of a scheduled time + cron = croniter(self.cron_schedule, current_time) + prev_run = cron.get_prev(datetime) + next_run = cron.get_next(datetime) + + # Consider the DAG ready if we're within 60 seconds of the scheduled time + time_since_prev = (current_time - prev_run).total_seconds() + return time_since_prev <= 60 + else: + # No scheduling constraints + return True + + def time_until_start(self, current_time: Optional[datetime] = None) -> Optional[float]: + """Return the number of seconds until the DAG can start, or None if no scheduling is set.""" + if current_time is None: + current_time = datetime.now() + + if self.start_time is not None: + # Fixed start time + time_diff = (self.start_time - current_time).total_seconds() + return max(0, time_diff) # Return 0 if start_time is in the past + elif self.cron_schedule is not None: + # Cron schedule - get next scheduled time + cron = croniter(self.cron_schedule, current_time) + next_run = cron.get_next(datetime) + time_diff = (next_run - current_time).total_seconds() + return max(0, time_diff) + else: + # No scheduling constraints + return None + + def get_next_run_time(self, current_time: Optional[datetime] = None) -> Optional[datetime]: + """Get the next time this DAG is scheduled to run.""" + if current_time is None: + current_time = datetime.now() + + if self.start_time is not None: + # Fixed start time - only runs once + return self.start_time if current_time < self.start_time else None + elif self.cron_schedule is not None: + # Cron schedule - get next scheduled time + cron = croniter(self.cron_schedule, current_time) + return cron.get_next(datetime) + else: + # No scheduling constraints + return None + + def get_schedule_description(self) -> str: + """Get a human-readable description of the DAG's schedule.""" + if self.start_time is not None: + return f"One-time execution at {self.start_time}" + elif self.cron_schedule is not None: + return f"Cron schedule: {self.cron_schedule}" + else: + return "No schedule (runs immediately)" + + def to_dict(self): + """Returns a dictionary representation of the DAG.""" + return { + "dag_id": self.dag_id, + "start_time": self.start_time.isoformat() if self.start_time else None, + "cron_schedule": self.cron_schedule, + "tasks": {task_id: task.to_dict() for task_id, task in self.tasks.items()} + } + + def cron_schedule_to_aps_kwargs(self) -> Dict[str, str]: + """Converts a cron schedule string to a dictionary of arguments for APScheduler.""" + if not self.cron_schedule: + return {} + + parts = self.cron_schedule.split() + if len(parts) != 5: + raise ValueError("Invalid cron schedule format. Expected 5 parts.") + + return { + "minute": parts[0], + "hour": parts[1], + "day": parts[2], + "month": parts[3], + "day_of_week": parts[4], + } From ba9c5970ee6b1cf249bf06adefe3fac5cea31e98 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sun, 26 Oct 2025 00:18:20 +0200 Subject: [PATCH 08/18] Adapt all changes to Linux Ubuntu --- .vscode/settings.json | 2 +- Initial setting.txt | 3 +- folder_structure.txt | 240 +++++++++++++++++++++++++++++++++++++++++ maestro.db | Bin 65536 -> 65536 bytes test_maestro_docker.db | Bin 32768 -> 0 bytes 5 files changed, 243 insertions(+), 2 deletions(-) create mode 100644 folder_structure.txt delete mode 100644 test_maestro_docker.db diff --git a/.vscode/settings.json b/.vscode/settings.json index 5aa1b41..9fcd08d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,7 +11,7 @@ "files.trimTrailingWhitespace": true, "files.insertFinalNewline": true, "python.analysis.typeCheckingMode": "basic", - "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe", + "python.defaultInterpreterPath": ".venv/Scripts/python.exe", "python.formatting.provider": "black", "python.linting.enabled": true, "python.linting.flake8Enabled": true, diff --git a/Initial setting.txt b/Initial setting.txt index 98deb1f..4e3f70d 100644 --- a/Initial setting.txt +++ b/Initial setting.txt @@ -1,3 +1,4 @@ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -.venv\Scripts\activate +.venv/Scripts/activate # Windows +source .venv/bin/activate # Ubuntu diff --git a/folder_structure.txt b/folder_structure.txt new file mode 100644 index 0000000..bae86bf --- /dev/null +++ b/folder_structure.txt @@ -0,0 +1,240 @@ +. +├── CONCURRENT_EXECUTION.md +├── debug_task_execution.py +├── docs +│   ├── DAG_START_TIME.md +│   ├── maestro-icon.png +│   ├── maestro_icon.svg +│   └── open_issues.md +├── examples +│   ├── 1_Old_examples +│   │   ├── cron_examples_dag.yaml +│   │   ├── cron_scheduled_dag.yaml +│   │   ├── dag_id_generation_example.md +│   │   ├── long_sample_dag.yaml +│   │   ├── playbooks +│   │   │   ├── add_nat_rules.yml +│   │   │   ├── configure-vms.yml +│   │   │   ├── docker_install.yml +│   │   │   ├── install_openfaas.yml +│   │   │   ├── k3s_install.yml +│   │   │   └── remove_nat_rules.yml +│   │   ├── sample_dag2.yaml +│   │   ├── sample_dag.yaml +│   │   ├── scheduled_dag.yaml +│   │   ├── simple_test_dag.yaml +│   │   ├── templates +│   │   │   ├── inventory-nat-rules.ini.tpl +│   │   │   └── ssh_inventory.ini.j2 +│   │   ├── terraform +│   │   │   ├── maestro.db +│   │   │   ├── main.tf +│   │   │   ├── terraform.tfstate +│   │   │   ├── terraform.tfstate.backup +│   │   │   ├── terraform.tfvars.example +│   │   │   ├── tfplan +│   │   │   ├── variables.tf +│   │   │   ├── vm_creation_flow.md +│   │   │   └── wait_for_vm.sh +│   │   └── test_dag.yaml +│   └── 2_New_examples +│   ├── 1_basic_linear.yaml +│   ├── 2_bash_chain.yaml +│   ├── 3_wait_and_retry.yaml +│   ├── 4_conditional_branching.yaml +│   ├── 5_cron_heartbeat.yaml +│   ├── 6_scheduled_greeting.yaml +│   ├── 7_mixed_execution.yaml +│   └── DAG explanation.ods +├── Initial setting.txt +├── maestro.db +├── pictures +│   ├── Screenshot 2025-07-14 at 15.54.28.png +│   └── Screenshot 2025-07-18 at 19.15.10.png +├── pyproject.toml +├── pytest.ini +├── README.md +├── README.pdf +├── run_tests.sh +├── src +│   ├── maestro +│   │   ├── client +│   │   │   ├── api_client.py +│   │   │   ├── cli.py +│   │   │   ├── __init__.py +│   │   │   └── __pycache__ +│   │   │   ├── api_client.cpython-312.pyc +│   │   │   ├── cli.cpython-312.pyc +│   │   │   └── __init__.cpython-312.pyc +│   │   ├── __init__.py +│   │   ├── __pycache__ +│   │   │   └── __init__.cpython-312.pyc +│   │   ├── server +│   │   │   ├── api +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   └── __init__.cpython-312.pyc +│   │   │   │   └── v1 +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-312.pyc +│   │   │   │   │   └── router.cpython-312.pyc +│   │   │   │   ├── router.py +│   │   │   │   └── routes +│   │   │   │   ├── dags.py +│   │   │   │   ├── health.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── logs.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── dags.cpython-312.pyc +│   │   │   │   ├── health.cpython-312.pyc +│   │   │   │   ├── __init__.cpython-312.pyc +│   │   │   │   └── logs.cpython-312.pyc +│   │   │   ├── app.py +│   │   │   ├── __init__.py +│   │   │   ├── internals +│   │   │   │   ├── dag_loader.py +│   │   │   │   ├── executors +│   │   │   │   │   ├── base.py +│   │   │   │   │   ├── docker.py +│   │   │   │   │   ├── factory.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── kubernetes.py +│   │   │   │   │   ├── local.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── base.cpython-312.pyc +│   │   │   │   │   │   ├── docker.cpython-312.pyc +│   │   │   │   │   │   ├── factory.cpython-312.pyc +│   │   │   │   │   │   ├── __init__.cpython-312.pyc +│   │   │   │   │   │   ├── kubernetes.cpython-312.pyc +│   │   │   │   │   │   ├── local.cpython-312.pyc +│   │   │   │   │   │   └── ssh.cpython-312.pyc +│   │   │   │   │   └── ssh.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── models.py +│   │   │   │   ├── orchestrator.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── dag_loader.cpython-312.pyc +│   │   │   │   │   ├── __init__.cpython-312.pyc +│   │   │   │   │   ├── models.cpython-312.pyc +│   │   │   │   │   ├── orchestrator.cpython-312.pyc +│   │   │   │   │   ├── status_manager.cpython-312.pyc +│   │   │   │   │   └── task_registry.cpython-312.pyc +│   │   │   │   ├── status_manager.py +│   │   │   │   └── task_registry.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── app.cpython-312.pyc +│   │   │   │   └── __init__.cpython-312.pyc +│   │   │   ├── services +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-312.pyc +│   │   │   │   │   └── scheduler_service.cpython-312.pyc +│   │   │   │   └── scheduler_service.py +│   │   │   └── tasks +│   │   │   ├── ansible_task.py +│   │   │   ├── base.py +│   │   │   ├── extended_terraform_task.py +│   │   │   ├── file_writer_task.py +│   │   │   ├── __init__.py +│   │   │   ├── print_task.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── ansible_task.cpython-312.pyc +│   │   │   │   ├── base.cpython-312.pyc +│   │   │   │   ├── extended_terraform_task.cpython-312.pyc +│   │   │   │   ├── file_writer_task.cpython-312.pyc +│   │   │   │   ├── __init__.cpython-312.pyc +│   │   │   │   ├── print_task.cpython-312.pyc +│   │   │   │   ├── terraform_task.cpython-312.pyc +│   │   │   │   └── wait_task.cpython-312.pyc +│   │   │   ├── terraform_task.py +│   │   │   └── wait_task.py +│   │   └── shared +│   │   ├── dag.py +│   │   ├── __init__.py +│   │   ├── __pycache__ +│   │   │   ├── dag.cpython-312.pyc +│   │   │   ├── __init__.cpython-312.pyc +│   │   │   └── task.cpython-312.pyc +│   │   └── task.py +│   └── maestro.egg-info +│   ├── dependency_links.txt +│   ├── entry_points.txt +│   ├── PKG-INFO +│   ├── requires.txt +│   ├── SOURCES.txt +│   └── top_level.txt +├── struttura.txt +├── test_dag_status.py +├── test_run_dag.py +├── tests +│   ├── conftest.py +│   ├── integration +│   │   ├── conftest.py +│   │   ├── __pycache__ +│   │   │   ├── conftest.cpython-312-pytest-7.4.4.pyc +│   │   │   ├── conftest.cpython-312-pytest-8.4.1.pyc +│   │   │   ├── test_cli_rest_integration.cpython-312-pytest-7.4.4.pyc +│   │   │   ├── test_cli_rest_integration.cpython-312-pytest-8.4.1.pyc +│   │   │   ├── test_debug_server.cpython-312-pytest-7.4.4.pyc +│   │   │   ├── test_debug_server.cpython-312-pytest-8.4.1.pyc +│   │   │   ├── test_server_api_integration.cpython-312-pytest-7.4.4.pyc +│   │   │   └── test_server_api_integration.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_cli_rest_integration.py +│   │   ├── test_debug_server.py +│   │   └── test_server_api_integration.py +│   ├── maestro.db +│   ├── __pycache__ +│   │   ├── conftest.cpython-312-pytest-7.4.4.pyc +│   │   ├── conftest.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_ansible_task.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_ansible_task.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_ansible_task.cpython-312-pytest-8.4.1.pyc.8528 +│   │   ├── test_api_client.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_api_client.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_cli_attach.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_cli_attach.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_cli_attach.cpython-312-pytest-8.4.1.pyc.8528 +│   │   ├── test_cli_client.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_cli_client.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_cli_integration.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_cli_integration.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_cron_feature.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_cron_feature.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_dag.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_dag.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_dag_id_generation.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_dag_id_generation.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_db_feature.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_db_feature.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_enhanced_cli.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_enhanced_cli.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_extended_terraform_task.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_extended_terraform_task.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_multi_executor.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_multi_executor.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_orchestrator_dagloader.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_orchestrator_dagloader.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_server.cpython-312-pytest-7.4.4.pyc +│   │   ├── test_server.cpython-312-pytest-8.4.1.pyc +│   │   ├── test_status_manager.cpython-312-pytest-7.4.4.pyc +│   │   └── test_status_manager.cpython-312-pytest-8.4.1.pyc +│   ├── test_ansible_task.py +│   ├── test_api_client.py +│   ├── test_cli_attach.py +│   ├── test_cli_client.py +│   ├── test_cli_integration.py +│   ├── test_cron_feature.py +│   ├── test_dag_id_generation.py +│   ├── test_dag.py +│   ├── test_db_feature.py +│   ├── test_enhanced_cli.py +│   ├── test_extended_terraform_task.py +│   ├── test_multi_executor.py +│   ├── test_orchestrator_dagloader.py +│   ├── test_server.py +│   └── test_status_manager.py +├── TEST_SUITE.md +└── uv.lock + +37 directories, 201 files diff --git a/maestro.db b/maestro.db index c58ae3b14a91f4331370c15615d031afeed60789..50ca3b28c8186d82b7a223a47e44d0d236822c29 100644 GIT binary patch delta 524 zcmZo@U}22lTAEWmyrP+XvKv& znI)<5iKQj^U_NFL8ltfWF36Ap*iv=FT>k}(1HsiB`S z5igg<7YS-2sHfF*?UVgGr3LMTs_9LLR2SZLlm8j(7C3zon3-O{&+>w4Lw{OVGzGbJ zF37I4UB-{PPUDP@W?nJ92N&H*ZBZf0N^X&pWDD_txJ;PgI@pBgr^iRpW_XMOfEh(Y z@mh5MRx4s7_3GnD7NVxXwEA}CJwe1Tp|6RCnUzy$ZRIXPt2gMeprOWv(s3J_eR0+) zxkXu)1w|A@Z@b`c7d?%*NdfmDyG5@kOUl?eZGJmko^O-f9?7T3^5J=`$R58x006P= z4AtQhk(l#Wr}0%JQwajow=1*(rE@;(4v*;*6) zbB=OXJHDgX=XVDJf=~H}Pr-^3ki6Jd@6alv@Pmk>i>qf;?%8)j-AE~Lc~NJ!;9CPm S3>L$Hfgji$p)MD@j{gQ@gA$$q diff --git a/test_maestro_docker.db b/test_maestro_docker.db deleted file mode 100644 index cb6a021b345e2af16a90179109ccebce7e90c93a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI&U2D@&7{Kvl>)I`BZZ{(!2xs1Gg`tdHieT)rS?s!*W#aH6#5LQ3eY45NKv1lD z<@fN*c;VOZBgn4IN!QoeiV`6g|H5h0b52f9e$R74LwfM6-(_>UuB)G4hVHAX7rMdgAb!ggEYq+}VH=N2riiP=nl|TG#B;+c zJTWX$-m^vduvA(X+FZpwb;dM#m)`Mt=r`))Iz-0{&x7u;aC4ONr`0%C)y8QcOLizyvgSHa*JnH- zQ1TReGaB)e#~i7udKX@GFi;e%+U=v6m|{j3<88 zYr5gtU``!JYk6diPfnuIe9`i&Q(67N^0?EKQ*}1v`*d_UjqmLj From 2d6bda581ad3ee9e8cd08dace31f6a058f7e9d7a Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sun, 26 Oct 2025 22:27:00 +0100 Subject: [PATCH 09/18] Removed maestro.db --- maestro.db | Bin 65536 -> 45056 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/maestro.db b/maestro.db index 50ca3b28c8186d82b7a223a47e44d0d236822c29..e81064cc9cb16276e139e7a0995d5d6279975075 100644 GIT binary patch delta 131 zcmZo@U}<>3G(n1wfsKKIfg6ayV4{YZ5>Q01s(_dO2Ll&pDFeSO|9Rfid@p#GasA?{ z=HlSm$yvIw@hivXUe1-QocfIH;-aFAO^%c8`F%xF64T?;GILT35=$}^!W@H~Jsg83 dcktJ2W@-2%zoeA3>1(NPq-^ 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 From dac1c70aeb30e55cf70a6592bdcfe0fdcaeb90b3 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sun, 26 Oct 2025 22:30:59 +0100 Subject: [PATCH 10/18] Added python_task.py in server/tasks/ and updated server/internals/task_registry.py --- src/maestro/server/internals/task_registry.py | 3 ++ src/maestro/server/tasks/python_task.py | 35 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/maestro/server/tasks/python_task.py diff --git a/src/maestro/server/internals/task_registry.py b/src/maestro/server/internals/task_registry.py index 4594781..51daab7 100644 --- a/src/maestro/server/internals/task_registry.py +++ b/src/maestro/server/internals/task_registry.py @@ -18,6 +18,8 @@ def _load_builtin_tasks(self): from maestro.server.tasks.terraform_task import TerraformTask from maestro.server.tasks.ansible_task import AnsibleTask from maestro.server.tasks.extended_terraform_task import ExtendedTerraformTask + from maestro.server.tasks.python_task import PythonTask + self.register("PrintTask", PrintTask) self.register("FileWriterTask", FileWriterTask) @@ -25,6 +27,7 @@ def _load_builtin_tasks(self): self.register("TerraformTask", TerraformTask) self.register("AnsibleTask", AnsibleTask) self.register("ExtendedTerraformTask", ExtendedTerraformTask) + self.register("PythonTask", PythonTask) def register(self, name: str, task_class: typing.Type[BaseTask]): """Register a task type.""" diff --git a/src/maestro/server/tasks/python_task.py b/src/maestro/server/tasks/python_task.py new file mode 100644 index 0000000..73d384c --- /dev/null +++ b/src/maestro/server/tasks/python_task.py @@ -0,0 +1,35 @@ +from maestro.server.tasks.base import BaseTask +from maestro.server.internals.status_manager import StatusManager + +class PythonTask(BaseTask): + """Task that executes a Python function or code snippet.""" + + def __init__(self, task_id: str, code: str = None, function: str = None, **kwargs): + super().__init__(task_id=task_id, **kwargs) + self.code = code + self.function = function + + def run(self, **context): + """Execute the Python code or function dynamically.""" + self.log(f"Executing PythonTask: {self.task_id}") + + if self.code: + # Execute provided code string safely + local_ctx = {} + exec(self.code, {}, local_ctx) + result = local_ctx.get("result") + self.log(f"PythonTask result: {result}") + return result + + elif self.function: + # Import and run a Python callable by dotted path + module_name, func_name = self.function.rsplit(".", 1) + module = __import__(module_name, fromlist=[func_name]) + func = getattr(module, func_name) + result = func(**context) + self.log(f"PythonTask function result: {result}") + return result + + else: + self.log("No code or function provided.") + return None From e8518885a78a7e366eb9fd9b28d0f6c6ac1d9ea7 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sun, 26 Oct 2025 22:49:48 +0100 Subject: [PATCH 11/18] improved file python_task.py --- src/maestro/server/tasks/python_task.py | 64 +++++++++++++++++-------- 1 file changed, 45 insertions(+), 19 deletions(-) diff --git a/src/maestro/server/tasks/python_task.py b/src/maestro/server/tasks/python_task.py index 73d384c..0c253ef 100644 --- a/src/maestro/server/tasks/python_task.py +++ b/src/maestro/server/tasks/python_task.py @@ -1,35 +1,61 @@ from maestro.server.tasks.base import BaseTask -from maestro.server.internals.status_manager import StatusManager class PythonTask(BaseTask): - """Task that executes a Python function or code snippet.""" + """ + Task che esegue codice Python inline o da file. + Supporta campi: 'code', 'script', 'file', 'path' o 'function'. + """ - def __init__(self, task_id: str, code: str = None, function: str = None, **kwargs): + def __init__(self, task_id: str, code=None, script=None, file=None, path=None, function=None, **kwargs): super().__init__(task_id=task_id, **kwargs) - self.code = code + # Accetta diversi alias per compatibilità + self.code = code or script + self.file = file or path self.function = function def run(self, **context): - """Execute the Python code or function dynamically.""" - self.log(f"Executing PythonTask: {self.task_id}") + """Esegue codice Python dinamicamente.""" + self.log(f"[PythonTask] Esecuzione del task '{self.task_id}'") + # Caso 1: codice inline if self.code: - # Execute provided code string safely local_ctx = {} - exec(self.code, {}, local_ctx) - result = local_ctx.get("result") - self.log(f"PythonTask result: {result}") - return result + try: + exec(self.code, {}, local_ctx) + result = local_ctx.get("result") + self.log(f"[PythonTask] Risultato: {result}") + return result + except Exception as e: + self.log(f"[PythonTask] Errore durante exec: {e}") + raise + # Caso 2: codice da file + elif self.file: + try: + with open(self.file, "r") as f: + code = f.read() + local_ctx = {} + exec(code, {}, local_ctx) + result = local_ctx.get("result") + self.log(f"[PythonTask] Risultato file: {result}") + return result + except Exception as e: + self.log(f"[PythonTask] Errore durante exec file: {e}") + raise + + # Caso 3: funzione importata elif self.function: - # Import and run a Python callable by dotted path - module_name, func_name = self.function.rsplit(".", 1) - module = __import__(module_name, fromlist=[func_name]) - func = getattr(module, func_name) - result = func(**context) - self.log(f"PythonTask function result: {result}") - return result + try: + module_name, func_name = self.function.rsplit(".", 1) + module = __import__(module_name, fromlist=[func_name]) + func = getattr(module, func_name) + result = func(**context) + self.log(f"[PythonTask] Risultato funzione: {result}") + return result + except Exception as e: + self.log(f"[PythonTask] Errore durante import funzione: {e}") + raise else: - self.log("No code or function provided.") + self.log("[PythonTask] Nessun campo valido (code/script/file/function) fornito.") return None From 7067914dd14932df55043837c6fdad4287683c45 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sun, 26 Oct 2025 23:06:18 +0100 Subject: [PATCH 12/18] Updated maestro/server/tasks/python_task.py to make it work with Pydantic in server/shared/task.py --- src/maestro/server/tasks/python_task.py | 66 +++++-------------------- 1 file changed, 13 insertions(+), 53 deletions(-) diff --git a/src/maestro/server/tasks/python_task.py b/src/maestro/server/tasks/python_task.py index 0c253ef..2461c9f 100644 --- a/src/maestro/server/tasks/python_task.py +++ b/src/maestro/server/tasks/python_task.py @@ -1,61 +1,21 @@ +from typing import Optional +from pydantic import Field from maestro.server.tasks.base import BaseTask + class PythonTask(BaseTask): """ - Task che esegue codice Python inline o da file. - Supporta campi: 'code', 'script', 'file', 'path' o 'function'. + Executes a Python snippet provided as a string or a file path. """ + code: Optional[str] = Field(default=None, description="Inline Python code to execute") + script_path: Optional[str] = Field(default=None, description="Path to a .py file to execute") - def __init__(self, task_id: str, code=None, script=None, file=None, path=None, function=None, **kwargs): - super().__init__(task_id=task_id, **kwargs) - # Accetta diversi alias per compatibilità - self.code = code or script - self.file = file or path - self.function = function - - def run(self, **context): - """Esegue codice Python dinamicamente.""" - self.log(f"[PythonTask] Esecuzione del task '{self.task_id}'") - - # Caso 1: codice inline + def execute_local(self): if self.code: - local_ctx = {} - try: - exec(self.code, {}, local_ctx) - result = local_ctx.get("result") - self.log(f"[PythonTask] Risultato: {result}") - return result - except Exception as e: - self.log(f"[PythonTask] Errore durante exec: {e}") - raise - - # Caso 2: codice da file - elif self.file: - try: - with open(self.file, "r") as f: - code = f.read() - local_ctx = {} - exec(code, {}, local_ctx) - result = local_ctx.get("result") - self.log(f"[PythonTask] Risultato file: {result}") - return result - except Exception as e: - self.log(f"[PythonTask] Errore durante exec file: {e}") - raise - - # Caso 3: funzione importata - elif self.function: - try: - module_name, func_name = self.function.rsplit(".", 1) - module = __import__(module_name, fromlist=[func_name]) - func = getattr(module, func_name) - result = func(**context) - self.log(f"[PythonTask] Risultato funzione: {result}") - return result - except Exception as e: - self.log(f"[PythonTask] Errore durante import funzione: {e}") - raise - + exec(self.code, {}) + elif self.script_path: + with open(self.script_path, "r") as f: + code = f.read() + exec(code, {}) else: - self.log("[PythonTask] Nessun campo valido (code/script/file/function) fornito.") - return None + raise ValueError("PythonTask requires either 'code' or 'script_path'.") From f05a050f9a8c502b98b12d73e0f1a02c88d95927 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Sun, 26 Oct 2025 23:09:41 +0100 Subject: [PATCH 13/18] Updated server/tasks/__init__.py --- src/maestro/server/tasks/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/maestro/server/tasks/__init__.py b/src/maestro/server/tasks/__init__.py index 03147e2..bb60fdb 100644 --- a/src/maestro/server/tasks/__init__.py +++ b/src/maestro/server/tasks/__init__.py @@ -4,5 +4,6 @@ from .ansible_task import AnsibleTask from .file_writer_task import FileWriterTask from .terraform_task import TerraformTask +from .python_task import PythonTask -__all__ = ["BaseTask", "PrintTask", "WaitTask", "AnsibleTask", "FileWriterTask", "TerraformTask"] +__all__ = ["BaseTask", "PrintTask", "WaitTask", "AnsibleTask", "FileWriterTask", "TerraformTask", "PythonTask"] From 1cb36fea4beb4b81472b26d84d29090c3a90da80 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Tue, 28 Oct 2025 10:16:35 +0100 Subject: [PATCH 14/18] Solved starting bash tasks --- maestro.db | Bin 45056 -> 69632 bytes src/maestro/server/internals/task_registry.py | 4 ++ src/maestro/server/tasks/__init__.py | 12 +++++- src/maestro/server/tasks/bash_task.py | 38 ++++++++++++++++++ 4 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 src/maestro/server/tasks/bash_task.py diff --git a/maestro.db b/maestro.db index e81064cc9cb16276e139e7a0995d5d6279975075..c28a5914098a31306737ad75fbcd272e23e460f5 100644 GIT binary patch literal 69632 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 delta 54 zcmZozz|!!5X@WE>8v_Fa_e2GIMz)O!3-}i`C`{VGvYDmfk35iG%(6fL#s<;)0N)4` AZ~y=R diff --git a/src/maestro/server/internals/task_registry.py b/src/maestro/server/internals/task_registry.py index 51daab7..a9074e2 100644 --- a/src/maestro/server/internals/task_registry.py +++ b/src/maestro/server/internals/task_registry.py @@ -1,3 +1,5 @@ +# /home/dave-crd/Scrivania/Maestro/src/maestro/server/internals/ + import typing from maestro.server.tasks import BaseTask @@ -19,6 +21,7 @@ def _load_builtin_tasks(self): from maestro.server.tasks.ansible_task import AnsibleTask from maestro.server.tasks.extended_terraform_task import ExtendedTerraformTask from maestro.server.tasks.python_task import PythonTask + from maestro.server.tasks.bash_task import BashTask self.register("PrintTask", PrintTask) @@ -28,6 +31,7 @@ def _load_builtin_tasks(self): self.register("AnsibleTask", AnsibleTask) self.register("ExtendedTerraformTask", ExtendedTerraformTask) self.register("PythonTask", PythonTask) + self.register("BashTask", BashTask) def register(self, name: str, task_class: typing.Type[BaseTask]): """Register a task type.""" diff --git a/src/maestro/server/tasks/__init__.py b/src/maestro/server/tasks/__init__.py index bb60fdb..650a1be 100644 --- a/src/maestro/server/tasks/__init__.py +++ b/src/maestro/server/tasks/__init__.py @@ -1,3 +1,5 @@ +# ~maestro/src/maestro/server/tasks/ + from .base import BaseTask from .print_task import PrintTask from .wait_task import WaitTask @@ -5,5 +7,13 @@ from .file_writer_task import FileWriterTask from .terraform_task import TerraformTask from .python_task import PythonTask +from .bash_task import BashTask -__all__ = ["BaseTask", "PrintTask", "WaitTask", "AnsibleTask", "FileWriterTask", "TerraformTask", "PythonTask"] +__all__ = ["BaseTask", + "PrintTask", + "WaitTask", + "AnsibleTask", + "FileWriterTask", + "TerraformTask", + "PythonTask", + "BashTask"] diff --git a/src/maestro/server/tasks/bash_task.py b/src/maestro/server/tasks/bash_task.py new file mode 100644 index 0000000..52621c7 --- /dev/null +++ b/src/maestro/server/tasks/bash_task.py @@ -0,0 +1,38 @@ +# maestro/src/server/task/bash_task.py + +import subprocess +import logging +from maestro.server.tasks.base import BaseTask + +logger = logging.getLogger(__name__) + +class BashTask(BaseTask): + """ + A task that executes a Bash command locally. + """ + command: str + + def execute_local(self): + logger.info(f"[BashTask] Executing command: {self.command}") + try: + result = subprocess.run( + self.command, + shell=True, + capture_output=True, + text=True + ) + if result.returncode == 0: + logger.info(f"[BashTask] Output:\n{result.stdout.strip()}") + self.status = "completed" + else: + logger.error(f"[BashTask] Error:\n{result.stderr.strip()}") + self.status = "failed" + except Exception as e: + logger.exception(f"[BashTask] Exception: {e}") + self.status = "failed" + + def to_dict(self): + """Include the command field in serialized form.""" + base = super().to_dict() + base["command"] = self.command + return base From 48dcd685b18cbbef377648d652ca02322a595c13 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Tue, 28 Oct 2025 11:02:57 +0100 Subject: [PATCH 15/18] Solved every problem with 7 examples --- data.json | 1 + examples/2_New_examples/1_basic_linear.yaml | 3 ++- examples/2_New_examples/3_wait_and_retry.yaml | 2 +- .../4_conditional_branching.yaml | 2 +- .../2_New_examples/7_mixed_execution.yaml | 2 +- maestro.db | Bin 69632 -> 69632 bytes src/maestro/server/tasks/bash_task.py | 1 + 7 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 data.json diff --git a/data.json b/data.json new file mode 100644 index 0000000..4136c6f --- /dev/null +++ b/data.json @@ -0,0 +1 @@ +{"values": [1, 2, 3, 4, 5]} \ No newline at end of file diff --git a/examples/2_New_examples/1_basic_linear.yaml b/examples/2_New_examples/1_basic_linear.yaml index f9c1a0f..268bf83 100644 --- a/examples/2_New_examples/1_basic_linear.yaml +++ b/examples/2_New_examples/1_basic_linear.yaml @@ -9,7 +9,8 @@ dag: - task_id: "process" type: "PythonTask" params: - script: "print('Processing data...')" + code: | + print("Processing data...") dependencies: ["start"] - task_id: "finish" type: "PrintTask" diff --git a/examples/2_New_examples/3_wait_and_retry.yaml b/examples/2_New_examples/3_wait_and_retry.yaml index d63c1f2..ba90314 100644 --- a/examples/2_New_examples/3_wait_and_retry.yaml +++ b/examples/2_New_examples/3_wait_and_retry.yaml @@ -4,7 +4,7 @@ dag: - task_id: "unstable_task" type: "PythonTask" params: - script: | + code: | import random, sys if random.random() < 0.5: sys.exit(1) diff --git a/examples/2_New_examples/4_conditional_branching.yaml b/examples/2_New_examples/4_conditional_branching.yaml index e216b9c..826000b 100644 --- a/examples/2_New_examples/4_conditional_branching.yaml +++ b/examples/2_New_examples/4_conditional_branching.yaml @@ -4,7 +4,7 @@ dag: - task_id: "check_condition" type: "PythonTask" params: - script: | + code: | import random result = "branch_a" if random.random() > 0.5 else "branch_b" print(f"Next step: {result}") diff --git a/examples/2_New_examples/7_mixed_execution.yaml b/examples/2_New_examples/7_mixed_execution.yaml index ccd774b..4abc615 100644 --- a/examples/2_New_examples/7_mixed_execution.yaml +++ b/examples/2_New_examples/7_mixed_execution.yaml @@ -9,7 +9,7 @@ dag: - task_id: "generate_data" type: "PythonTask" params: - script: | + code: | import json data = {"values": [1, 2, 3, 4, 5]} with open("data.json", "w") as f: diff --git a/maestro.db b/maestro.db index c28a5914098a31306737ad75fbcd272e23e460f5..7e1c9d08fb82e14ec2a517a05bf2891516499dc4 100644 GIT binary patch literal 69632 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 diff --git a/src/maestro/server/tasks/bash_task.py b/src/maestro/server/tasks/bash_task.py index 52621c7..475c626 100644 --- a/src/maestro/server/tasks/bash_task.py +++ b/src/maestro/server/tasks/bash_task.py @@ -18,6 +18,7 @@ def execute_local(self): result = subprocess.run( self.command, shell=True, + executable="/bin/bash", capture_output=True, text=True ) From 6e28326b7143678fde0c92a590b6887038e65c4f Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Tue, 28 Oct 2025 17:59:47 +0100 Subject: [PATCH 16/18] First fixing server stop command --- src/maestro/client/cli.py | 49 ++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/src/maestro/client/cli.py b/src/maestro/client/cli.py index f2794e4..4296cdf 100644 --- a/src/maestro/client/cli.py +++ b/src/maestro/client/cli.py @@ -450,9 +450,14 @@ def start_server( "--port", str(port), "--log-level", log_level ] - - subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) - + + process = subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + + pid_file = os.path.expanduser("~/.maestro/server.pid") + os.makedirs(os.path.dirname(pid_file), exist_ok=True) + with open(pid_file, "w") as f: + f.write(str(process.pid)) + # Wait for server to start api_client.base_url = f"http://{host}:{port}" if api_client.wait_for_server(30): @@ -460,18 +465,50 @@ def start_server( else: console.print("[red]Failed to start server[/red]") raise typer.Exit(1) + # console.print(f"[green]Maestro server started on {host}:{port}[/green]") + console.print(f"[blue]PID file created at {pid_file}[/blue]") + else: # Run server in foreground from maestro.server.app import start_server console.print(f"[green]Starting Maestro server on {host}:{port}[/green]") start_server(host, port, log_level) + @server.command("stop") def stop_server(): """Stop the Maestro API server""" - # This would need to be implemented with proper process management - console.print("[yellow]Server stop command not implemented yet[/yellow]") - console.print("[yellow]Please stop the server manually (Ctrl+C)[/yellow]") + import signal + import sys + + pid_file = os.path.expanduser("~/.maestro/server.pid") + + if not os.path.exists(pid_file): + console.print("[red]No PID file found. Is the server running as a daemon?[/red]") + raise typer.Exit(1) + + try: + with open(pid_file, "r") as f: + pid = int(f.read().strip()) + except Exception as e: + console.print(f"[red]Error reading PID file: {e}[/red]") + raise typer.Exit(1) + + try: + os.kill(pid, signal.SIGTERM) + console.print(f"[green]Stopping Maestro server (PID {pid})...[/green]") + + except ProcessLookupError: + console.print("[yellow]Process not found. Removing stale PID file.[/yellow]") + except PermissionError: + console.print("[red]Permission denied to stop server process.[/red]") + raise typer.Exit(1) + finally: + if os.path.exists(pid_file): + os.remove(pid_file) + + console.print("[green]Server stopped successfully.[/green]") + @server.command("status") def server_status( From 003aeafc1a41f514ce901e02092f394cfbe70314 Mon Sep 17 00:00:00 2001 From: Davide Corigliano Date: Tue, 28 Oct 2025 18:23:31 +0100 Subject: [PATCH 17/18] Fine tuning of server stop command --- src/maestro/client/cli.py | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/src/maestro/client/cli.py b/src/maestro/client/cli.py index 4296cdf..d26df55 100644 --- a/src/maestro/client/cli.py +++ b/src/maestro/client/cli.py @@ -13,6 +13,7 @@ import subprocess import time import threading +import json from .api_client import MaestroAPIClient @@ -458,15 +459,35 @@ def start_server( with open(pid_file, "w") as f: f.write(str(process.pid)) + status_data = { + "pid": process.pid, + "host": host, + "port": port + } + with open(pid_file, "w") as f: + json.dump(status_data, f) + # Wait for server to start api_client.base_url = f"http://{host}:{port}" if api_client.wait_for_server(30): console.print(f"[green]Maestro server started on {host}:{port}[/green]") + + try: + with open(pid_file, "r") as f: + data = json.load(f) + pid = data["pid"] + host = data.get("host", "unknown") + port = data.get("port", "unknown") + + console.print(f"[blue]PID file created at {pid_file} with number: {pid}[/blue]") + + except Exception as e: + console.print(f"[red]Error reading PID file: {e}[/red]") + raise typer.Exit(1) + else: console.print("[red]Failed to start server[/red]") raise typer.Exit(1) - # console.print(f"[green]Maestro server started on {host}:{port}[/green]") - console.print(f"[blue]PID file created at {pid_file}[/blue]") else: # Run server in foreground @@ -478,9 +499,6 @@ def start_server( @server.command("stop") def stop_server(): """Stop the Maestro API server""" - import signal - import sys - pid_file = os.path.expanduser("~/.maestro/server.pid") if not os.path.exists(pid_file): @@ -489,15 +507,17 @@ def stop_server(): try: with open(pid_file, "r") as f: - pid = int(f.read().strip()) + data = json.load(f) + pid = data["pid"] + host = data.get("host", "unknown") + port = data.get("port", "unknown") except Exception as e: console.print(f"[red]Error reading PID file: {e}[/red]") raise typer.Exit(1) try: os.kill(pid, signal.SIGTERM) - console.print(f"[green]Stopping Maestro server (PID {pid})...[/green]") - + console.print(f"[green]Stopping Maestro server (PID {pid}), currently running on {host}:{port}...[/green]") except ProcessLookupError: console.print("[yellow]Process not found. Removing stale PID file.[/yellow]") except PermissionError: From ef6d1867a602d4c4eeca904490103efa013a52ba Mon Sep 17 00:00:00 2001 From: "Davide Corigliano (Data Science - Bicocca)" Date: Sun, 2 Nov 2025 20:08:34 +0100 Subject: [PATCH 18/18] docs: clarify testing and command execution using uv Updated README.md and README.pdf to include guidance on using 'uv run' or 'uv shell' to ensure correct dependency management during testing and CLI operations. This change helps new contributors run the test suite successfully with the documented defaults. Closes #14 --- README.md | 16 +++++++++++++++- README.pdf | Bin 130493 -> 221612 bytes maestro.db | Bin 69632 -> 69632 bytes 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8a7a513..9678fb0 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ - **Efficient filtering:** Client-side log deduplication and filtering - **Graceful reconnection:** Automatic retry logic for network issues -## Installation +## Installation and use of UV ```bash # Clone the repository @@ -45,6 +45,20 @@ uv sync --extra test # Install the project in editable mode for local development uv pip install -e . + +# ... + +# NOTE: Since uv provides and manages all dependencies required by the software, it’s recommended to use uv run when executing commands such as tests or CLI operations. +# This ensures that all dependencies are correctly resolved within the managed environment. + +# Example: +uv run maestro server start +uv run pytest + +# Alternatively, you can start an interactive environment once and run commands normally (if "uv shell" is implemented): +uv shell +maestro server start +pytest ``` ## Usage diff --git a/README.pdf b/README.pdf index dfde9284beaad73f21143a4c473897f588a32299..3d609b9b00b302c0dc4f5955d796e08ae0369ba4 100644 GIT binary patch literal 221612 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�`g`clS%(hs9 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⪼mNX|VMDNSVo~tsFt2KbeyO#rYXO;+J>t>YTsQ9> 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

7w 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 literal 130493 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%0D~9VfYrLd246%hz&1O;zDqP@*_j~$>F~iQx z`u~iX|Hzp6R*?S z|Yd)De7 z&7R-&{lCl}BKAL+U_aP^hrb%3|Jqdk8!JriPh`N~LIF$+z^04rz((A_^jl!#xo=DW zkOW}oV5VbXWd{OYj7-c-zz&T-?Cak+WdE(iTj0?9YjFQ=o&m#WzrFs$`TV}c4_@on z`TPzA0DJuXdJX&+etK{~OU}X2j_6zXuY;km;WvQe52xNa1qcOLkVsS?81PQEmVpnz zd3kEUXX8xn7a6^YV)Cq6cR;NSPp#(aL&U0Cr<>=|chX!uH1Gxx*$NVM2Boh+h>?<( zXs!Cz*?7XELi6KCMIys%7&#v+Uye9dB$1vAyhxj!nmT?eoS`RB(F=WTq+o}%>9=C10-cL6wy1>_JVe$;~OV@UVEMZ@{TlbN7 ze;UUtf}Rn|=6u$Gcn{K~M&-XBLbCms`1;MU_kL+>^+{^fgId|Ge%&LnetP4eWQeNN zG8ByC>a^c+$C237cKfk<=>u+XqJiB-3TDTT~l9&5$|fTu?OARd$WHT)29@rfSKU z2`ST_-iJR}++@GJd$GP*x_fEpSp4vae*5w`b{p2A}vq$*r`mfB* zpSv-wpWp!Tm}BYmXii!Qv+y}O`>Z=EcgfoHt&iZ%+6MHoG_LQw-jy}w&S1@*Z$@eB z7{#5{UfjWH(mg4Z0)Iek`bF$rDzmA1NR_7R(=R-hXzS=FSU-7xhXNvhLIG$8ock4c zCoVC~&q_7RzJSBDseq6hp*;9YGX;btf;PV00(ZwyA;)W%Dsz;i$)bTxN42?HU4#_( z04piY*0NlwLTWk!3r8BI3;+j2blYO6IDuLRyaLIBFGG}%@m-A+1CYD7L&dN=19>gVQGXtb_3wxS*pZRP_Ou-YZLyZXc%vrR$VLL_ZsR}|s9)P@IR2ZRn zj2!1&;DAU3)pfP8mUitz-#4j_WMJTm+jd$rMJ)HU&0U-I^oZZ~dArZ&q;2h zAYxqlf(g>hDZiAGbjEOt(~4EhC%hAw-|0Y6E{mihlqxZ! zh{KGiRxS64y{0O{XE$i!&86Ruiv@6i<%;SiL(mJZ=BdM*c-`eg*wHpRw*c8kE-W&) z;i>nAUzut;9%oEj`=f9`8FHND7udPcUKi*YlC!)s))D1Mn6faE3kC(AgnVz9tfDi4 zv8yWOkR?9t{Z2c{FSfX2jD2w;uXD#h=ky(3AWE=ZLXu7WM znRE%1@0uvM1JF#3X&mn22VJ_%O3_xgy-8yfkYxysK=X3;zyQceP9k;q zX>m6+N4yhLQ$S~a+c2Bfx@)Q~R>2J`=s@m*0C%j2gjt72cQvJQDu6uNvRxT($9kuc ze6$3OCw4jG5oYEUZC-^|a{kA#NT%^3FJXj+_C?E^1+Y5Axe3zLxT;s5a%ApvCkP<;uOI-~ zzkmP|{{aZF|3?r&;%`8J#@`@-d2CCv#@XR_5TN)EAb`X#5FqY12!Q=RfdFX#7a#yf z#{UQc-2Dat!2eeuK>XZ=5~$_qh{REJF^3{E_eS3*Z8GMPJifP_$4Qr!EJ$m9E~5_H zmp5Ai?nm6>+^a6gd}G}CvwcqXOoo-=5N8HxlP+kOkCR)HdPXIkPkgHVLvaiTx5;{iE7iR76dJ=@l@yxiZ|?|r zUMq}j7sNPE=Srnu0P5s1C~ovLm5Y#&dj13g-2VUp zUI0OWs2?Ce_zw^u3$!72;lS2AVBj!g8+z4{|gX+6Z@|~fTh0x0R~d$`G@D=ugFX@vH~H*eOi(9Y=p8M z$7t4Hf=%+EAf&8D9!prVB7;|SQtjZ}AY)}>LuRHF)&wH;RBVHMEI=)AcG|!ftO04* zzvO<#VvH@c(*_pESt9j;W zSTD2?FEmh*T`UW4`2>+#8uHJDki){8q$%SkfKt&mLo2Knx7y*(H}v839}it zm2s_4KR|$~Um$?ycMt#%2m)Bv)@pnM0l>b20MkGaAom9dunzYJ%U|hpu`FwnRP?<^UrIGo>ntAczR)Oh^=Bsi&FX}DH z4uuLY>S}-WWtPr@def4RoUmvRihBlID}iNJti?5R48q0(1yi=5jzzV_A6`YiaVrz{ z=`61P@O=N$au%e{*RRcq{iPl#T;fToXmr%wD>_0{ILi zq|XaWKDPq}05_RL@xmBp5Cpz5Fe5{SQ;0uAfe{|IE2hH+-__F&*_9C;ZB_aW`^D#? zh*dd4#cZ!$7JfQ)Te-6UCfp9H&BK9JU5qzE+ymmMBgc@d;)OC>``rWo0s;&cPe?os zblm;`0a$*30R4Xf0vP`*2rx29b87zs1W^0|0%WPKi2*@?jX!|^r9VJ`Pd`C`rtcuY zAP@wY`2hla{s98K`U42Sm8@fuIlI;UsevTT)Fb{VkYX_kAm!9~4qPZZb#6O~t-V}C zfifqSAMXwzoVy7WGjYE;4T}H>tap4mrMf~qUKs6!eJGq{IiYq}8aaCpm0)7!gyfN6 z;77*;?rTAplmts`-H`^7mYwKQ8_dl=J@&0>JURvixtZzkh=Oz|sGw!sqwP z{7C?L;iC%}oDV_WY(Q ze*63Tl#_2o{NLW@N3zr(i~YZ?`BCZrr$T?GpKY~%75X#%xViqQRsJ?-erc0Htr7tA zq<+05Vr2fQc>YgPWt^gvESfy}W3Dt6eOFI6BqLe}swP!jLU$l0T-2y<)(%{*!`1V)dOhB+x6kZ8+hqJzSh*E$*`cCMdk!YB9jf7BcAQFnXkk8Z$NfB zgf2jKrC)xw#B`)|X>V4ynRmI_FXRjkPn`!OJ>(q6h``AOx`TwuFNuX1ma^W6s^f-m z%hXNL&O5PNonuqZ7vr|CgouVa73w9VLeuN?xV(q(CG0qOGUd*JY)4z&j!nBX9YH+H zROE+g{yM7(1x6DmlV^i5yBJp265ttV?tc75SnCqk+MnL-Y4>n9Y;}N7Y3)g^`F_dH zv4vrLyF+`MNoYBczU-RT(2^irt5mm1ANrZ%X2Qyqi%&k<2P9wt6w5MNWHKmksA{j- zXDpI#?G%{k?!c{ko9@|3_xGNJt-)jC4@4!{gsgn%D-nKae$qpPV(so;`}tY^Ygi4zAa9&Tp2)q>CjjyzW-dc?>qP|dm``Mo~uP0jE(y>UKR}6x{N$GA&o-+iy<^D{>bp9Pz zziOd7MR%jnyjtEGV>j*IGc3+hV^W$3TcvoJJSe(P1zLXW%6xv6FD~>!uB4 zo9fwR?=SWa+`q{GfS(d+o25L@iCU2&Cri#DrIgma-BY#69l&u{NN3QiS+tk(W(X$y ztsSt>^j@;U{#!HE+aX)j>HK7@Wfrmm5>v^TwQ|y?Qq7f52gi|18KQHc5)o1joE|-z zMWKSr$On)3v9swPl+=hLBul~#oG%*gV$csHgxqUP;;^Ko9!G*7KGjJ3wX37~8h+Z; z7Q=1u;8=XB*vK*}EmW7PgOy1w`xo<-gfawo&_iv--Z^q8Qo4dc+M}HiF{(Ii{_wn)HrrR;I zeUGmD#q9y@?SGxLf%Y?Skote=cE7{${%+C+I-Q!_OzaHbtWGBO@75|4n*h*7{jVCB z?EmMp_@6Jq|9B?<4yXOIh57xO`KOuuw-Nb!-ulB#e)3nh*k6AW{+pRxQ1n}@**|R9 zf8Vqd*qQU6QNDj?RQ|6}KIWg5zJJ8rUUgi0)JD^1Rg=71Qt-H6`tz;|M31h!qff*?GEqgDr(PojY(2oo! zJPebwxskm(2g6fVLHuCoJBxe(eeMX3D9qi5(}1goB0zF7lvW8+tKjQkSG^!hs~W+8 zqe8Y@Q?m8)I_&a573QNN3?p}|EjrxFf($|o#>wrKHh&-#h!cg=a}Huv6A{-sH}P!L zu+nKAzD49s>Y3j1cNvmF!5p z2UTjGnIf-|YP>IQXBOrVeNgOJ$zn?#vmi3FQ zoD_-NLD)57aQsq2A}B~kT4AMbHZ2X!Sfwa1*{i%V#JDA70Z0Gy+4`MmCNK?hP@0~Ih$OuowMcbeyJadB{1Pp=hUYn>FS4lV?bHeu+8O>QW*Q2eY z-5tML5j;}tYWHk@YKX8rO)u;#N1=rNXPEP#+&A@JX|3GmX|NPaMXXSLCXGMiZp$wVxE%h2jdR6v4p2 za=SXc5o>tsg4rw2+oEG(>c5!SDF!+Wr0-c@o=@yndw6Ix504z5ve|RMM;25t#hF#x z9ndF9)-f?F^MjyTs#l;}%z+cLPS27Sb#oT^v$L`z7)d{%C;951fF6X(_MWI8n6#nB z$DF3&CrwRGvev{`hJKjyxegob_lLX;`WUFk=7XaQY6RU{G>x~R0c@{DeNCi1&1L;r zB4ydVQeeOe*1`k^-*QaB8PcQyeWmSsk{^t}P~xev$?Mg&u}v_KTfQ<_wFONp;01kR z7MPir+lmf&r`;Rm4AHL+Wr8GWXYJ>+Z`4i~HrsR;Yz_7)-kwWI0;DwWZ;v41QPGO? z00ZXJ`h5~^Y}vW3Uwl=|;A}XNg9?Y^B)v4^+mx>rX&57;j$_lb(G1X<-;qCUf@|Y3 z*E%?DD7~k5ic?U;7Mdi{(A4BU&dF)Gz2JhX(h#H%D2kw75Oh)ItCM)C zMg1W(a=Gr_3<7IrfYsGUU>j;-plz>r!*j)yH|Fv#&^z>EG*VSZ%DVIPA?TzGLyf#z zbKAr?AWwRDP)$SyJ^MY^RrF=omy;9Q(kRMEikG>O3fc}xsbYHe1X_lC0y-Mw&JF&q zBaMAjLPAAU^tAK7Tof~Nw z$L_P!V`EpV(8V^OSUF``(Oe-}!q#yO^$|2$H07U!)sXW?O)ij<%W9P1U;4N(@U1K~ zy|u;|_A09_GR`inXvnTA&%Ens7hD+St|+%QS>jIl@Y%uE<8wV}VBmool+GeVuMkP7#qhZXaJYq+vqFNSSmh6&nGsP1{2c!pdoW~^9 z8s1GeOyqsCvaKNRt_gnXDDfPPB9a6|l)>9QaL0IH87i}T6fd>t^S#C_y#0Lgej<7; zJt+YsT|En^cV?_Lk<#E5>0WSxH07}EaRvBHkgTRWeY~&b%N0nZM*7s3b<`Kq!tA1-nNBH#Z`)VcN?%O5*fVNsC_RW3>TNHWwgI?|Pio0T9LIgDn>a~h&j#kv8jJT_o;o-2=BE^#+NNhKz4{QN`wWrbOK#-u z`S~1^f7C%tnT3hChesub!pd%R=UnTdz{yaK=L8;Ph}!0QjabJNNs}OAmc?GamrG@%P{pPKUE*f_D^DkReA{l$|)_ju@? z?yAJn-L9m??dkM1Fl_ztEO>p-o^}Y^i4LD*Zc>nT=WPZV&Kl-Wc#WYcHX{g%uP9A( z%B!U<%RG7-Yk;z12<^@BaduusxBS2sn7AZ{VR|(DwDY4FcgqnV=p!SZ4r!19aq+bl zF-Y?1b9dV}Z@7{6JEeO zrxW-SXq_XM=DHp5g_)k^M*HBzKK2Ly>u|kcz2QZk6P_!bW~hh~uoN3x-Uazy(lXx< z^31rBxrtvsMKPGwTtr^(w2_cH5+>KgIaQ5TBeocPRfpsFm8_(s+mox={hV=7y z9SRS*-ZTy0aj}UB@iSpT*ijk)MY_*_91BY@z*V7+f}ir1qv)HGe(`8~8f|=w<@otS zvZjLjo2OJ`%?|^Ll{AHWxA&Sg-Pmcb?J8byPCkwqk?$iZh4{?l-MbT~&GU>h z80?eFv-Z-%HS3mYvuehPwqaO8C=I*YkEF=iAFzcx0qf98E$npu_`BnT9DD3Zv>|1`+zJt_bj z!9+7uEW4qOFtNK{P?j)PUnj%q68?11i)7Yn8k*rmo)YGt;2X zO(@Iu=9a(j#uld9d+^<91uZSqys=%qXPMb!4Lq#u^p36)wj7{BwYJptFesf*@(2=D z$Z@{zfF)#~KpC>8x&jj9C&YEWmb4V_<B~osoT}FGsCWP(%ugn{C&W!@^(4W z756}C`@8MikOvB535e6R!V|iEgndYh)v&De3anOHR=p`AClB|L7cLu>P*Kw4Thk%t z@$`g+lqoR@s&Z8urStb;N%bQKU*2wZzsHUly4A{9@pwpGY}}Mt0xt-X!5&GzzyGT9 z)y0Ny1A^O_Ldk~+jv6U2Qi-6A@*#Zyf=`8blqWUZ3jV!>oEln&Hw}?PFr5BW>}Xb| z4)Sx4OXHd-;S4E~(VPb?C9k=M7bsEz9;S2hA+*sQoC$t)jD0G}inR&i0=8zFE=P1K zCfN{Nr3YQk8a8?gP)qJX%U$m|LT5beZp-FEx6y6l8}6R86H}k#ZdqDVNy)&|D^6Off_v z4$j501_qr45{kKia4j>B&$ZS2IhSE;GVz9O{Rn#K&UIoa3#p>!PoMZCWFBisbsNq@s@q(=2^DZ;o@1)Jo>*J@&2`LXVo^2RCY zuZ+tYKZ0VVaSmJ0?lEyoTOq}OtBf{Pr?Ui(9=!H+%o^2mA+C+XJ6NPI;Fc<%(kWIf%t42fg(~O1StR=7+j;*5Ey2K|%eyWzAgEtoO~(vx zjC;S-+dnvLGyn#EUK@J!)oN^Q@*Skh)@P!TGPwkHn>zP1MU%s>x7H>?HB|DvfVpABVeN9Sh#xw25_fy(c=bZb-=W zj;EQgwkuOa-Vs72*h4Mx!JC_k_mS}9?2!7s#tibCSK95 zvQy5JS?3e0$Igle!1PhAGB7l&E`vX?a3^PP(UZ}nq0?@H2?*HSu06%-o$_cx^-VJ_ zIZDHb_?k=Zn78|4Z*O_Gprp9SY?Uu&j_JWHGDUh&^&(JKEZTNNtZAmPX~xvfM+MH?ljnLIxxo*(O5Qk)UVX;t$h?17ydRBu8wnNpOS)tTBOWJnpwvA z*5^Ju{4_SMOP~+CL?a>OBx->9lUvPc1G}B(kz0ar-GdaK=0z8hB+pk5$ZXAn?u?k> zBdm!`3RT3!lIH0{G*q-!-swCGvbw1)&X}3&74%{6==I6Q!LgEHnc7<~$=zNyXO>$Y zfEnYwQl=m^N{&v%K7H`l!jh3ic{RP!a9R2!F?lf=i$;y5!Kavh!T%)y^NQvHCAs46 z{^^3A`*iOS{Jj4u2Z_m{wk-|)Mj5_QA}%qYD+aQSq1ue2=DD7UKsUaHsD&7AHbJ9> zGZpQ-ORX42XWVY{>4mDZn~&Fu3ft&S_u!5j?_0m1CFQ21FsG2QU$1YU!*d^|K2-1S zJ||?aX(jJ!AfvOgy}sB@L~`qL<(jCfB6*eX=<274IMA_&zH{of=B$5rljKj6&EbEP z@m5va9n|`0{q}0_Lw2aYe=yI~l!!==kpZ@l;2NfmB)fG!!H#wXbg!Niq z!mi2y3%~kLJ4Dd-^?h%y(=!Q}fM2DWeNMs?u%iMTs9L$epEE>+5|QDBJOIQdJ3PQF z?;4Tz9orwYvwf@2=5Uop7X8Z`cVZ1NTiY}iuuKvGe6tV^O67%KUvGQizX-^YroOn2 z@@}`~OsvGXtk9r-cY+V8RJgk%;sEt7V&b&&#_1;F2F-%ZRY8g^Dk4cjnk8nWX*k93 z^_*T!!eTFhZmF%z0=^YvZS?%WVl;%rVD$57Br??;Nz;!GwHNlgv~w@jy$&)CvJVubead&nKug+btnYz3gA`Bv0Q5UdSv0ba%7U6U{t;#&VNR% ziARF96J+U)FP~gIltEdwFl|JPiZu5HpVRlTXF8q;!((hZKFgqKWI8_6^hQ&29uX4R zuh=pIRU)PM(9tmh|gJTJd3Eu05VSsu^TKgFLi`=bjwTo**?kY_$u7 z!5a)opVDH6C10~lV{a~4KS3H$(GM$@9)Lo{ovHRlOdDEnV+4Mqjsv=zPjUnW!n7xG z?UR{)42`HOFF?uhk9H|Br~AFQ5H!{+ySIJ0S@-kQlw}3bVU!%e-WH#{zU<_rPMr7K z0$&gWmEz&AhH-}mSwsQBLEw9S@Lai!X_HCABfbG~{Y+3YDU6@$yPu7JGlm!b{^z)j98cpqqb? zYqM(rF@l2gaV!7-+Pk{gDvBr^8=~=o2|pTbjOGdf8iRIccV}ldHh{NKBNAvps5>d?)=Z}Idk{ScfJ>PR1MD%2IGV_j(&zQ8= zJ2v^bzNXh}&wxK~#l{O$5A8bf{=|XCo^R&vUN`M{f8WUTC(Y^3`#yYr!rcdc9G*DP zlb<*3c<0s?&HD!1*H_hhuhy;Z8$LgM!pQi`HT_e5TDkdh)2(B3zMB2>q1*R;a_Vr; z=5@dCKU~;VcxSBUo^3-Xc6|KymeIjIW77u5PX2as`-YnrO&J{>+?hL6b4x?-w(9Ca z^Od*mU$C|P@ktjJ|50eEIserDMZ1^m7;3J1J3Bkfb_`j-vVELyc^e#?>k7cain_5CkTJpJ`6M+PTe zI`_!P!MzVo9X(cev2V>?%{4;sRY2r0?k^u>u&d?2frAHtD~7Oi7Hp(!22+=Vc1$-Tk$_ zOyyG|grd|0Xw(*1MFK$*x)T2b%jhFIWDIf>!ZTtFfW!o75+MSENF`~K&&E&EY1}pB zA+VhhP*v%lO%R$Is7(WhU4(KBToVC+m{cF#jg9g#Udn3^088Wx5adt84IkmPJkdNQ ze>j+s)DJ8rwTTd&CZsmt4ipsSGw3munYJSW8VY5iO@=_7bf~O-JeE;FeiLW|nNq zK{y@#l4FZcE~3FIhxSI>4iYMy8;~tCBxCOr(Qw7U`uN6f@24kerUP%CSrt zhnJ-OmEo3-#Hj-8iSJS*r=Jd%Lx+YLxTRxuazIe+Mlc0t7Kx!~kbO_3V;wjkXgbJ_ zS}RNetBz%=NMHpd=MD9MmK~1QaK(#bOwxCFy)Mv1C$qy$$rD}a0!=)BSwCOiR=7YN z!_(i=5|lMQSfmn)yvCMQt)02r$J(Ch%;%bOsdvyF0|I27R4?>Sa!XGXL9@~)C_B2r zSzEvMB@p15T#1mbxwdgZ1BR-#8!UB?u0{m~cdxGuu1uT-hd8X z(N)ntLds`laQs4}3mGg^RtDREl7x(ov(Z(mLu*U1pR+O;7}!cCQ--xqc`$CGUPK0v zc|)LXd3jMN>m~ET)5Uy_JZ+N5)RpZ+AOl~v*%(;RYmJY*o=s=hyPKgqumdy12Ka|I_m`@omGfn%<@_a^UY=Lykc!2eg}4wtX@q)sJSfGB3+~?s5V`t`7nrf$kHhl z$Fe-A4VgE_@vv-p7NM~DyqU-l8y~AT7BcHu@eEqe2wexwNvDA`<>8Qw5^aHY;%%|$ zok$nb4qucf=G@}PhfJr%oZG+%yJZ6_)}#$Rq3dj@BDRJ=s~C%UvmwQsVQmgW!}5Ao z!*H>5v4_wMOlCuaxHY`I7{64qGUP@087?!zHev~h=Q4&mWo^a`1wua~udveyszMkE zx{7NTc@5Y1pwo=Gu7kZ)d`&`TxbCF92*bnbfSqRJhpm7|8>>uP6wDhN7e#!SygY>; zjqEu>I-<;E%ql}Cq7r3a7bg?=#|B?wQIZbShDy(IpW&V(Uoj^QGA49&&`~NLtO(S1w(TyBMU22 zOFa`y14|2wdJT=34-LtD9HE+E8zvi+t4wD1<=ed9%9T}upJycluNYq*-!k4--aS0` z_@(&|^BMB2+$`nL%VTQ75(;!aX-?wbe9uRXnOT&jWHNhzIt$AemXeK)PApb+qMQuM zp^~DG#@a|8Aja^?>qEsR`$dU_LA+-M@t&cvrG=q^v8jQDp{0R=MYRaXcyUo%(v3eD zr7nZd=*@+plcktd*^(x+7s%?dC2{TJH)0p#?qZ+C!^bm`Lzd?Y^Y7(T<6N_`QGl)9npILclrb$cFS9sgUmZ}8-*u2x&CM! zTtt!=C2lsmz1l6x&SuIW!fMStm4i`EuFk_mTSu$-u%ElPT!I(6$F>!hYKVt^~-|cT; delta 247 zcmVX3bRJ)yA=ly695qg#Q>EE0V1)1n+CVV1_4nB0cDYaVV8Ih0f>IoM!^68