diff --git a/routes/edit_routes.py b/routes/edit_routes.py index c894350..4499214 100644 --- a/routes/edit_routes.py +++ b/routes/edit_routes.py @@ -43,7 +43,7 @@ def edit_haproxy_config(): # Method 1: Supervisor with sudo (Docker) try: - supervisor_result = subprocess.run(['sudo', 'supervisorctl', 'restart', 'haproxy'], capture_output=True, text=True, timeout=10) + supervisor_result = subprocess.run(['pkill', '-f', 'haproxy'], capture_output=True, text=True, timeout=10) if supervisor_result.returncode == 0: reload_output = f"\n\n✓ HAProxy Restarted via Supervisor:\n{supervisor_result.stdout}" reload_success = True @@ -51,49 +51,6 @@ def edit_haproxy_config(): except Exception as e: print(f"[HAPROXY] Supervisor restart failed: {e}", flush=True) - # Method 2: Direct supervisorctl without sudo (Docker) - if not reload_success: - try: - supervisor_result = subprocess.run(['supervisorctl', 'restart', 'haproxy'], capture_output=True, text=True, timeout=10) - if supervisor_result.returncode == 0: - reload_output = f"\n\n✓ HAProxy Restarted via Supervisor:\n{supervisor_result.stdout}" - reload_success = True - print(f"[HAPROXY] Supervisor restart successful", flush=True) - else: - print(f"[HAPROXY] Supervisor failed: {supervisor_result.stderr}", flush=True) - except Exception as e: - print(f"[HAPROXY] Supervisor failed: {e}", flush=True) - - # Method 3: Systemctl with sudo (Linux) - if not reload_success: - try: - systemctl_result = subprocess.run(['sudo', 'systemctl', 'restart', 'haproxy'], capture_output=True, text=True, timeout=10) - if systemctl_result.returncode == 0: - reload_output = f"\n\n✓ HAProxy Restarted via Systemctl:\n{systemctl_result.stdout}" - reload_success = True - print(f"[HAPROXY] Systemctl restart successful", flush=True) - else: - print(f"[HAPROXY] Systemctl failed: {systemctl_result.stderr}", flush=True) - except Exception as e: - print(f"[HAPROXY] Systemctl failed: {e}", flush=True) - - # Method 4: Direct systemctl without sudo (Linux) - if not reload_success: - try: - systemctl_result = subprocess.run(['systemctl', 'restart', 'haproxy'], capture_output=True, text=True, timeout=10) - if systemctl_result.returncode == 0: - reload_output = f"\n\n✓ HAProxy Restarted via Systemctl:\n{systemctl_result.stdout}" - reload_success = True - print(f"[HAPROXY] Systemctl restart successful", flush=True) - else: - print(f"[HAPROXY] Systemctl failed: {systemctl_result.stderr}", flush=True) - except Exception as e: - print(f"[HAPROXY] Systemctl failed: {e}", flush=True) - - if reload_success: - check_output += reload_output - else: - check_output += f"\n\n⚠ Warning: Could not restart HAProxy.\nConfig is valid but reload failed.\n\nTroubleshooting:\n1. Check if supervisord/systemd is running\n2. Verify haproxy program is defined in supervisor\n3. Check Docker logs: docker-compose logs\n4. Manual restart: docker-compose exec supervisorctl restart haproxy" return render_template('edit.html', config_content=edited_config, check_output=check_output)