48 lines
2.0 KiB
YAML
48 lines
2.0 KiB
YAML
---
|
|
# tasks file for linux_azure-arc
|
|
- name: Onboard Linux and Windows Servers to Azure Arc-enabled servers with public endpoint connectivity
|
|
hosts: all
|
|
# vars:
|
|
# azure:
|
|
# service_principal_id: 'INSERT-SERVICE-PRINCIPAL-CLIENT-ID'
|
|
# service_principal_secret: 'INSERT-SERVICE-PRINCIPAL-SECRET'
|
|
# resource_group: 'INSERT-RESOURCE-GROUP'
|
|
# tenant_id: 'INSERT-TENANT-ID'
|
|
# subscription_id: 'INSERT-SUBSCRIPTION-ID'
|
|
# location: 'INSERT-LOCATION'
|
|
tasks:
|
|
- name: Check if the Connected Machine Agent has already been downloaded on Linux servers
|
|
stat:
|
|
path: /usr/bin/azcmagent
|
|
get_attributes: False
|
|
get_checksum: False
|
|
register: azcmagent_lnx_downloaded
|
|
when: ansible_system == 'Linux'
|
|
|
|
- name: Download the Connected Machine Agent on Linux servers
|
|
become: yes
|
|
get_url:
|
|
url: https://aka.ms/azcmagent
|
|
dest: ~/install_linux_azcmagent.sh
|
|
mode: '700'
|
|
when: (ansible_system == 'Linux') and (azcmagent_lnx_downloaded.stat.exists == false)
|
|
|
|
- name: Install the Connected Machine Agent on Linux servers
|
|
become: yes
|
|
shell: bash ~/install_linux_azcmagent.sh
|
|
when: (ansible_system == 'Linux') and (not azcmagent_lnx_downloaded.stat.exists)
|
|
|
|
- name: Check if the Connected Machine Agent has already been connected
|
|
become: true
|
|
command:
|
|
cmd: azcmagent check
|
|
register: azcmagent_lnx_connected
|
|
ignore_errors: yes
|
|
when: ansible_system == 'Linux'
|
|
failed_when: (azcmagent_lnx_connected.rc not in [ 0, 16 ])
|
|
changed_when: False
|
|
|
|
- name: Connect the Connected Machine Agent on Linux servers to Azure Arc
|
|
become: yes
|
|
shell: azcmagent connect --service-principal-id "{{ azure.service_principal_id }}" --service-principal-secret "{{ azure.service_principal_secret }}" --resource-group "{{ azure.resource_group }}" --tenant-id "{{ azure.tenant_id }}" --location "{{ azure.location }}" --subscription-id "{{ azure.subscription_id }}"
|
|
when: (ansible_system == 'Linux') and (azcmagent_lnx_connected.rc is defined and azcmagent_lnx_connected.rc != 0) |