{"id":7495,"sha1":"fb1a9d93cd63ecec966423ccea92660e70c3bb6f","playbook":{"id":5337,"items":{"plays":1,"tasks":9,"results":9,"hosts":1,"files":1,"records":0},"arguments":{"version":null,"verbosity":0,"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/kuly/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":["RM10320-check-mariadb.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-03-11T15:02:09.431190Z","ended":"2026-03-11T15:02:18.189212Z","duration":"00:00:08.758022","name":null,"ansible_version":"2.16.13","client_version":"1.7.4","python_version":"3.10.10","server_version":"1.7.4","status":"completed","path":"/home/ssh-gateway/ansible/kuly/RM10320-check-mariadb.yaml","controller":"ssh-gw-4.layershift.com","user":"root"},"content":"---\n- name: Check MariaDB Installation and Repo Version Consistency\n  hosts: all\n  become: true\n  gather_facts: true\n\n  vars:\n    repo_file_path: \"/etc/yum.repos.d/mariadb.repo\"\n    package_name: \"MariaDB-server\"\n\n  tasks:\n    - name: Gather package facts\n      ansible.builtin.package_facts:\n        manager: \"rpm\"\n      when: ansible_pkg_mgr in ['yum', 'dnf']\n\n    - name: Set installation facts\n      ansible.builtin.set_fact:\n        installed_version: \"{{ ansible_facts.packages[package_name][0].version if package_name in ansible_facts.packages else '' }}\"\n        is_installed: \"{{ package_name in ansible_facts.packages }}\"\n      when: ansible_pkg_mgr in ['yum', 'dnf']\n\n    - name: Extract major version\n      ansible.builtin.set_fact:\n        installed_major: \"{{ installed_version | regex_search('^([0-9]+\\\\.[0-9]+)') | default('') }}\"\n      when: is_installed\n\n    - name: Check repo file\n      ansible.builtin.stat:\n        path: \"{{ repo_file_path }}\"\n      register: repo\n\n    - name: Get repo version\n      when: repo.stat.exists\n      block:\n        - name: Read repo file\n          ansible.builtin.slurp:\n            src: \"{{ repo_file_path }}\"\n          register: content\n        - name: Parse repo major version\n          ansible.builtin.set_fact:\n            repo_major: \"{{ (content.content | b64decode) | regex_search('baseurl.*?/([0-9]+\\\\.[0-9]+)/', '\\\\1') | first | default('') }}\"\n\n    - name: Check for version mismatch\n      ansible.builtin.debug:\n        msg: \"\u26a0\ufe0f  MISMATCH on {{ inventory_hostname }}: installed {{ installed_major }} vs repo {{ repo_major | default('missing') }}\"\n      when:\n        - is_installed\n        - installed_major | length > 0\n        - repo.stat.exists\n        - repo_major is defined\n        - repo_major | length > 0\n        - installed_major != repo_major\n\n    - name: Show OK status\n      ansible.builtin.debug:\n        msg: \"\u2713 {{ inventory_hostname }}: {{ installed_version if is_installed else 'not installed' }}\"\n      when: not (is_installed and installed_major | length > 0 and repo.stat.exists and repo_major is defined and repo_major | length > 0 and installed_major != repo_major)\n","created":"2026-03-11T15:02:09.454884Z","updated":"2026-03-11T15:02:09.454904Z","path":"/home/ssh-gateway/ansible/kuly/RM10320-check-mariadb.yaml"}