From 12d46afd7ebc2c820acf3ed6cc8e0c20c9f79d74 Mon Sep 17 00:00:00 2001 From: Brett Meehan Date: Tue, 7 Apr 2020 11:03:27 +1000 Subject: [PATCH 1/5] ITOPSENG-395 handle atlassian specific product version testing --- roles/product_install/tasks/main.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/roles/product_install/tasks/main.yml b/roles/product_install/tasks/main.yml index 1907a63..b92c97f 100644 --- a/roles/product_install/tasks/main.yml +++ b/roles/product_install/tasks/main.yml @@ -54,6 +54,10 @@ # # If a version is set, then it is honoured _if_ it is higher than the # cached value (i.e. upgrade path). +# +# there is some test logic hack to allow atlassian specfic versioning +# requirements to work as expected ie - (7.2.0 to upgrade over 7.2.0-rc1) and +# (7.2.0-beta1 to upgrade over 7.2.0-m01) in "version is not latest" - name: "Case: Version is latest" block: @@ -72,6 +76,12 @@ - name: "Case: Version is not latest" block: + - name: "create atlassian ordered versioning for comparison" + set_fact: + download_binary: true + move_binary: false + atl_product_download: "{{ atl_product_temp_download }}" + - name: "Case: No cached version, or supplied is higher; use supplied" set_fact: @@ -79,6 +89,7 @@ when: force_version_update | bool or not cached.stat.exists or atl_product_version is version(atl_cached_version, '>') + {{atl_product_version ~ "-z"|replace("-m", "-am")}} is version({{atl_cached_version}}, '>') - name: "Case: Cached version is higher or forced, ignore supplied" set_fact: From 165c07bfb847f3f717723eeeb7d5976e4b625e25 Mon Sep 17 00:00:00 2001 From: Brett Meehan Date: Tue, 7 Apr 2020 13:14:59 +1000 Subject: [PATCH 2/5] ITOPSENG-395 move version normalizing logic to a fact --- roles/product_install/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/product_install/tasks/main.yml b/roles/product_install/tasks/main.yml index b92c97f..83cfd05 100644 --- a/roles/product_install/tasks/main.yml +++ b/roles/product_install/tasks/main.yml @@ -81,6 +81,7 @@ download_binary: true move_binary: false atl_product_download: "{{ atl_product_temp_download }}" + atl_product_normalized_version: "{{atl_product_version ~ '-z'|replace('-m', '-am')}}" - name: "Case: No cached version, or supplied is higher; use supplied" @@ -88,8 +89,7 @@ atl_download_version: "{{ atl_product_version }}" when: force_version_update | bool or not cached.stat.exists or - atl_product_version is version(atl_cached_version, '>') - {{atl_product_version ~ "-z"|replace("-m", "-am")}} is version({{atl_cached_version}}, '>') + atl_product_normalised_version is version(atl_cached_version, '>') - name: "Case: Cached version is higher or forced, ignore supplied" set_fact: From c1c9591a79f82ecf6683692fb5b5b888567d64be Mon Sep 17 00:00:00 2001 From: Brett Meehan Date: Tue, 7 Apr 2020 13:52:30 +1000 Subject: [PATCH 3/5] ITOPSENG-395 fixed typo --- roles/product_install/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/product_install/tasks/main.yml b/roles/product_install/tasks/main.yml index 83cfd05..52a3b6b 100644 --- a/roles/product_install/tasks/main.yml +++ b/roles/product_install/tasks/main.yml @@ -81,7 +81,7 @@ download_binary: true move_binary: false atl_product_download: "{{ atl_product_temp_download }}" - atl_product_normalized_version: "{{atl_product_version ~ '-z'|replace('-m', '-am')}}" + atl_product_normalised_version: "{{atl_product_version ~ '-z'|replace('-m', '-am')}}" - name: "Case: No cached version, or supplied is higher; use supplied" From f207682fcca5c8a45e1e0662276caa9da7d22411 Mon Sep 17 00:00:00 2001 From: Brett Meehan Date: Tue, 7 Apr 2020 14:02:09 +1000 Subject: [PATCH 4/5] ITOPSENG-395 fixed copy pasta error --- roles/product_install/tasks/main.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/roles/product_install/tasks/main.yml b/roles/product_install/tasks/main.yml index 52a3b6b..eb87b86 100644 --- a/roles/product_install/tasks/main.yml +++ b/roles/product_install/tasks/main.yml @@ -78,9 +78,6 @@ block: - name: "create atlassian ordered versioning for comparison" set_fact: - download_binary: true - move_binary: false - atl_product_download: "{{ atl_product_temp_download }}" atl_product_normalised_version: "{{atl_product_version ~ '-z'|replace('-m', '-am')}}" From 825212db97900cb9bb217a4d9f842b6580b9547b Mon Sep 17 00:00:00 2001 From: Brett Meehan Date: Tue, 7 Apr 2020 15:10:08 +1000 Subject: [PATCH 5/5] ITOPSENG-395 for some reason chaining the jinja replace on the string append isnt working so doing those in 2 separate facts blocks --- roles/product_install/tasks/main.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/roles/product_install/tasks/main.yml b/roles/product_install/tasks/main.yml index eb87b86..e2773c1 100644 --- a/roles/product_install/tasks/main.yml +++ b/roles/product_install/tasks/main.yml @@ -76,23 +76,28 @@ - name: "Case: Version is not latest" block: + - name: "create atlassian z versioning for comparison" + set_fact: + atl_z_product_version: "{{ atl_product_version ~ '-z' }}" + atl_z_cached_version: "{{ atl_cached_version ~ '-z' }}" + - name: "create atlassian ordered versioning for comparison" set_fact: - atl_product_normalised_version: "{{atl_product_version ~ '-z'|replace('-m', '-am')}}" - + atl_product_normalised_version: "{{ atl_z_product_version | replace('-m', '-am') }}" + atl_cached_normalised_version: "{{ atl_z_cached_version | replace('-m', '-am') }}" - name: "Case: No cached version, or supplied is higher; use supplied" set_fact: atl_download_version: "{{ atl_product_version }}" when: force_version_update | bool or not cached.stat.exists or - atl_product_normalised_version is version(atl_cached_version, '>') + atl_product_normalised_version is version(atl_cached_normalised_version, '>') - name: "Case: Cached version is higher or forced, ignore supplied" set_fact: atl_download_version: "{{ atl_cached_version }}" when: cached.stat.exists and - atl_product_version is version(atl_cached_version, '<=') and + atl_product_normalised_version is version(atl_cached_normalised_version, '<=') and not force_version_update | bool when: not version_is_latest