Execution
Date 05 Nov 2024 17:28:37 +0000
Duration 00:00:22.77
Controller ssh-gw-4.layershift.com
User root
Versions
Ansible 2.16.11
ara 1.7.2 / 1.7.2
Python 3.10.10
Summary
38 Hosts
5 Tasks
119 Results
1 Plays
1 Files
0 Records

File: /home/ssh-gateway/ansible/kuly/agent360_check_for_upgrade.yaml

---
- name: Playbook to check agent360 version and upgrade it
  hosts: all
  become: true
  vars:
    desired_agent360_version: "1.3.0"
    output_file: /home/ssh-gateway/ansible/kuly/outputs/agent_versions.txt
    upgrade_playbook: "/home/ssh-gateway/ansible/kuly/agent360_upgrade.yaml"
  tasks:
    - name: Get installed agent360 version using pip
      ansible.builtin.shell: |
        set -o pipefail
        pip$(head -1 $(which agent360) | awk -F 'python' '{print $2}') show agent360 | grep Version | awk '{print $2}'
      args:
        executable: /bin/bash
      register: agent360_version_result
      changed_when: false
      failed_when: agent360_version_result.rc != 0

    - name: Display installed version of agent360
      ansible.builtin.debug:
        msg: "Installed agent360 version: {{ agent360_version_result.stdout }}"

    - name: Save hostname and version if agent360 version is outdated and save_to_file is true
      ansible.builtin.lineinfile:
        dest: "{{ output_file }}"
        create: true
        mode: '0644'
        line: "{{ inventory_hostname }} - Agent360 version {{ agent360_version_result.stdout }} (outdated)"
      delegate_to: 127.0.0.1
      when:
        - agent360_version_result.stdout is version(desired_agent360_version, '<')
        - save_to_file | default(false) | bool

    - name: Run upgrade playbook if agent360 version is outdated and run_upgrade is true
      ansible.builtin.include_vars:
        file: "{{ upgrade_playbook }}"
      when:
        - agent360_version_result.stdout is version(desired_agent360_version, '<')
        - run_upgrade | default(false) | bool