102 lines
2.7 KiB
YAML
102 lines
2.7 KiB
YAML
---
|
|
- name: PVE Web Interface Fix
|
|
hosts: pve
|
|
gather_facts: yes
|
|
tasks:
|
|
- name: Check PVE web service status
|
|
systemd:
|
|
name: pveproxy
|
|
state: started
|
|
register: pveproxy_status
|
|
|
|
- name: Display PVE proxy status
|
|
debug:
|
|
msg: "PVE Proxy Status: {{ pveproxy_status.status.ActiveState }}"
|
|
|
|
- name: Check if port 8006 is listening
|
|
wait_for:
|
|
port: 8006
|
|
host: "{{ ansible_default_ipv4.address }}"
|
|
timeout: 5
|
|
register: port_check
|
|
ignore_errors: yes
|
|
|
|
- name: Display port status
|
|
debug:
|
|
msg: "Port 8006: {{ 'OPEN' if port_check.rc == 0 else 'CLOSED' }}"
|
|
|
|
- name: Restart PVE proxy service
|
|
systemd:
|
|
name: pveproxy
|
|
state: restarted
|
|
register: restart_result
|
|
|
|
- name: Display restart result
|
|
debug:
|
|
msg: "PVE Proxy restarted: {{ restart_result.changed }}"
|
|
|
|
- name: Wait for service to be ready
|
|
wait_for:
|
|
port: 8006
|
|
host: "{{ ansible_default_ipv4.address }}"
|
|
timeout: 30
|
|
|
|
- name: Test local web access
|
|
uri:
|
|
url: "https://localhost:8006"
|
|
method: GET
|
|
validate_certs: no
|
|
timeout: 10
|
|
register: local_test
|
|
ignore_errors: yes
|
|
|
|
- name: Display local test result
|
|
debug:
|
|
msg: "Local web access: {{ 'SUCCESS' if local_test.status == 200 else 'FAILED' }}"
|
|
|
|
- name: Test external web access
|
|
uri:
|
|
url: "https://{{ ansible_default_ipv4.address }}:8006"
|
|
method: GET
|
|
validate_certs: no
|
|
timeout: 10
|
|
register: external_test
|
|
ignore_errors: yes
|
|
|
|
- name: Display external test result
|
|
debug:
|
|
msg: "External web access: {{ 'SUCCESS' if external_test.status == 200 else 'FAILED' }}"
|
|
|
|
- name: Test Tailscale web access
|
|
uri:
|
|
url: "https://{{ inventory_hostname }}:8006"
|
|
method: GET
|
|
validate_certs: no
|
|
timeout: 10
|
|
register: tailscale_test
|
|
ignore_errors: yes
|
|
|
|
- name: Display Tailscale test result
|
|
debug:
|
|
msg: "Tailscale web access: {{ 'SUCCESS' if tailscale_test.status == 200 else 'FAILED' }}"
|
|
|
|
- name: Check PVE logs for errors
|
|
command: journalctl -u pveproxy -n 10 --no-pager
|
|
register: pve_logs
|
|
ignore_errors: yes
|
|
|
|
- name: Display PVE logs
|
|
debug:
|
|
msg: "{{ pve_logs.stdout_lines }}"
|
|
when: pve_logs.rc == 0
|
|
|
|
- name: Check system logs for network errors
|
|
command: journalctl -n 20 --no-pager | grep -i "route\|network\|connection\|error"
|
|
register: system_logs
|
|
ignore_errors: yes
|
|
|
|
- name: Display system logs
|
|
debug:
|
|
msg: "{{ system_logs.stdout_lines }}"
|
|
when: system_logs.rc == 0
|