83 lines
2.1 KiB
YAML
83 lines
2.1 KiB
YAML
---
|
|
- name: Fix master node - rename to ch4 and restore SSH port 22
|
|
hosts: master
|
|
become: yes
|
|
vars:
|
|
new_hostname: ch4
|
|
old_hostname: master
|
|
|
|
tasks:
|
|
- name: Backup current hostname
|
|
copy:
|
|
content: "{{ old_hostname }}"
|
|
dest: /etc/hostname.backup
|
|
mode: '0644'
|
|
when: ansible_hostname == old_hostname
|
|
|
|
- name: Update hostname to ch4
|
|
hostname:
|
|
name: "{{ new_hostname }}"
|
|
when: ansible_hostname == old_hostname
|
|
|
|
- name: Update /etc/hostname file
|
|
copy:
|
|
content: "{{ new_hostname }}"
|
|
dest: /etc/hostname
|
|
mode: '0644'
|
|
when: ansible_hostname == old_hostname
|
|
|
|
- name: Update /etc/hosts file
|
|
lineinfile:
|
|
path: /etc/hosts
|
|
regexp: '^127\.0\.1\.1.*{{ old_hostname }}'
|
|
line: '127.0.1.1 {{ new_hostname }}'
|
|
state: present
|
|
when: ansible_hostname == old_hostname
|
|
|
|
- name: Update Tailscale hostname
|
|
shell: |
|
|
tailscale set --hostname={{ new_hostname }}
|
|
when: ansible_hostname == old_hostname
|
|
|
|
- name: Backup SSH config
|
|
copy:
|
|
src: /etc/ssh/sshd_config
|
|
dest: /etc/ssh/sshd_config.backup
|
|
remote_src: yes
|
|
backup: yes
|
|
|
|
- name: Restore SSH port to 22
|
|
lineinfile:
|
|
path: /etc/ssh/sshd_config
|
|
regexp: '^Port '
|
|
line: 'Port 22'
|
|
state: present
|
|
|
|
- name: Restart SSH service
|
|
systemd:
|
|
name: ssh
|
|
state: restarted
|
|
enabled: yes
|
|
|
|
- name: Wait for SSH to be ready on port 22
|
|
wait_for:
|
|
port: 22
|
|
host: "{{ ansible_default_ipv4.address }}"
|
|
delay: 5
|
|
timeout: 30
|
|
|
|
- name: Test SSH connection on port 22
|
|
ping:
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
vars:
|
|
ansible_port: 22
|
|
|
|
- name: Display completion message
|
|
debug:
|
|
msg: |
|
|
✅ Successfully renamed {{ old_hostname }} to {{ new_hostname }}
|
|
✅ SSH port restored to 22
|
|
✅ Tailscale hostname updated
|
|
🔄 Please update your inventory file to use the new hostname and port
|
|
|