--- - name: Install package dependencies for MFT on Ubuntu Java 8 apt: name: openjdk-8-jdk state: present update_cache: yes become: true when: '"java8" in current_host_config.contains_setup' - name: Install package dependencies for MFT on Ubuntu Java 11 apt: name: openjdk-11-jdk state: present update_cache: yes become: true when: '"java11" in current_host_config.contains_setup' - name: Install package dependencies for MFT on Ubuntu Java 21 apt: name: openjdk-21-jre-headless state: present update_cache: yes become: true when: '"java21" in current_host_config.contains_setup' #- name: Get package dependencies for MFT on CentOS Java21 # shell: "curl -O https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_linux-x64_bin.tar.gz && sudo tar xvf openjdk-21.0.1_linux-x64_bin.tar.gz && sudo mv jdk-21.0.1 /opt/" # args: # chdir: /home/vagrant #become: true #when: '"java21" in current_host_config.contains_setup' #- name: Get package dependencies for MFT on CentOS Java21 #shell: "sudo update-alternatives --install /usr/bin/java java /opt/jdk-21.0.1/bin/java 99" #args: # chdir: /opt/ #become: true #when: '"java21" in current_host_config.contains_setup' - name: List MFT packages local_action: find paths="{{ configs.deployment_dir }}" patterns="tixstream-mft-{{ ansible_distribution|lower }}-24*.tgz" file_type=file become: false register: found_packages - name: Get latest package set_fact: package_to_install: "{{ found_packages.files | sort(attribute='mtime',reverse=true) | first }}" when: package_name is undefined or package_name == "" - name: Set package name set_fact: package_to_install: "{{ configs.deployment_dir }}/{{ package_name }}" when: package_name is defined and package_name != "" - name: Get MFT version set_fact: mft_version: "{{ package_to_install.path | basename | regex_search('[0-9]+\\.[0-9]+\\.[0-9]+(?:\\.[0-9]+)?') }}" - name: Check if Codemeter is installed shell: "cmu -v" args: executable: /bin/bash register: codemeter_installed ignore_errors: true when: mft_version is version('2.1.0', '>=') - name: Codemeter packages local local_action: find paths="{{ configs.deployment_dir }}" patterns="codemeter*.deb" file_type=file become: false register: codemeter_packages when: mft_version is version('2.1.0', '>=') - name: Set deb package set_fact: codemeter_deb_path: "{{ codemeter_packages.files | sort(attribute='mtime',reverse=true) | first }}" when: mft_version is version('2.1.0', '>=') - name: Copy Codemeter deb to VM copy: src: "{{ codemeter_deb_path.path }}" dest: "{{ remote_deployment_dir }}" when: mft_version is version('2.1.0', '>=') - name: Codemeter packages remote find: paths: "{{ remote_deployment_dir }}" patterns: "codemeter*.deb" file_type: file register: remote_codemeter_path when: mft_version is version('2.1.0', '>=') - name: Set deb package remote set_fact: codemeter_remote_deb: "{{ remote_codemeter_path.files | sort(attribute='mtime',reverse=true) | first }}" when: mft_version is version('2.1.0', '>=') - name: Install Codemeter apt: deb: "{{ codemeter_remote_deb.path }}" state: present when: codemeter_installed.rc is defined and codemeter_installed.rc != 0 and mft_version is version('2.1.0', '>=')