{"id":7211,"sha1":"d02b58855b270395ff9386700695a6d342d3e16f","playbook":{"id":5054,"items":{"plays":1,"tasks":5,"results":5,"hosts":2,"files":1,"records":0},"arguments":{"version":null,"verbosity":2,"private_key_file":"/home/ssh-gateway/.ssh/id_rsa","remote_user":"root","connection":"ssh","timeout":null,"ssh_common_args":null,"sftp_extra_args":null,"scp_extra_args":null,"ssh_extra_args":null,"ask_pass":false,"connection_password_file":null,"force_handlers":false,"flush_cache":false,"become":false,"become_method":"sudo","become_user":null,"become_ask_pass":false,"become_password_file":null,"tags":["all"],"skip_tags":[],"check":false,"diff":false,"inventory":["/home/ssh-gateway/ansible/ansible-luca/bash-kvm-inventory-prod.sh"],"listhosts":false,"subset":"versatile-chipmunk.man-1.vm.plesk-server.com","extra_vars":"Not saved by ARA as configured by 'ignored_arguments'","vault_ids":[],"ask_vault_pass":false,"vault_password_files":[],"forks":20,"module_path":null,"syntax":false,"listtasks":false,"listtags":false,"step":false,"start_at_task":null,"args":["eol-checker.yaml"]},"labels":[{"id":1,"name":"remote_user:root"},{"id":2,"name":"check:False"},{"id":3,"name":"tags:all"},{"id":80,"name":"subset:versatile-chipmunk.man-1.vm.plesk-server.com"}],"started":"2026-02-02T19:18:40.824579Z","ended":"2026-02-02T19:18:45.576133Z","duration":"00:00:04.751554","name":null,"ansible_version":"2.16.11","client_version":"1.7.4","python_version":"3.10.10","server_version":"1.7.4","status":"completed","path":"/home/ssh-gateway/ansible/ansible-luca/eol-checker.yaml","controller":"ssh-gw-4.layershift.com","user":"root"},"content":"---\n- name: RM10252 - PHP EOL Checker\n  hosts: all\n  gather_facts: false\n  strategy: linear\n\n  tasks:\n    - name: Initialize per-host report object (always)\n      ansible.builtin.set_fact:\n        rm10252_report:\n          hostname: \"{{ inventory_hostname }}\"\n          active_domains: []\n\n    - name: Get Info\n      plesk_info:\n      register: plsk\n\n    - name: Query domains using EOL Plesk PHP handlers\n      ansible.builtin.command:\n        argv:\n          - plesk\n          - db\n          - -Ne\n          - \"select d.name from domains d join hosting h on h.dom_id=d.id where h.php = 'true' AND h.php_handler_id REGEXP '^plesk-php(81|80|7|5)';\"\n      register: eol_domains\n      when: (plsk.plesk_found and plsk.imunify_found) or (plsk.plesk_found and plsk.cloudlinux_found)\n      changed_when: false\n      failed_when: false\n\n    - name: Update per-host report object with query results\n      ansible.builtin.set_fact:\n        rm10252_report:\n          hostname: \"{{ inventory_hostname }}\"\n          active_domains: \"{{ eol_domains.stdout_lines | default([]) }}\"\n      when: eol_domains is defined\n\n    - name: Write report to JSON file\n      ansible.builtin.copy:\n        dest: \"RM10252/eol_domains_report.json\"\n        mode: \"0644\"\n        content: >-\n          {{\n            (ansible_play_hosts_all\n              | map('extract', hostvars)\n              | map(attribute='rm10252_report', default={})\n              | reject('equalto', {})\n              | list)\n            | to_nice_json\n          }}\n      delegate_to: localhost\n      run_once: true\n\n","created":"2026-02-02T19:18:40.844016Z","updated":"2026-02-02T19:18:40.844037Z","path":"/home/ssh-gateway/ansible/ansible-luca/eol-checker.yaml"}