deploy/ansible/roles-misc/0.9-sap-on-azure-quality-checks/tasks/setup.yaml (72 lines of code) (raw):

# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # /*---------------------------------------------------------------------------8 # | | # | Setup quality check prerequisites | # | | # +------------------------------------4--------------------------------------*/ --- - name: "SAP on Azure quality checks: - setup directories" become: true become_user: root ansible.builtin.file: path: "{{ item.path }}" state: directory mode: 0755 owner: "{{ item.owner }}" loop: - { path: "/opt/microsoft/powershell/v{{ powershell_version }}", owner: "root" } - { path: "/opt/microsoft/quality_check", owner: "{{ orchestration_ansible_user }}" } - { path: "{{ _workspace_directory }}/quality_assurance", owner: "{{ orchestration_ansible_user }}" } - name: "SAP on Azure quality checks: - extract PowerShell binary" become: true become_user: root ansible.builtin.unarchive: src: "https://github.com/PowerShell/PowerShell/releases/download/v{{ powershell_version }}/powershell-{{ powershell_version }}-linux-x64.tar.gz" dest: "/opt/microsoft/powershell/v{{ powershell_version }}" creates: "/opt/microsoft/powershell/v{{ powershell_version }}/pwsh" remote_src: true - name: "SAP on Azure quality checks: - create PowerShell symbolic link" become: true become_user: root ansible.builtin.file: src: "/opt/microsoft/powershell/v{{ powershell_version }}/pwsh" dest: "/usr/local/bin/pwsh" state: link mode: 0755 - name: "SAP on Azure quality checks: - fetch quality check config" become: true become_user: root ansible.builtin.get_url: url: "{{ azure_utility_repo }}/main/QualityCheck/QualityCheck.json" dest: "/opt/microsoft/quality_check/QualityCheck.json" owner: "{{ orchestration_ansible_user }}" mode: 0755 timeout: 30 register: qc_json_result until: qc_json_result is succeeded or not qc_json_result.changed retries: 2 delay: 5 - name: "SAP on Azure quality checks: - fetch quality check script" become: true become_user: root ansible.builtin.get_url: url: "{{ azure_utility_repo }}/main/QualityCheck/QualityCheck.ps1" dest: "/opt/microsoft/quality_check/QualityCheck.ps1" owner: "{{ orchestration_ansible_user }}" mode: 0755 timeout: 30 register: qc_ps_result until: qc_ps_result is succeeded or not qc_ps_result.changed retries: 2 delay: 5 - name: "SAP on Azure quality checks: - run PowerShell setup" become: true become_user: root ansible.builtin.shell: >- Update-AzConfig -EnableLoginByWam $false $modules = @("Az", "Az.NetAppFiles", "Posh-SSH") foreach ($module in $modules) { if (-not (Get-Module -ListAvailable -Name $module)) { Install-Module $module -Force -Scope AllUsers -Confirm:$false } } register: qc_modules_result failed_when: qc_modules_result.rc != 0 args: chdir: "/opt/microsoft/quality_check" executable: "/usr/local/bin/pwsh" ...