177 lines
5.8 KiB
YAML
177 lines
5.8 KiB
YAML
---
|
|
- name: Complete User Verification Test for 595 Error
|
|
hosts: pve_cluster
|
|
gather_facts: yes
|
|
tasks:
|
|
- name: Test web access from xgp to pve
|
|
uri:
|
|
url: "https://pve:8006"
|
|
method: GET
|
|
validate_certs: no
|
|
timeout: 10
|
|
register: xgp_to_pve_test
|
|
ignore_errors: yes
|
|
when: inventory_hostname == 'xgp'
|
|
|
|
- name: Display xgp to pve test result
|
|
debug:
|
|
msg: "xgp -> pve web access: {{ 'SUCCESS' if xgp_to_pve_test.status == 200 else 'FAILED' }} (Status: {{ xgp_to_pve_test.status | default('N/A') }})"
|
|
when: inventory_hostname == 'xgp'
|
|
|
|
- name: Test web access from nuc12 to pve
|
|
uri:
|
|
url: "https://pve:8006"
|
|
method: GET
|
|
validate_certs: no
|
|
timeout: 10
|
|
register: nuc12_to_pve_test
|
|
ignore_errors: yes
|
|
when: inventory_hostname == 'nuc12'
|
|
|
|
- name: Display nuc12 to pve test result
|
|
debug:
|
|
msg: "nuc12 -> pve web access: {{ 'SUCCESS' if nuc12_to_pve_test.status == 200 else 'FAILED' }} (Status: {{ nuc12_to_pve_test.status | default('N/A') }})"
|
|
when: inventory_hostname == 'nuc12'
|
|
|
|
- name: Test local web access on pve
|
|
uri:
|
|
url: "https://localhost:8006"
|
|
method: GET
|
|
validate_certs: no
|
|
timeout: 10
|
|
register: pve_local_test
|
|
ignore_errors: yes
|
|
when: inventory_hostname == 'pve'
|
|
|
|
- name: Display pve local test result
|
|
debug:
|
|
msg: "pve local web access: {{ 'SUCCESS' if pve_local_test.status == 200 else 'FAILED' }} (Status: {{ pve_local_test.status | default('N/A') }})"
|
|
when: inventory_hostname == 'pve'
|
|
|
|
- name: Check PVE cluster status
|
|
shell: |
|
|
echo "=== PVE Cluster Status ==="
|
|
pvecm status
|
|
echo "=== PVE Cluster Nodes ==="
|
|
pvecm nodes
|
|
echo "=== PVE Cluster Quorum ==="
|
|
pvecm quorum status
|
|
register: cluster_status
|
|
ignore_errors: yes
|
|
|
|
- name: Display cluster status
|
|
debug:
|
|
msg: "{{ cluster_status.stdout_lines }}"
|
|
|
|
- name: Check PVE services status
|
|
shell: |
|
|
echo "=== PVE Services Status ==="
|
|
systemctl is-active pve-cluster pveproxy pvedaemon pvestatd
|
|
echo "=== PVE Proxy Status ==="
|
|
systemctl status pveproxy --no-pager -l
|
|
register: pve_services_status
|
|
|
|
- name: Display PVE services status
|
|
debug:
|
|
msg: "{{ pve_services_status.stdout_lines }}"
|
|
|
|
- name: Check recent error logs
|
|
shell: |
|
|
echo "=== Recent Error Logs ==="
|
|
journalctl -n 50 --no-pager | grep -i "error\|fail\|refuse\|deny\|timeout\|595"
|
|
echo "=== PVE Proxy Error Logs ==="
|
|
journalctl -u pveproxy -n 20 --no-pager | grep -i "error\|fail\|refuse\|deny"
|
|
echo "=== PVE Status Daemon Error Logs ==="
|
|
journalctl -u pvestatd -n 20 --no-pager | grep -i "error\|fail\|refuse\|deny"
|
|
register: error_logs
|
|
ignore_errors: yes
|
|
|
|
- name: Display error logs
|
|
debug:
|
|
msg: "{{ error_logs.stdout_lines }}"
|
|
|
|
- name: Test InfluxDB connection
|
|
shell: |
|
|
echo "=== Testing InfluxDB Connection ==="
|
|
nc -zv 192.168.31.3 8086
|
|
echo "=== Testing InfluxDB HTTP ==="
|
|
curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" http://192.168.31.3:8086/ping
|
|
register: influxdb_test
|
|
ignore_errors: yes
|
|
|
|
- name: Display InfluxDB test results
|
|
debug:
|
|
msg: "{{ influxdb_test.stdout_lines }}"
|
|
|
|
- name: Check network connectivity between nodes
|
|
shell: |
|
|
echo "=== Network Connectivity Test ==="
|
|
for node in nuc12 xgp pve; do
|
|
if [ "$node" != "{{ inventory_hostname }}" ]; then
|
|
echo "Testing connectivity to $node:"
|
|
ping -c 2 $node
|
|
nc -zv $node 8006
|
|
fi
|
|
done
|
|
register: network_connectivity
|
|
|
|
- name: Display network connectivity results
|
|
debug:
|
|
msg: "{{ network_connectivity.stdout_lines }}"
|
|
|
|
- name: Check PVE proxy port binding
|
|
shell: |
|
|
echo "=== PVE Proxy Port Binding ==="
|
|
ss -tlnp | grep 8006
|
|
echo "=== PVE Proxy Process ==="
|
|
ps aux | grep pveproxy | grep -v grep
|
|
register: pve_proxy_binding
|
|
|
|
- name: Display PVE proxy binding
|
|
debug:
|
|
msg: "{{ pve_proxy_binding.stdout_lines }}"
|
|
|
|
- name: Test PVE API access
|
|
uri:
|
|
url: "https://localhost:8006/api2/json/version"
|
|
method: GET
|
|
validate_certs: no
|
|
timeout: 10
|
|
register: pve_api_test
|
|
ignore_errors: yes
|
|
|
|
- name: Display PVE API test result
|
|
debug:
|
|
msg: "PVE API access: {{ 'SUCCESS' if pve_api_test.status == 200 else 'FAILED' }} (Status: {{ pve_api_test.status | default('N/A') }})"
|
|
|
|
- name: Check system resources
|
|
shell: |
|
|
echo "=== System Resources ==="
|
|
free -h
|
|
echo "=== Load Average ==="
|
|
uptime
|
|
echo "=== Disk Usage ==="
|
|
df -h | head -5
|
|
register: system_resources
|
|
|
|
- name: Display system resources
|
|
debug:
|
|
msg: "{{ system_resources.stdout_lines }}"
|
|
|
|
- name: Final verification test
|
|
shell: |
|
|
echo "=== Final Verification Test ==="
|
|
echo "Testing web access with curl:"
|
|
curl -k -s -o /dev/null -w "HTTP Status: %{http_code}, Time: %{time_total}s\n" https://pve:8006
|
|
echo "Testing with different hostnames:"
|
|
curl -k -s -o /dev/null -w "pve.tailnet-68f9.ts.net: %{http_code}\n" https://pve.tailnet-68f9.ts.net:8006
|
|
curl -k -s -o /dev/null -w "100.71.59.40: %{http_code}\n" https://100.71.59.40:8006
|
|
curl -k -s -o /dev/null -w "192.168.31.4: %{http_code}\n" https://192.168.31.4:8006
|
|
register: final_verification
|
|
when: inventory_hostname != 'pve'
|
|
|
|
- name: Display final verification results
|
|
debug:
|
|
msg: "{{ final_verification.stdout_lines }}"
|
|
when: inventory_hostname != 'pve'
|