From c6b2085938ba77c7d86a2db50c4d103c4aa7d2b3 Mon Sep 17 00:00:00 2001 From: Aidaho Date: Sat, 18 May 2024 10:16:27 +0300 Subject: [PATCH] v7.2.5.0: Refactor WAF installation process for better error handling The code for the WAF installation process has been refactored to improve error handling. The `service_mod.generate_waf_inv` function is now called with `service` instead of hardcoded service names, and error messages are now more descriptive. Additionally, the Ansible role file for WAF has been renamed from `waf.yml` to `waf_haproxy.yml` to better represent its role. --- app/routes/install/routes.py | 19 +++++++++---------- .../roles/{waf.yml => waf_haproxy.yml} | 0 2 files changed, 9 insertions(+), 10 deletions(-) rename app/scripts/ansible/roles/{waf.yml => waf_haproxy.yml} (100%) diff --git a/app/routes/install/routes.py b/app/routes/install/routes.py index 10127947..3e3d3f25 100644 --- a/app/routes/install/routes.py +++ b/app/routes/install/routes.py @@ -87,23 +87,22 @@ def install_grafana(): def install_waf(service, server_ip): server_ip = common.is_ip_or_dns(server_ip) + try: + inv, server_ips = service_mod.generate_waf_inv(server_ip, service) + except Exception as e: + return f'error: Cannot create inventory: {e}' + try: + ansible_status = service_mod.run_ansible(inv, server_ips, f'waf_service'), 201 + except Exception as e: + return f'error: Cannot install WAF: {e}' + if service == 'haproxy': - try: - inv, server_ips = service_mod.generate_waf_inv(server_ip, 'waf') - ansible_status = service_mod.run_ansible(inv, server_ips, 'waf'), 201 - except Exception as e: - return str(e) try: waf_sql.insert_waf_metrics_enable(server_ip, "0") waf_sql.insert_waf_rules(server_ip) except Exception as e: return str(e) elif service == 'nginx': - try: - inv, server_ips = service_mod.generate_waf_inv(server_ip, 'waf_nginx') - ansible_status = service_mod.run_ansible(inv, server_ips, 'waf_nginx'), 201 - except Exception as e: - return str(e) try: waf_sql.insert_nginx_waf_rules(server_ip) waf_sql.insert_waf_nginx_server(server_ip) diff --git a/app/scripts/ansible/roles/waf.yml b/app/scripts/ansible/roles/waf_haproxy.yml similarity index 100% rename from app/scripts/ansible/roles/waf.yml rename to app/scripts/ansible/roles/waf_haproxy.yml