From 1a64265ed85abec9295248e4984cd91370faf20b Mon Sep 17 00:00:00 2001 From: Benjamin Labrecque Date: Mon, 6 Jul 2026 14:53:39 +0200 Subject: [PATCH] chore: restructure ansible plays & prod/dev paths fixes --- .gitea/workflows/deploy-bin.yml | 3 ++- .gitea/workflows/deploy-py-agebd.yml | 3 ++- .gitea/workflows/deploy-service.yml | 3 ++- .gitea/workflows/new-service.yml | 2 +- ansible/add-new-service.yml | 8 +++++++ .../ioc-install.yml} | 17 --------------- .../ioc-start.yml} | 21 ++++++++----------- ansible/{ => plays}/restart-master-ioc.yml | 15 ------------- ansible/plays/restart-master-service.yml | 0 9 files changed, 24 insertions(+), 48 deletions(-) create mode 100644 ansible/add-new-service.yml rename ansible/{install-ioc.yml => plays/ioc-install.yml} (56%) rename ansible/{new-service-playbook.yml => plays/ioc-start.yml} (59%) rename ansible/{ => plays}/restart-master-ioc.yml (56%) create mode 100644 ansible/plays/restart-master-service.yml diff --git a/.gitea/workflows/deploy-bin.yml b/.gitea/workflows/deploy-bin.yml index 69be542..22f1d97 100644 --- a/.gitea/workflows/deploy-bin.yml +++ b/.gitea/workflows/deploy-bin.yml @@ -15,7 +15,8 @@ jobs: working-directory: ./bin env: - DEST_DIR: /sls/bd/hla/bin + # TODO: prod/dev + DEST_DIR: /sls/bd/hla/dev/bin steps: - name: Checkout repository diff --git a/.gitea/workflows/deploy-py-agebd.yml b/.gitea/workflows/deploy-py-agebd.yml index d1b56f3..f55597b 100644 --- a/.gitea/workflows/deploy-py-agebd.yml +++ b/.gitea/workflows/deploy-py-agebd.yml @@ -16,7 +16,8 @@ jobs: working-directory: ./packages/agebd env: - DEST_DIR: /sls/bd/hla/packages/dev/agebd + # TODO: prod/dev + DEST_DIR: /sls/bd/hla/dev/packages/agebd steps: - name: Checkout repository diff --git a/.gitea/workflows/deploy-service.yml b/.gitea/workflows/deploy-service.yml index c677fe1..4e0b6d0 100644 --- a/.gitea/workflows/deploy-service.yml +++ b/.gitea/workflows/deploy-service.yml @@ -15,7 +15,8 @@ jobs: working-directory: ./services env: - SVC_CURRRENT_DIR: /sls/bd/hla/services/dev/000-master/current + # TODO: prod/dev + SVC_CURRRENT_DIR: /sls/bd/hla/dev/services/000-master/current steps: - name: Checkout repository diff --git a/.gitea/workflows/new-service.yml b/.gitea/workflows/new-service.yml index 01c18a9..b7f087b 100644 --- a/.gitea/workflows/new-service.yml +++ b/.gitea/workflows/new-service.yml @@ -18,4 +18,4 @@ jobs: - name: Restart master service run: | - ansible-playbook restart-master-ioc.yml -i hosts.yml \ No newline at end of file + ansible-playbook add-new-service.yml -i hosts.yml \ No newline at end of file diff --git a/ansible/add-new-service.yml b/ansible/add-new-service.yml new file mode 100644 index 0000000..c376ff6 --- /dev/null +++ b/ansible/add-new-service.yml @@ -0,0 +1,8 @@ +- name: Restart Master IOC + import_playbook: plays/restart-master-ioc.yml + +- name: Phase 2 - Provision and Render New Services + import_playbook: plays/provision_services.yml + +- name: Phase 3 - Restart and Verify IOCs + import_playbook: plays/restart_iocs.yml \ No newline at end of file diff --git a/ansible/install-ioc.yml b/ansible/plays/ioc-install.yml similarity index 56% rename from ansible/install-ioc.yml rename to ansible/plays/ioc-install.yml index 8363e0a..0e3db3b 100644 --- a/ansible/install-ioc.yml +++ b/ansible/plays/ioc-install.yml @@ -2,22 +2,6 @@ # TODO: dev/prod hosts: sls-lc gather_facts: false - - #TODO: docs? - # For the git clone and git push commands to work smoothly inside this playbook, - # ensure your shell environment is passing your SSH key. Run ssh-add -l on your - # terminal before firing up ansible-playbook. - - # TODO - # If the machine executing this playbook doesn't have a global Git user configured, - # the git commit task will fail. You can explicitly bypass this by adding environment - # variables directly to the commit task if needed: - # environment: - # GIT_COMMITTER_NAME: "Ansible Provisioner" - # GIT_COMMITTER_EMAIL: "your-email@psi.ch" - # GIT_AUTHOR_NAME: "Ansible Provisioner" - # GIT_AUTHOR_EMAIL: "your-email@psi.ch" - # TODO: checkout repo, cd to services//ioc, 'ioc install -V --ioc AGEBD-CPCL- –clean' vars: @@ -26,7 +10,6 @@ - service_name_lower: "{{ service_name_lower }}" - service_name_upper: "{{ service_name_upper }}" - tasks: - name: Clone this repository ansible.builtin.git: diff --git a/ansible/new-service-playbook.yml b/ansible/plays/ioc-start.yml similarity index 59% rename from ansible/new-service-playbook.yml rename to ansible/plays/ioc-start.yml index ec4617e..d89839d 100644 --- a/ansible/new-service-playbook.yml +++ b/ansible/plays/ioc-start.yml @@ -1,5 +1,6 @@ -- name: Auto-provision new service pipeline - hosts: sls-lc +- name: Start an IOC + # TODO: env + hosts: sls-vserv-bd-01-dev gather_facts: false #TODO: docs? @@ -18,13 +19,9 @@ # GIT_AUTHOR_EMAIL: "your-email@psi.ch" tasks: - - name: "Step 0: " - ansible.builtin.import_tasks: tasks/00-create-service.yml - # These variables are only visible inside this task - vars: - service_name: "OPTICSFF-X09L" - sls_bd_repo_url: "git@gitea.psi.ch:autodeploy_bin/sls_bd.git" - target_branch: "feature/add-{{ service_name | lower }}" # e.g., feature/add-tunefbx - workspace_dir: "/tmp/sls_bd_workspace" - tags: - - step_00 + - name: Start IOC + # TODO: + # sudo shellbox status + # sudo shellbox reload + # sudo shellbox status + # sudo shellbox start XXXXXXX \ No newline at end of file diff --git a/ansible/restart-master-ioc.yml b/ansible/plays/restart-master-ioc.yml similarity index 56% rename from ansible/restart-master-ioc.yml rename to ansible/plays/restart-master-ioc.yml index 2ab54e6..d05eebb 100644 --- a/ansible/restart-master-ioc.yml +++ b/ansible/plays/restart-master-ioc.yml @@ -3,21 +3,6 @@ hosts: localhost gather_facts: false - #TODO: docs? - # For the git clone and git push commands to work smoothly inside this playbook, - # ensure your shell environment is passing your SSH key. Run ssh-add -l on your - # terminal before firing up ansible-playbook. - - # TODO - # If the machine executing this playbook doesn't have a global Git user configured, - # the git commit task will fail. You can explicitly bypass this by adding environment - # variables directly to the commit task if needed: - # environment: - # GIT_COMMITTER_NAME: "Ansible Provisioner" - # GIT_COMMITTER_EMAIL: "your-email@psi.ch" - # GIT_AUTHOR_NAME: "Ansible Provisioner" - # GIT_AUTHOR_EMAIL: "your-email@psi.ch" - vars: - workspace_dir: "/tmp/hla_framework_bd" diff --git a/ansible/plays/restart-master-service.yml b/ansible/plays/restart-master-service.yml new file mode 100644 index 0000000..e69de29