ansible: Install log4j from upstream release on SLES12SP5
[lttng-ci.git] / automation / ansible / roles / lttng-ust / tasks / setup-Suse.yml
1 ---
2 - name: Ensure lttng-ust build dependencies are installed.
3 zypper: "name={{ lttng_ust_packages }} state=installed update_cache=yes"
4
5 # log4j2 is required for testing all the java agents, but is not available
6 # on SLES12SP5 via packages.
7 - name: Manually install log4j2
8 when: lttng_ust_manual_log4j2_installation|default(false)
9 block:
10 - name: Check if download required
11 ansible.builtin.command:
12 argv: ['test', '-L', '/usr/share/java/log4j-core.jar', '-a',
13 '-e', '/usr/share/java/log4j-core.jar', '-a',
14 '-L', '/usr/share/java/log4j-api.jar', '-a',
15 '-e', '/usr/share/java/log4j-api.jar', '-a',
16 '-f', "/usr/share/java/apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-api-{{lttng_ust_log4j2_version}}.jar", '-a',
17 '-f', "/usr/share/java/apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-core-{{lttng_ust_log4j2_version}}.jar"
18 ]
19 ignore_errors: true
20 register: log4j2_download_required
21 - when: "log4j2_download_required.rc != 0"
22 block:
23 - ansible.builtin.tempfile:
24 state: file
25 register: log4j2_asc_tempfile
26 - ansible.builtin.get_url:
27 url: "https://archive.apache.org/dist/logging/log4j/{{lttng_ust_log4j2_version}}/apache-log4j-{{lttng_ust_log4j2_version}}-bin.tar.gz.asc"
28 dest: "{{log4j2_asc_tempfile.path}}"
29 force: true
30 - ansible.builtin.tempfile:
31 state: file
32 register: log4j2_tempfile
33 - name: Download log4j2 binary release
34 ansible.builtin.get_url:
35 checksum: "sha256:https://archive.apache.org/dist/logging/log4j/{{lttng_ust_log4j2_version}}/apache-log4j-{{lttng_ust_log4j2_version}}-bin.tar.gz.sha256"
36 url: "https://archive.apache.org/dist/logging/log4j/{{lttng_ust_log4j2_version}}/apache-log4j-{{lttng_ust_log4j2_version}}-bin.tar.gz"
37 dest: "{{log4j2_tempfile.path}}"
38 force: true
39 - ansible.builtin.tempfile:
40 state: file
41 register: log4j2_keys_tempfile
42 - ansible.builtin.get_url:
43 url: "https://downloads.apache.org/logging/KEYS"
44 dest: "{{log4j2_keys_tempfile.path}}"
45 force: true
46 - name: Import Apache developer keys
47 ansible.builtin.command:
48 argv: ['gpg', '--import', "{{log4j2_keys_tempfile.path}}"]
49 # gpg returns non-zero exit codes if only some of the keys
50 # fail to import.
51 ignore_errors: true
52 - name: Verify PGP signature
53 ansible.builtin.command:
54 argv: ['gpg', '--verify', "{{log4j2_asc_tempfile.path}}", "{{log4j2_tempfile.path}}"]
55 - name: Unpack
56 ansible.builtin.unarchive:
57 remote_src: true
58 src: "{{log4j2_tempfile.path}}"
59 dest: "/usr/share/java"
60 include:
61 - "apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-api-{{lttng_ust_log4j2_version}}.jar"
62 - "apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-core-{{lttng_ust_log4j2_version}}.jar"
63 - name: Setup symlinks
64 ansible.builtin.file:
65 state: link
66 src: "/usr/share/java/apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-{{item}}-{{lttng_ust_log4j2_version}}.jar"
67 dest: '/usr/share/java/log4j-{{item}}.jar'
68 with_items:
69 - api
70 - core
71 # block:
72 # - ansible.builtin.file:
73 # state: link
74 # src: "/usr/share/java/log4j-api-{{lttng_ust_log4j2_version}}.jar"
75 # dest: '/usr/share/java/log4j-api.jar'
76 # - ansible.builtin.file:
77 # state: link
78 # src: "/usr/share/java/log4j-core-{{lttng_ust_log4j2_version}}.jar"
79 # dest: '/usr/share/java/log4j-core.jar'
This page took 0.034159 seconds and 4 git commands to generate.