Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- - name: Common tasks
- hosts: all
- become: yes
- gather_facts: false
- pre_tasks:
- - name: Wait for hosts
- local_action:
- module: wait_for
- host: "{{ ansible_host }}"
- state: started
- port: 22
- timeout: 60
- become: no
- - name: Back up sources.list
- command: cp /etc/apt/sources.list /etc/apt/sources.list.save
- register: copy_sources
- args:
- creates: /etc/apt/sources.list.save
- - debug:
- var: copy_sources
- - name: Update Ubuntu mirror
- replace:
- dest: /etc/apt/sources.list
- regexp: '^(.*)us.archive.ubuntu.com(.*)$'
- replace: '\1ubuntu.osuosl.org\2'
- when: copy_sources.changed
- - name: Remove machine-id
- file:
- path: "{{ item }}"
- state: absent
- with_items:
- - /etc/machine-id
- - /var/lib/dbus/machine-id
- - name: Re-create machine-id
- command: systemd-machine-id-setup
- register: machine_id
- - debug:
- var: machine_id
- - name: Set reboot-required
- copy:
- dest: /var/run/reboot-required
- content: ''
- when: machine_id.changed
- - name: Check if reboot necessary
- stat:
- path: /var/run/reboot-required
- register: reboot_required
- - debug:
- var: reboot_required
- - name: Reboot server
- shell: sleep 5 && /sbin/shutdown -r now "Ansible triggered reboot"
- async: 1
- poll: 0
- ignore_errors: yes
- register: rebooted
- when: reboot_required.stat.exists
- - debug:
- var: rebooted
- - name: Wait for server
- local_action:
- module: wait_for
- args:
- host: "{{ inventory_hostname }}"
- state: started
- port: 22
- delay: 20
- timeout: 300
- become: no
- when: rebooted is defined and rebooted.skipped is not defined
- roles:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement