From 54386a3783a63cc97da9a6fa39e4abb08903e53a Mon Sep 17 00:00:00 2001 From: Palash Gandhi Date: Tue, 14 Jan 2025 13:13:33 -0800 Subject: [PATCH] Fix ansible check warnings --- .github/workflows/main.yml | 2 +- .github/workflows/requirements.yml | 7 +++++ bootstrap/playbook.yml | 3 +- .../appliance-build.bootstrap/tasks/main.yml | 29 ++++++++++++------- .../tasks/main.yml | 6 ++-- .../appliance-build.dcenter/tasks/main.yml | 25 ++++++++++------ .../appliance-build.dct-common/tasks/main.yml | 3 +- 7 files changed, 50 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/requirements.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 72b7e7b3..0f69dc70 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,7 +11,7 @@ jobs: args: "" setup_python: "true" working_directory: "" - requirements_file: "" + requirements_file: ".github/workflows/requirements.yml" check-shellcheck: runs-on: ubuntu-20.04 steps: diff --git a/.github/workflows/requirements.yml b/.github/workflows/requirements.yml new file mode 100644 index 00000000..aec7802a --- /dev/null +++ b/.github/workflows/requirements.yml @@ -0,0 +1,7 @@ +# +# Copyright 2025 Delphix +# +--- +collections: + # Install a collection from Ansible Galaxy. + - name: community.general diff --git a/bootstrap/playbook.yml b/bootstrap/playbook.yml index e9b315ca..4d134a81 100644 --- a/bootstrap/playbook.yml +++ b/bootstrap/playbook.yml @@ -15,7 +15,8 @@ # --- -- hosts: localhost +- name: Run the appliance-build.bootstrap role + hosts: localhost connection: local become_user: root become: true diff --git a/bootstrap/roles/appliance-build.bootstrap/tasks/main.yml b/bootstrap/roles/appliance-build.bootstrap/tasks/main.yml index d7319d65..c7175a7b 100644 --- a/bootstrap/roles/appliance-build.bootstrap/tasks/main.yml +++ b/bootstrap/roles/appliance-build.bootstrap/tasks/main.yml @@ -16,14 +16,13 @@ --- # The VSDK plugin requires python3.8. The deadsnakes PPA provides python3.8 on 24.04. -- apt_repository: +- name: Add deadsnakes PPA to apt sources so that python3.8 can be installed + ansible.builtin.apt_repository: repo: ppa:deadsnakes/ppa state: present -- apt: - update_cache: yes - -- apt: +- name: Update apt cache and install apt packages + ansible.builtin.apt: name: - ansible - aptly @@ -51,28 +50,36 @@ - vim - zfsutils-linux state: present + update_cache: true -- systemd: +- name: Stop unattended-upgrades systemd service in preparation for package removal + ansible.builtin.systemd: name: unattended-upgrades state: stopped register: result_systemd_stop failed_when: "result_systemd_stop is failed and 'Could not find the requested service' not in result_systemd_stop.msg" -- apt: +- name: Remove unattended-upgrades package + ansible.builtin.apt: name: - unattended-upgrades state: absent purge: true -- snap: +# aws-cli is distributed via snap on 24.04. While the package is not required by the product, +# it is required by appliance-build itself. +- name: Install aws-cli snap package + community.general.snap: name: aws-cli - classic: yes + classic: true -- modprobe: +- name: Load ZFS kernel module. + community.general.modprobe: name: zfs state: present -- user: +- name: Add delphix user to docker group required by the virtualization package + ansible.builtin.user: name: delphix groups: docker append: true diff --git a/live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml b/live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml index d2c054d2..94eef0e5 100644 --- a/live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml +++ b/live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml @@ -15,7 +15,8 @@ # --- -- apt: +- name: Install apt packages + ansible.builtin.apt: name: - openjdk-8-jdk - curl @@ -24,7 +25,8 @@ - gnupg state: present -- user: +- name: Add delphix user to docker group required by the virtualization package + ansible.builtin.user: name: delphix groups: docker append: true diff --git a/live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml b/live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml index e4a3d67c..acd016cd 100644 --- a/live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml +++ b/live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml @@ -15,15 +15,17 @@ # --- -- git: +- name: Clone the dcenter-gate repo + ansible.builtin.git: repo: "https://{{ lookup('env', 'GITHUB_TOKEN') }}@github.com/delphix/dcenter-gate.git" version: main dest: /opt/dcenter/lib/dcenter-gate - accept_hostkey: yes - update: no + accept_hostkey: true + update: false when: lookup('env', 'GITHUB_TOKEN') != '' -- alternatives: +- name: Set java to java-8-openjdk-amd64 + community.general.alternatives: name: java path: /usr/lib/jvm/java-8-openjdk-amd64/bin/java @@ -32,7 +34,8 @@ # can operate. For dcenter, we maintain the dhcp configuration # in /tmp so we need to add those paths into the apparmor configuration. # -- copy: +- name: Create the apparmor configuration for dhcpd + ansible.builtin.copy: dest: "/etc/apparmor.d/local/usr.sbin.dhcpd" content: | /tmp/dcenter_dhcp_config/ r, @@ -42,7 +45,8 @@ /tmp/dcenter_dhcp_config/dhcpd{,6}.leases* lrw, /tmp/dcenter_dhcp_config/dhcpd{,6}.pid rw, -- copy: +- name: Create the apparmor configuration for named + ansible.builtin.copy: dest: "/etc/apparmor.d/local/usr.sbin.named" content: | /tmp/dcenter_dhcp_config/named.conf r, @@ -54,7 +58,8 @@ # improve performance we reset the value to 64 which mimics what # we use on the delphix engine. # -- lineinfile: +- name: Update the number of nfs threads + ansible.builtin.lineinfile: path: /etc/default/nfs-kernel-server regexp: "{{ item.regexp }}" line: "{{ item.line }}" @@ -62,7 +67,8 @@ - { regexp: '^RPCNFSDCOUNT=', line: 'RPCNFSDCOUNT=64' } - { regexp: '^RPCMOUNTDOPTS=', line: 'RPCMOUNTDOPTS="--num-threads=5 --manage-gids"' } -- command: systemctl mask named.service isc-dhcp-server.service isc-dhcp-server6.service +- name: Mask named and dhcp services + ansible.builtin.command: systemctl mask named.service isc-dhcp-server.service isc-dhcp-server6.service # # delphix-platform installs ntp in a disabled state by default. @@ -76,4 +82,5 @@ # We also have cleanup jobs that run on DCenter hosts that rely on filesystem # timestamps being accurate. # -- command: systemctl enable ntp.service +- name: Enable NTP systemd service + ansible.builtin.command: systemctl enable ntp.service diff --git a/live-build/misc/ansible-roles/appliance-build.dct-common/tasks/main.yml b/live-build/misc/ansible-roles/appliance-build.dct-common/tasks/main.yml index d9d3ddfc..cb46efb8 100644 --- a/live-build/misc/ansible-roles/appliance-build.dct-common/tasks/main.yml +++ b/live-build/misc/ansible-roles/appliance-build.dct-common/tasks/main.yml @@ -15,6 +15,7 @@ # --- -- apt: +- name: Install delphix-dct package + ansible.builtin.apt: name: delphix-dct state: present