From 146fe1f93f41bb2156a5ca7879c17eab807f3e76 Mon Sep 17 00:00:00 2001 From: vass Date: Wed, 1 Apr 2020 16:33:44 +0200 Subject: [PATCH] Do not end host if correct go version is installed Otherwise ansible will skip the test of the playbook if the correct go version is already installed. Change-Id: Iaa481e91738ececbdb7db7fbbdf56b27ad5995db --- roles/install-go/tasks/install-go.yaml | 25 ++++++++++++++++++ roles/install-go/tasks/main.yaml | 35 ++++---------------------- 2 files changed, 30 insertions(+), 30 deletions(-) create mode 100644 roles/install-go/tasks/install-go.yaml diff --git a/roles/install-go/tasks/install-go.yaml b/roles/install-go/tasks/install-go.yaml new file mode 100644 index 000000000..5a8a906d2 --- /dev/null +++ b/roles/install-go/tasks/install-go.yaml @@ -0,0 +1,25 @@ +- name: Create temp directory + tempfile: + state: directory + register: go_archive_tempdir + +- name: Get archive checksum + uri: + url: "https://dl.google.com/go/go{{ go_version }}.{{ go_os }}-{{ go_arch }}.tar.gz.sha256" + return_content: true + register: go_archive_checksum + + +- name: Download go archive + get_url: + url: "https://dl.google.com/go/go{{ go_version }}.{{ go_os }}-{{ go_arch }}.tar.gz" + dest: "{{ go_archive_tempdir.path }}/go{{ go_version }}.{{ go_os }}-{{ go_arch }}.tar.gz" + checksum: "sha256:{{ go_archive_checksum.content }}" + +- name: Install go + unarchive: + src: "{{ go_archive_tempdir.path }}/go{{ go_version }}.{{ go_os }}-{{ go_arch }}.tar.gz" + dest: "{{ go_install_dir }}" + remote_src: yes + become: true + diff --git a/roles/install-go/tasks/main.yaml b/roles/install-go/tasks/main.yaml index 1b2284214..e4936ec3d 100644 --- a/roles/install-go/tasks/main.yaml +++ b/roles/install-go/tasks/main.yaml @@ -6,34 +6,9 @@ ignore_errors: yes - name: Skip if correct version of go is installed - meta: end_host + include_tasks: install-go.yaml when: - - go_installed_version.rc == 0 - - go_version == (go_installed_version.stdout|regex_replace(go_version_pattern, '\\g')) - - go_os == (go_installed_version.stdout|regex_replace(go_version_pattern, '\\g')) - - go_arch == (go_installed_version.stdout|regex_replace(go_version_pattern, '\\g')) - -- name: Create temp directory - tempfile: - state: directory - register: go_archive_tempdir - -- name: Get archive checksum - uri: - url: "https://dl.google.com/go/go{{ go_version }}.{{ go_os }}-{{ go_arch }}.tar.gz.sha256" - return_content: true - register: go_archive_checksum - - -- name: Download go archive - get_url: - url: "https://dl.google.com/go/go{{ go_version }}.{{ go_os }}-{{ go_arch }}.tar.gz" - dest: "{{ go_archive_tempdir.path }}/go{{ go_version }}.{{ go_os }}-{{ go_arch }}.tar.gz" - checksum: "sha256:{{ go_archive_checksum.content }}" - -- name: Install go - unarchive: - src: "{{ go_archive_tempdir.path }}/go{{ go_version }}.{{ go_os }}-{{ go_arch }}.tar.gz" - dest: "{{ go_install_dir }}" - remote_src: yes - become: true + - go_installed_version.rc != 0 or + go_version != (go_installed_version.stdout|regex_replace(go_version_pattern, '\\g')) or + go_os != (go_installed_version.stdout|regex_replace(go_version_pattern, '\\g')) or + go_arch != (go_installed_version.stdout|regex_replace(go_version_pattern, '\\g'))