Skip to content

Commit

Permalink
OPSEXP-3053 Refactor transformers role to use default vars (#1087)
Browse files Browse the repository at this point in the history
  • Loading branch information
pmacius authored Feb 21, 2025
1 parent f85089f commit 8a5c4d8
Show file tree
Hide file tree
Showing 25 changed files with 103 additions and 89 deletions.
14 changes: 2 additions & 12 deletions .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@
"filename": "playbooks/acs.yml",
"hashed_secret": "0ca8f28152882e5edb182fc3f7d4ae10a5b10dc5",
"is_verified": false,
"line_number": 500
"line_number": 506
}
],
"roles/activemq/molecule/default/tests/test_activemq.py": [
Expand Down Expand Up @@ -187,16 +187,6 @@
"is_secret": false
}
],
"roles/transformers/tasks/main.yml": [
{
"type": "Secret Keyword",
"filename": "roles/transformers/tasks/main.yml",
"hashed_secret": "0eeb6b7bb932e8594b4ffe039dc15332f670cbd9",
"is_verified": false,
"line_number": 92,
"is_secret": false
}
],
"tests/molecule_it/script.sh": [
{
"type": "Secret Keyword",
Expand All @@ -208,5 +198,5 @@
}
]
},
"generated_at": "2025-02-20T20:40:33Z"
"generated_at": "2025-02-21T13:10:34Z"
}
4 changes: 0 additions & 4 deletions 7.3.N-extra-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ api_explorer:
artifact_name: api-explorer
repository: "{{ nexus_repository.releases }}"
version: 7.3.0
transform:
artifact_name: alfresco-transform-core-aio
repository: "{{ nexus_repository.releases }}"
version: 5.1.6
dependencies_version:
postgresql_connector: 42.6.1
postgres_major_version: 14
4 changes: 0 additions & 4 deletions 7.4.N-extra-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ api_explorer:
artifact_name: api-explorer
repository: "{{ nexus_repository.releases }}"
version: 7.4.0
transform:
artifact_name: alfresco-transform-core-aio
repository: "{{ nexus_repository.releases }}"
version: 5.1.6
dependencies_version:
postgresql_connector: 42.6.1
postgres_major_version: 14
2 changes: 1 addition & 1 deletion docs/deployment-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -635,7 +635,7 @@ For example, to override the JAVA_OPTS environment variable for the All-In-One T
all:
children:
transformers:
tengine_environment:
transformers_tengine_environment:
JAVA_OPTS:
- -Xms512m
- -Xmx1g
Expand Down
8 changes: 0 additions & 8 deletions group_vars/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,19 +47,11 @@ api_explorer:
artifact_name: api-explorer
repository: "{{ nexus_repository.releases }}"
version: 23.4.0
transform:
artifact_name: alfresco-transform-core-aio
repository: "{{ nexus_repository.releases }}"
version: 5.1.6
downloads:
acs_zip_url: >-
{{ acs.repository }}/{{ acs.artifact_name }}/{{ acs.version }}/{{ acs.artifact_name }}-{{ acs.version }}.zip
acs_zip_sha1_checksum_url: >-
{{ acs.repository }}/{{ acs.artifact_name }}/{{ acs.version }}/{{ acs.artifact_name }}-{{ acs.version }}.zip.sha1
transform_jar_url: >-
{{ transform.repository }}/{{ transform.artifact_name }}/{{ transform.version }}/{{ transform.artifact_name }}-{{ transform.version }}.jar
transform_jar_sha1_checksum_url: >-
{{ transform.repository }}/{{ transform.artifact_name }}/{{ transform.version }}/{{ transform.artifact_name }}-{{ transform.version }}.jar.sha1
war_downloads:
- url: >-
{{ api_explorer.repository }}/{{ api_explorer.artifact_name }}/{{ api_explorer.version }}/{{ api_explorer.artifact_name }}-{{ api_explorer.version }}.war
Expand Down
10 changes: 8 additions & 2 deletions playbooks/acs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@
ansible.builtin.import_role:
name: "../roles/transformers"
vars:
ats_keystore: "{{ transformers_keystore | default({}) }}"
transformers_ats_keystore: "{{ transformers_keystore | default({}) }}"
java_version: "{{ acs_play_java_version }}"
transformers_libreoffice_version: "{{ acs_play_transformers_libreoffice_version }}"
transformers_libreoffice_archive_url: "{{ acs_play_transformers_libreoffice_archive_url }}"
Expand All @@ -195,12 +195,18 @@
transformers_pdf_archive_checksum_url: "{{ acs_play_transformers_pdf_archive_checksum_url }}"
transformers_imagemagick_version: "{{ acs_play_transformers_imagemagick_version }}"
transformers_imagemagick_repository: "{{ acs_play_transformers_imagemagick_repository }}"
transformers_aio_version: "{{ acs_play_transformers_aio_version }}"
transformers_aio_archive_url: "{{ acs_play_transformers_aio_download_archive_url }}"
transformers_aio_archive_checksum_url: "{{ acs_play_transformers_aio_download_archive_sha1_checksum_url }}"
post_tasks:
- name: Update installation status file with Transformers
become: true
vars:
transform_components:
transform: "{{ transform }}"
transform:
artifact_name: "{{ acs_play_transformers_aio_artifact_name }}"
repository: "{{ acs_play_transformers_aio_repository }}"
version: "{{ acs_play_transformers_aio_version }}"
ansible.builtin.blockinfile:
block: "{{ transform_components | to_nice_yaml(indent=2) }}"
create: true
Expand Down
7 changes: 6 additions & 1 deletion playbooks/group_vars/transformers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ acs_play_trouter_download_zip_url: "{{ acs_play_trouter_repository }}/{{ acs_pla
acs_play_trouter_download_zip_sha1_checksum_url: "sha1:{{ acs_play_trouter_download_zip_url }}.sha1"

acs_play_transformers_libreoffice_artifact_name: libreoffice-dist
acs_play_transformers_libreoffice_archive_name: "{{ acs_play_transformers_libreoffice_artifact_name }}-{{ acs_play_transformers_libreoffice_version }}-{{ pkg_format }}.gz"
acs_play_transformers_libreoffice_archive_name: "{{ acs_play_transformers_libreoffice_artifact_name }}-{{ acs_play_transformers_libreoffice_version }}-{{ transformers_pkg_format }}.gz"
acs_play_transformers_libreoffice_repository: "{{ artifacts_repositories.community.base_url }}/repositories/thirdparty/org/libreoffice"
acs_play_transformers_libreoffice_archive_url: "{{ acs_play_transformers_libreoffice_repository }}/{{ acs_play_transformers_libreoffice_artifact_name }}/{{ acs_play_transformers_libreoffice_version }}/{{ acs_play_transformers_libreoffice_archive_name }}"
acs_play_transformers_libreoffice_archive_checksum_url: "sha1:{{ acs_play_transformers_libreoffice_archive_url }}.sha1"
Expand All @@ -21,3 +21,8 @@ acs_play_transformers_pdf_archive_url: "{{ acs_play_transformers_pdf_repository
acs_play_transformers_pdf_archive_checksum_url: "sha1:{{ acs_play_transformers_pdf_archive_url }}.sha1"

acs_play_transformers_imagemagick_repository: "{{ nexus_repository.releases }}"

acs_play_transformers_aio_artifact_name: alfresco-transform-core-aio
acs_play_transformers_aio_repository: "{{ nexus_repository.releases }}"
acs_play_transformers_aio_download_archive_url: "{{ acs_play_transformers_aio_repository }}/{{ acs_play_transformers_aio_artifact_name }}/{{ acs_play_transformers_aio_version }}/{{ acs_play_transformers_aio_artifact_name }}-{{ acs_play_transformers_aio_version }}.jar"
acs_play_transformers_aio_download_archive_sha1_checksum_url: "sha1:{{ acs_play_transformers_aio_download_archive_url }}.sha1"
2 changes: 1 addition & 1 deletion playbooks/prerun-upgrade-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
ansible.builtin.fail:
when:
- installed_components.transform is defined
- transform.version != installed_components.transform.version
- acs_play_transformers_aio_version != installed_components.transform.version

- name: Fail on unsupported Trouter upgrades
ansible.builtin.fail:
Expand Down
17 changes: 12 additions & 5 deletions roles/transformers/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
---
# defaults file for roles/transformers
pkg_format: "{% if ansible_pkg_mgr == 'apt' %}deb{% else %}rpm{% endif %}"
tengine_environment:
transformers_pkg_format: "{% if ansible_pkg_mgr == 'apt' %}deb{% else %}rpm{% endif %}"
transformers_tengine_environment:
JAVA_OPTS:
- -Xms512m
- -Xmx1536m
ats_keystore: {}
include_ghostscript: false
transformers_ats_keystore: {}
transformers_include_ghostscript: false

transformers_libreoffice_artifact_name: libreoffice-dist
transformers_libreoffice_repository: https://artifacts.alfresco.com/nexus/content/repositories/thirdparty/org/libreoffice

transformers_libreoffice_version: 7.2.5.1
transformers_libreoffice_archive_name: "{{ transformers_libreoffice_artifact_name }}-{{ transformers_libreoffice_version }}-{{ pkg_format }}.gz"
transformers_libreoffice_archive_name: "{{ transformers_libreoffice_artifact_name }}-{{ transformers_libreoffice_version }}-{{ transformers_pkg_format }}.gz"
transformers_libreoffice_archive_url: "{{ transformers_libreoffice_repository }}/{{ transformers_libreoffice_artifact_name }}/{{ transformers_libreoffice_version }}/{{ transformers_libreoffice_archive_name }}"
transformers_libreoffice_archive_checksum_url: "sha1:{{ transformers_libreoffice_archive_url }}.sha1"
transformers_libreoffice_home: "/opt/libreoffice{{ transformers_libreoffice_version[0:3] }}/"
Expand All @@ -27,3 +27,10 @@ transformers_pdf_archive_checksum_url: "sha1:{{ transformers_pdf_archive_url }}.

transformers_imagemagick_version: 7.1.0-16-ci-11
transformers_imagemagick_repository: https://artifacts.alfresco.com/nexus/content/groups/public/org/alfresco

transformers_aio_artifact_name: alfresco-transform-core-aio
transformers_aio_repository: https://artifacts.alfresco.com/nexus/content/groups/public/org/alfresco

transformers_aio_version: 5.1.6
transformers_aio_archive_url: "{{ transformers_aio_repository }}/{{ transformers_aio_artifact_name }}/{{ transformers_aio_version }}/{{ transformers_aio_artifact_name }}-{{ transformers_aio_version }}.jar"
transformers_aio_archive_checksum_url: "sha1:{{ transformers_aio_archive_url }}.sha1"
23 changes: 22 additions & 1 deletion roles/transformers/meta/argument_specs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,13 @@ argument_specs:
main:
short_description: Main entrypoint for the tranformers role
options:
ats_keystore:
transformers_pkg_format:
type: str
required: false
description: |
Package format to use for the transformers installation.
Possible values are 'deb' or 'rpm'.
transformers_ats_keystore:
type: dict
required: false
no_log: true
Expand Down Expand Up @@ -50,3 +56,18 @@ argument_specs:
required: false
description: |
URL of the repository where the ImageMagick distribution is stored.
transformers_aio_artifact_name:
type: str
required: false
description: |
The name of the transformers All-In-One artifact.
transformers_aio_archive_url:
type: str
required: false
description: |
The URL to download the transformers All-In-One artifact.
transformers_aio_archive_checksum_url:
type: str
required: false
description: |
The URL to download the checksum of the transformers All-In-One artifact.
2 changes: 1 addition & 1 deletion roles/transformers/molecule/default/converge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
ansible.builtin.include_role:
name: "transformers"
vars:
tengine_environment:
transformers_tengine_environment:
JAVA_OPTS:
- -Xms512m
- -Xmx900m
14 changes: 7 additions & 7 deletions roles/transformers/tasks/imagemagick.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
- name: Download ImageMagick distribution
vars:
pkg_name: "{{ item | replace('imagemagick-distribution', 'imagemagick-distribution-' + transformers_imagemagick_version) }}{{ imagemagick_package_arch }}.{{ pkg_format }}"
pkg_name: "{{ item | replace('imagemagick-distribution', 'imagemagick-distribution-' + transformers_imagemagick_version) }}{{ imagemagick_package_arch }}.{{ transformers_pkg_format }}"
pkg_url: "{{ transformers_imagemagick_repository }}/../imagemagick/imagemagick-distribution/{{ transformers_imagemagick_version }}/{{ pkg_name }}"
ansible.builtin.get_url:
url: "{{ pkg_url }}"
Expand All @@ -25,18 +25,18 @@

- name: Install ImageMagick deb packages
become: true
when: pkg_format == 'deb'
when: transformers_pkg_format == 'deb'
ansible.builtin.apt:
deb: "{{ download_location }}/{{ item | replace('imagemagick-distribution', 'imagemagick-distribution-' + transformers_imagemagick_version) }}{{ imagemagick_package_arch }}.{{ pkg_format }}"
deb: "{{ download_location }}/{{ item | replace('imagemagick-distribution', 'imagemagick-distribution-' + transformers_imagemagick_version) }}{{ imagemagick_package_arch }}.{{ transformers_pkg_format }}"
state: present
loop: "{{ transformers_imagemagick_packages }}"
loop: "{{ transformers_imagemagick_packages }}"

- name: Install ImageMagick rpm packages
become: true
when: pkg_format == 'rpm'
when: transformers_pkg_format == 'rpm'
ansible.builtin.dnf:
state: present
name: >-
{{ download_location }}/{{ item | replace('imagemagick-distribution', 'imagemagick-distribution-' + transformers_imagemagick_version) }}{{ imagemagick_package_arch }}.{{ pkg_format }}
{{ download_location }}/{{ item | replace('imagemagick-distribution', 'imagemagick-distribution-' + transformers_imagemagick_version) }}{{ imagemagick_package_arch }}.{{ transformers_pkg_format }}
disable_gpg_check: true
loop: "{{ transformers_imagemagick_packages }}"
loop: "{{ transformers_imagemagick_packages }}"
10 changes: 5 additions & 5 deletions roles/transformers/tasks/libreoffice.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,30 @@
- name: Extract libreoffice.tar.gz
vars:
lo_arch: >-
{{ ansible_system }}_{{ ansible_architecture | replace('_', '-') }}_{{ pkg_format }}
{{ ansible_system }}_{{ ansible_architecture | replace('_', '-') }}_{{ transformers_pkg_format }}
ansible.builtin.unarchive:
src: "{{ download_location }}/libreoffice.tar.gz"
dest: "{{ download_location }}/"
remote_src: true
creates: >-
{{ download_location }}/LibreOffice_{{ transformers_libreoffice_version }}_{{ lo_arch }}/{{ pkg_format | upper }}S/
{{ download_location }}/LibreOffice_{{ transformers_libreoffice_version }}_{{ lo_arch }}/{{ transformers_pkg_format | upper }}S/
- name: Enumerate LibreOffice RPMs to install
when: pkg_format == 'rpm'
when: transformers_pkg_format == 'rpm'
ansible.builtin.find:
paths: "{{ download_location }}/LibreOffice_{{ transformers_libreoffice_version }}_Linux_{{ ansible_architecture | replace('_', '-') }}_rpm/RPMS/"
patterns: "*.rpm"
register: libreoffice_rpm_files

- name: Install LibreOffice RPMs
when: pkg_format == 'rpm'
when: transformers_pkg_format == 'rpm'
ansible.builtin.dnf:
state: present
name: "{{ libreoffice_rpm_files.files | map(attribute='path') | list }}"
disable_gpg_check: true

- name: Install LibreOffice debs
when: pkg_format == 'deb'
when: transformers_pkg_format == 'deb'
vars:
lo_arch: >-
{{ ansible_system }}_{{ ansible_architecture | replace('_', '-') }}
Expand Down
22 changes: 10 additions & 12 deletions roles/transformers/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
ansible.builtin.include_role:
name: ../roles/java
tasks_from: keystores
when: ats_keystore
when: transformers_ats_keystore
vars:
java_keystore: "{{ ats_keystore }}"
java_keystore: "{{ transformers_ats_keystore }}"

- name: Enable EPEL repository
become: true
Expand All @@ -43,21 +43,21 @@
gpgcheck: true
gpgkey: >-
{{ epel_gpg_base }}/RPM-GPG-KEY-EPEL-{{ epel_ver }}
when: pkg_format == 'rpm'
when: transformers_pkg_format == 'rpm'

- name: ATS installation
become: true
block:
- name: Ensure a list of packages installed
ansible.builtin.package:
name: "{{ utils_transform }}"
name: "{{ transformers_utils }}"
state: present

- name: Install optional ghostscript packages (AGPL)
ansible.builtin.package:
name: "{{ ghostscript_packages }}"
state: present
when: include_ghostscript
when: transformers_include_ghostscript

- name: Create transform-services folder
ansible.builtin.file:
Expand Down Expand Up @@ -85,16 +85,14 @@
group: "{{ group_name }}"
creates: "{{ ats_home }}/alfresco-pdf-renderer"

- name: Download {{ transform.artifact_name }}-{{ transform.version }}.jar
- name: Download {{ transformers_aio_artifact_name }}-{{ transformers_aio_version }}.jar
ansible.builtin.get_url:
url: "{{ downloads.transform_jar_url }}"
dest: "{{ binaries_folder }}/transform-service/{{ transform.artifact_name }}-{{ transform.version }}.jar"
checksum: sha1:{{ lookup('url', downloads.transform_jar_sha1_checksum_url, username=nexus_user, password=nexus_password) }}
url: "{{ transformers_aio_archive_url }}"
dest: "{{ binaries_folder }}/transform-service/{{ transformers_aio_artifact_name }}-{{ transformers_aio_version }}.jar"
checksum: "{{ transformers_aio_archive_checksum_url }}"
owner: "{{ username }}"
group: "{{ group_name }}"
mode: 'u=rwx,g=rwx,o=rx'
url_username: "{{ nexus_user }}"
url_password: "{{ nexus_password }}"

- name: Create log file with correct permissions
ansible.builtin.file:
Expand All @@ -113,7 +111,7 @@
owner: "{{ username }}"
group: "{{ group_name }}"
mode: "0600"
when: ats_keystore
when: transformers_ats_keystore
notify:
- wait-for-activemq
- Restart-aio
Expand Down
Loading

0 comments on commit 8a5c4d8

Please sign in to comment.