From c7418ad40f906667eb0db8f428e14cbf320d428d Mon Sep 17 00:00:00 2001 From: Maxim Vershinin Date: Tue, 15 Sep 2026 15:06:44 +0500 Subject: [PATCH] feat(pb): adds IP address validation for LXC and VM deployment --- playbooks/deploy_and_set_up_lxc_on_proxmox.yaml | 8 ++++++++ playbooks/deploy_vm_from_cloud_init.yaml | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/playbooks/deploy_and_set_up_lxc_on_proxmox.yaml b/playbooks/deploy_and_set_up_lxc_on_proxmox.yaml index dae20f5..4216f21 100644 --- a/playbooks/deploy_and_set_up_lxc_on_proxmox.yaml +++ b/playbooks/deploy_and_set_up_lxc_on_proxmox.yaml @@ -42,6 +42,14 @@ when: not lxc_hostname is regex('^[a-zA-Z0-9-]+$') run_once: true + - name: Validate IP address + ansible.builtin.fail: + msg: | + Invalid IP address: "{{ lxc_ip_address }}" + IP address must be in x.x.x.x/x format (e.g., 192.168.0.90/24). + when: not lxc_ip_address is regex('^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)(\\/(3[0-2]|[12]?\\d))?$') + run_once: true + roles: - ../roles/deploy_lxc_on_proxmox diff --git a/playbooks/deploy_vm_from_cloud_init.yaml b/playbooks/deploy_vm_from_cloud_init.yaml index 8322117..1449859 100644 --- a/playbooks/deploy_vm_from_cloud_init.yaml +++ b/playbooks/deploy_vm_from_cloud_init.yaml @@ -40,6 +40,14 @@ when: not vm_hostname is regex('^[a-zA-Z0-9-]+$') run_once: true + - name: Validate IP address + ansible.builtin.fail: + msg: | + Invalid IP address: "{{ vm_ip_address }}" + IP address must be in x.x.x.x/x format (e.g., 192.168.0.89/24). + when: not vm_ip_address is regex('^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)(\\/(3[0-2]|[12]?\\d))?$') + run_once: true + - name: Validate OS template ansible.builtin.fail: msg: | -- 2.52.0