From c09dec8b0f4a1cdb49ea1f885981c09da1a7b5f4 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Sat, 12 Jul 2025 11:42:25 +0200 Subject: [PATCH] Moved sys-opt-ssd-hdd to a callable version in svc-opt-ssd-hdd --- Makefile | 2 +- group_vars/all/05_maintenace.yml | 2 +- roles/categories.yml | 7 ++++++ roles/docker-core/tasks/main.yml | 2 +- .../README.md | 0 .../files/__init__.py | 0 .../files/svc-opt-ssd-hdd.py} | 0 roles/svc-opt-ssd-hdd/handlers/main.yml | 5 +++++ .../meta/main.yml | 0 roles/svc-opt-ssd-hdd/tasks/main.yml | 22 +++++++++++++++++++ .../templates/svc-opt-ssd-hdd.service.j2} | 2 +- roles/svc-opt-ssd-hdd/vars/main.yml | 3 +++ roles/sys-opt-ssd-hdd/handlers/main.yml | 5 ----- roles/sys-opt-ssd-hdd/tasks/main.yml | 22 ------------------- roles/sys-opt-ssd-hdd/vars/main.yml | 2 -- tasks/stages/03_destructor.yml | 12 +++++----- .../__init__.py | 0 .../test_storage_optimizer.py | 2 +- 18 files changed, 48 insertions(+), 40 deletions(-) rename roles/{sys-opt-ssd-hdd => svc-opt-ssd-hdd}/README.md (100%) rename roles/{sys-opt-ssd-hdd => svc-opt-ssd-hdd}/files/__init__.py (100%) rename roles/{sys-opt-ssd-hdd/files/sys-opt-ssd-hdd.py => svc-opt-ssd-hdd/files/svc-opt-ssd-hdd.py} (100%) create mode 100644 roles/svc-opt-ssd-hdd/handlers/main.yml rename roles/{sys-opt-ssd-hdd => svc-opt-ssd-hdd}/meta/main.yml (100%) create mode 100644 roles/svc-opt-ssd-hdd/tasks/main.yml rename roles/{sys-opt-ssd-hdd/templates/sys-opt-ssd-hdd.service.j2 => svc-opt-ssd-hdd/templates/svc-opt-ssd-hdd.service.j2} (87%) create mode 100644 roles/svc-opt-ssd-hdd/vars/main.yml delete mode 100644 roles/sys-opt-ssd-hdd/handlers/main.yml delete mode 100644 roles/sys-opt-ssd-hdd/tasks/main.yml delete mode 100644 roles/sys-opt-ssd-hdd/vars/main.yml rename tests/unit/roles/{sys-opt-ssd-hdd => svc-opt-ssd-hdd}/__init__.py (100%) rename tests/unit/roles/{sys-opt-ssd-hdd => svc-opt-ssd-hdd}/test_storage_optimizer.py (95%) diff --git a/Makefile b/Makefile index b503802e..047eeac5 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,7 @@ clean: tree: @echo Generating Tree - python3 main.py generate tree -L 1 + python3 main.py generate tree -D 2 --no-signal build: @echo "🔧 Generating users defaults → $(USERS_OUT)…" diff --git a/group_vars/all/05_maintenace.yml b/group_vars/all/05_maintenace.yml index 43fc1ac0..f0d97169 100644 --- a/group_vars/all/05_maintenace.yml +++ b/group_vars/all/05_maintenace.yml @@ -28,7 +28,7 @@ system_maintenance_cleanup_services: system_maintenance_manipulation_services: - "sys-rpr-docker-soft" - "update-docker" - - "sys-opt-ssd-hdd" + - "svc-opt-ssd-hdd" - "sys-rpr-docker-hard" ## Total System Maintenance Services diff --git a/roles/categories.yml b/roles/categories.yml index e0da4b57..2271c200 100644 --- a/roles/categories.yml +++ b/roles/categories.yml @@ -4,6 +4,7 @@ roles: invokable: false sys: title: "System" + description: "System near components. Will be automaticly called if necessary from other roles." invokable: false alm: title: "Alerting" @@ -104,6 +105,12 @@ roles: description: "Docker infrastructure services (DBMS, LDAP, Redis, etc.)" icon: "fas fa-database" invokable: true + opt: + title: "Service Optimation" + description: "Optimation Services to improve your system" + icon: "fas fa-database" + invokable: true + user: title: "Users & Access" description: "User accounts & access control" diff --git a/roles/docker-core/tasks/main.yml b/roles/docker-core/tasks/main.yml index 7f062e68..15e2248e 100644 --- a/roles/docker-core/tasks/main.yml +++ b/roles/docker-core/tasks/main.yml @@ -16,7 +16,7 @@ group: administrator when: run_once_docker is not defined -- name: Set docker_enabled to true, to activate sys-opt-ssd-hdd +- name: Set docker_enabled to true, to activate svc-opt-ssd-hdd set_fact: docker_enabled: true when: run_once_docker is not defined diff --git a/roles/sys-opt-ssd-hdd/README.md b/roles/svc-opt-ssd-hdd/README.md similarity index 100% rename from roles/sys-opt-ssd-hdd/README.md rename to roles/svc-opt-ssd-hdd/README.md diff --git a/roles/sys-opt-ssd-hdd/files/__init__.py b/roles/svc-opt-ssd-hdd/files/__init__.py similarity index 100% rename from roles/sys-opt-ssd-hdd/files/__init__.py rename to roles/svc-opt-ssd-hdd/files/__init__.py diff --git a/roles/sys-opt-ssd-hdd/files/sys-opt-ssd-hdd.py b/roles/svc-opt-ssd-hdd/files/svc-opt-ssd-hdd.py similarity index 100% rename from roles/sys-opt-ssd-hdd/files/sys-opt-ssd-hdd.py rename to roles/svc-opt-ssd-hdd/files/svc-opt-ssd-hdd.py diff --git a/roles/svc-opt-ssd-hdd/handlers/main.yml b/roles/svc-opt-ssd-hdd/handlers/main.yml new file mode 100644 index 00000000..b22900e7 --- /dev/null +++ b/roles/svc-opt-ssd-hdd/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload svc-opt-ssd-hdd.cymais.service" + systemd: + name: svc-opt-ssd-hdd.cymais.service + state: reloaded + daemon_reload: yes diff --git a/roles/sys-opt-ssd-hdd/meta/main.yml b/roles/svc-opt-ssd-hdd/meta/main.yml similarity index 100% rename from roles/sys-opt-ssd-hdd/meta/main.yml rename to roles/svc-opt-ssd-hdd/meta/main.yml diff --git a/roles/svc-opt-ssd-hdd/tasks/main.yml b/roles/svc-opt-ssd-hdd/tasks/main.yml new file mode 100644 index 00000000..9dd9c164 --- /dev/null +++ b/roles/svc-opt-ssd-hdd/tasks/main.yml @@ -0,0 +1,22 @@ +- name: "create {{storage_optimizer_directory}}" + file: + path: "{{storage_optimizer_directory}}" + state: directory + mode: 0755 + +- name: create svc-opt-ssd-hdd.cymais.service + template: + src: svc-opt-ssd-hdd.service.j2 + dest: /etc/systemd/system/svc-opt-ssd-hdd.cymais.service + notify: reload svc-opt-ssd-hdd.cymais.service + +- name: create svc-opt-ssd-hdd.py + copy: + src: svc-opt-ssd-hdd.py + dest: "{{storage_optimizer_script}}" + mode: 0755 + +- name: "optimize storage performance" + systemd: + name: svc-opt-ssd-hdd.cymais.service + state: started \ No newline at end of file diff --git a/roles/sys-opt-ssd-hdd/templates/sys-opt-ssd-hdd.service.j2 b/roles/svc-opt-ssd-hdd/templates/svc-opt-ssd-hdd.service.j2 similarity index 87% rename from roles/sys-opt-ssd-hdd/templates/sys-opt-ssd-hdd.service.j2 rename to roles/svc-opt-ssd-hdd/templates/svc-opt-ssd-hdd.service.j2 index f7f52aa6..f76c047c 100644 --- a/roles/sys-opt-ssd-hdd/templates/sys-opt-ssd-hdd.service.j2 +++ b/roles/svc-opt-ssd-hdd/templates/svc-opt-ssd-hdd.service.j2 @@ -4,5 +4,5 @@ OnFailure=sys-alm-compose.cymais@%n.service [Service] Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore sys-opt-ssd-hdd svc-sys-bkp-rmt-2-loc --timeout "{{system_maintenance_lock_timeout_storage_optimizer}}"' +ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore svc-opt-ssd-hdd svc-sys-bkp-rmt-2-loc --timeout "{{system_maintenance_lock_timeout_storage_optimizer}}"' ExecStart=/bin/sh -c '/usr/bin/python {{storage_optimizer_script}} --rapid-storage-path {{path_rapid_storage}} --mass-storage-path {{path_mass_storage}}' \ No newline at end of file diff --git a/roles/svc-opt-ssd-hdd/vars/main.yml b/roles/svc-opt-ssd-hdd/vars/main.yml new file mode 100644 index 00000000..807612f8 --- /dev/null +++ b/roles/svc-opt-ssd-hdd/vars/main.yml @@ -0,0 +1,3 @@ +storage_optimizer_directory: '{{path_administrator_scripts}}svc-opt-ssd-hdd/' +storage_optimizer_script: '{{storage_optimizer_directory}}svc-opt-ssd-hdd.py' +application_id: svc-opt-ssd-hdd \ No newline at end of file diff --git a/roles/sys-opt-ssd-hdd/handlers/main.yml b/roles/sys-opt-ssd-hdd/handlers/main.yml deleted file mode 100644 index a2a60f6b..00000000 --- a/roles/sys-opt-ssd-hdd/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-opt-ssd-hdd.cymais.service" - systemd: - name: sys-opt-ssd-hdd.cymais.service - state: reloaded - daemon_reload: yes diff --git a/roles/sys-opt-ssd-hdd/tasks/main.yml b/roles/sys-opt-ssd-hdd/tasks/main.yml deleted file mode 100644 index 079f7ff0..00000000 --- a/roles/sys-opt-ssd-hdd/tasks/main.yml +++ /dev/null @@ -1,22 +0,0 @@ -- name: "create {{storage_optimizer_directory}}" - file: - path: "{{storage_optimizer_directory}}" - state: directory - mode: 0755 - -- name: create sys-opt-ssd-hdd.cymais.service - template: - src: sys-opt-ssd-hdd.service.j2 - dest: /etc/systemd/system/sys-opt-ssd-hdd.cymais.service - notify: reload sys-opt-ssd-hdd.cymais.service - -- name: create sys-opt-ssd-hdd.py - copy: - src: sys-opt-ssd-hdd.py - dest: "{{storage_optimizer_script}}" - mode: 0755 - -- name: "optimize storage performance" - systemd: - name: sys-opt-ssd-hdd.cymais.service - state: started \ No newline at end of file diff --git a/roles/sys-opt-ssd-hdd/vars/main.yml b/roles/sys-opt-ssd-hdd/vars/main.yml deleted file mode 100644 index f1f84943..00000000 --- a/roles/sys-opt-ssd-hdd/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -storage_optimizer_directory: '{{path_administrator_scripts}}sys-opt-ssd-hdd/' -storage_optimizer_script: '{{storage_optimizer_directory}}sys-opt-ssd-hdd.py' diff --git a/tasks/stages/03_destructor.yml b/tasks/stages/03_destructor.yml index 1fc4be7f..4829b697 100644 --- a/tasks/stages/03_destructor.yml +++ b/tasks/stages/03_destructor.yml @@ -1,6 +1,6 @@ -#- name: "Load destruction roles" -# include_tasks: "./tasks/groups/{{ item }}-roles.yml" -# loop: -# - cln -# loop_control: -# label: "{{ item }}-roles.yml" \ No newline at end of file +- name: "Load destruction roles" + include_tasks: "./tasks/groups/{{ item }}-roles.yml" + loop: + - svc-opt # Optimation services + loop_control: + label: "{{ item }}-roles.yml" \ No newline at end of file diff --git a/tests/unit/roles/sys-opt-ssd-hdd/__init__.py b/tests/unit/roles/svc-opt-ssd-hdd/__init__.py similarity index 100% rename from tests/unit/roles/sys-opt-ssd-hdd/__init__.py rename to tests/unit/roles/svc-opt-ssd-hdd/__init__.py diff --git a/tests/unit/roles/sys-opt-ssd-hdd/test_storage_optimizer.py b/tests/unit/roles/svc-opt-ssd-hdd/test_storage_optimizer.py similarity index 95% rename from tests/unit/roles/sys-opt-ssd-hdd/test_storage_optimizer.py rename to tests/unit/roles/svc-opt-ssd-hdd/test_storage_optimizer.py index 6ce9bcd1..a14284dc 100644 --- a/tests/unit/roles/sys-opt-ssd-hdd/test_storage_optimizer.py +++ b/tests/unit/roles/svc-opt-ssd-hdd/test_storage_optimizer.py @@ -8,7 +8,7 @@ import sys def load_optimizer_module(): module_path = os.path.abspath(os.path.join( os.path.dirname(__file__), - '..', "..", "..","..",'roles', 'sys-opt-ssd-hdd', 'files', 'sys-opt-ssd-hdd.py' + '..', "..", "..","..",'roles', 'svc-opt-ssd-hdd', 'files', 'svc-opt-ssd-hdd.py' )) spec = importlib.util.spec_from_file_location('storage_optimizer', module_path) optimizer = importlib.util.module_from_spec(spec)