diff --git a/bin/install-ansible b/bin/install-ansible index 2c8eaa4..b602af5 100755 --- a/bin/install-ansible +++ b/bin/install-ansible @@ -3,7 +3,7 @@ set -e source /etc/os-release -if [[ $ID = "amzn" ]]; then +if [[ $ID = "amzn" ]] && [[ $VERSION = "2" ]]; then amazon-linux-extras enable python3.8 yum clean metadata yum install -y \ @@ -11,6 +11,11 @@ if [[ $ID = "amzn" ]]; then python38 \ python38-pip \ python38-devel +elif [[ $ID = "amzn" ]] && [[ $VERSION = "2022" ]]; then + dnf install -y \ + python3 \ + python3-pip \ + python3-devel else # FIXME: Currently assumes Debian-based apt-get update && \ diff --git a/roles/aws_common/tasks/amazon.yml b/roles/aws_common/tasks/amazon-2.yml similarity index 100% rename from roles/aws_common/tasks/amazon.yml rename to roles/aws_common/tasks/amazon-2.yml diff --git a/roles/aws_common/tasks/amazon-2022.yml b/roles/aws_common/tasks/amazon-2022.yml new file mode 100644 index 0000000..d2e88cc --- /dev/null +++ b/roles/aws_common/tasks/amazon-2022.yml @@ -0,0 +1,18 @@ +--- + +- name: Install AWS support packages + ansible.builtin.dnf: + name: + - amazon-efs-utils + - amazon-ssm-agent + - awscli + - git + - ec2-utils + +- name: Install CloudWatch Agent + ansible.builtin.dnf: + name: + - "{{ aws_cloudwatch_agent_rpm }}" + when: atl_aws_enable_cloudwatch is defined and atl_aws_enable_cloudwatch | bool + notify: + - Enable CloudWatch Agent diff --git a/roles/aws_common/tasks/main.yml b/roles/aws_common/tasks/main.yml index 74206e3..2f75e38 100644 --- a/roles/aws_common/tasks/main.yml +++ b/roles/aws_common/tasks/main.yml @@ -6,7 +6,7 @@ - notest - name: Install distro-specific prerequisites - ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution | lower }}-{{ ansible_distribution_version }}.yml" - name: Use EC2 instance ID for cluster node ID ansible.builtin.set_fact: diff --git a/roles/confluence_config/tasks/amazon-2022_fonts.yml b/roles/confluence_config/tasks/amazon-2022_fonts.yml new file mode 100644 index 0000000..d1e86a8 --- /dev/null +++ b/roles/confluence_config/tasks/amazon-2022_fonts.yml @@ -0,0 +1,15 @@ +--- + +- name: Install Google Noto fonts for language coverage + ansible.builtin.dnf: + name: + - "google-noto-*" + +- name: Link the language fonts into the JDK + # Not idiomatic, but cleaner than messing with nested lookups... + ansible.builtin.shell: + cmd: "ln -sf /usr/share/fonts/google-noto*/* {{ item }}/" + creates: "{{ item }}/NotoSansJavanese-Regular.ttf" + warn: false + with_items: "{{ atl_fonts_fallback_dirs }}" + changed_when: false # For Molecule idempotence check diff --git a/roles/confluence_config/tasks/amazon_fonts.yml b/roles/confluence_config/tasks/amazon-2_fonts.yml similarity index 100% rename from roles/confluence_config/tasks/amazon_fonts.yml rename to roles/confluence_config/tasks/amazon-2_fonts.yml diff --git a/roles/confluence_config/tasks/main.yml b/roles/confluence_config/tasks/main.yml index be91bd3..99113ce 100644 --- a/roles/confluence_config/tasks/main.yml +++ b/roles/confluence_config/tasks/main.yml @@ -130,4 +130,4 @@ with_items: "{{ atl_fonts_fallback_dirs }}" - name: Install & configure distro language fonts - ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}_fonts.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution | lower }}-{{ ansible_distribution_version }}_fonts.yml" diff --git a/roles/linux_common/tasks/amazon.yml b/roles/linux_common/tasks/amazon-2.yml similarity index 92% rename from roles/linux_common/tasks/amazon.yml rename to roles/linux_common/tasks/amazon-2.yml index 859057b..827b8b0 100644 --- a/roles/linux_common/tasks/amazon.yml +++ b/roles/linux_common/tasks/amazon-2.yml @@ -1,6 +1,6 @@ --- -- name: Install Amazon-Linux-specific support packages +- name: Install Amazon-Linux-2-specific support packages ansible.builtin.yum: name: - dejavu-sans-fonts diff --git a/roles/linux_common/tasks/amazon-2022.yml b/roles/linux_common/tasks/amazon-2022.yml new file mode 100644 index 0000000..afc5297 --- /dev/null +++ b/roles/linux_common/tasks/amazon-2022.yml @@ -0,0 +1,10 @@ +--- + +- name: Install Amazon-Linux-2022-specific support packages + ansible.builtin.dnf: + name: + - dejavu-sans-fonts + - file + - git-{{ git_version }} + - libxml2 + - shadow-utils diff --git a/roles/linux_common/tasks/main.yml b/roles/linux_common/tasks/main.yml index c46003f..0c822fe 100644 --- a/roles/linux_common/tasks/main.yml +++ b/roles/linux_common/tasks/main.yml @@ -3,7 +3,7 @@ # Note: Try and limit these to packages that are distro-specific, and # place commonly-named ones below. - name: Install distro-specific prerequisites - ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution | lower }}-{{ ansible_distribution_version }}.yml" - name: Install common support packages ansible.builtin.package: diff --git a/roles/nfs_server/tasks/amazon.yml b/roles/nfs_server/tasks/amazon-2.yml similarity index 68% rename from roles/nfs_server/tasks/amazon.yml rename to roles/nfs_server/tasks/amazon-2.yml index 17de77d..5727fcd 100644 --- a/roles/nfs_server/tasks/amazon.yml +++ b/roles/nfs_server/tasks/amazon-2.yml @@ -1,6 +1,6 @@ --- -- name: Install Amazon-Linux-specific NFS packages +- name: Install Amazon-Linux-2-specific NFS packages ansible.builtin.yum: name: - nfs-utils diff --git a/roles/nfs_server/tasks/amazon-2022.yml b/roles/nfs_server/tasks/amazon-2022.yml new file mode 100644 index 0000000..2985681 --- /dev/null +++ b/roles/nfs_server/tasks/amazon-2022.yml @@ -0,0 +1,6 @@ +--- + +- name: Install Amazon-Linux-2022-specific NFS packages + ansible.builtin.dnf: + name: + - nfs-utils diff --git a/roles/nfs_server/tasks/main.yml b/roles/nfs_server/tasks/main.yml index 51953b3..84df09b 100644 --- a/roles/nfs_server/tasks/main.yml +++ b/roles/nfs_server/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Install distro-specific NFS packages - ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution | lower }}-{{ ansible_distribution_version }}.yml" - name: Create mountpoint diff --git a/roles/product_common/tasks/amazon.yml b/roles/product_common/tasks/amazon-2.yml similarity index 93% rename from roles/product_common/tasks/amazon.yml rename to roles/product_common/tasks/amazon-2.yml index 950c522..7538d97 100644 --- a/roles/product_common/tasks/amazon.yml +++ b/roles/product_common/tasks/amazon-2.yml @@ -1,6 +1,6 @@ --- -- name: Add Adoptium repo and install Eclipse Temurin JDK if necessary on Amazon Linux +- name: Add Adoptium repo and install Eclipse Temurin JDK if necessary on Amazon Linux 2 block: - name: Add Adoptium yum repository @@ -31,7 +31,7 @@ tags: - runtime_pkg -- name: Install other base packages on Amazon Linux +- name: Install other base packages on Amazon Linux 2 ansible.builtin.yum: name: - dejavu-fonts-common # Required by the installer diff --git a/roles/product_common/tasks/amazon-2022.yml b/roles/product_common/tasks/amazon-2022.yml new file mode 100644 index 0000000..0ff3e1c --- /dev/null +++ b/roles/product_common/tasks/amazon-2022.yml @@ -0,0 +1,35 @@ +--- + +- name: Add Adoptium repo and install Eclipse Temurin JDK if necessary on Amazon Linux 2022 + block: + + - name: Add Adoptium yum repository + ansible.builtin.yum_repository: + name: Adoptium + file: adoptium + description: Adoptium Repo + baseurl: "https://packages.adoptium.net/artifactory/rpm/amazonlinux/{{ ansible_distribution_version }}/{{ ansible_architecture }}" + gpgkey: https://packages.adoptium.net/artifactory/api/gpg/key/public + gpgcheck: yes + state: present + + - name: Install Eclipse Temurin JDK + ansible.builtin.yum: + name: "temurin-{{ java_major_version }}-jdk" + state: present + + - name: Ensure common JDK symlink exists + community.general.alternatives: + link: "/usr/lib/jvm/java" + name: "java_sdk" + path: "/usr/lib/jvm/temurin-{{ java_major_version }}-jdk" + priority: 99 + + when: atl_use_system_jdk | bool + tags: + - runtime_pkg + +- name: Install other base packages on Amazon Linux 2022 + ansible.builtin.dnf: + name: + - dejavu-fonts-common # Required by the installer diff --git a/roles/product_common/tasks/main.yml b/roles/product_common/tasks/main.yml index 2e8e4d7..7bf9015 100644 --- a/roles/product_common/tasks/main.yml +++ b/roles/product_common/tasks/main.yml @@ -1,4 +1,4 @@ --- - name: Perform distro-specific tasks - ansible.builtin.include_tasks: "{{ ansible_distribution|lower }}.yml" + ansible.builtin.include_tasks: "{{ ansible_distribution | lower }}-{{ ansible_distribution_version }}.yml"