Compare commits

..

5 Commits

Author SHA1 Message Date
98758f4fa7 add: proxmox_vmid in the inventory 2026-06-21 20:05:12 +00:00
e4771be50c add: pause after VM move 2026-06-19 09:46:37 +02:00
130db47180 add: OPNsense inventory 2026-06-18 18:45:45 +00:00
8284a5fb66 add: .bruno folder to gitignore 2026-06-17 07:38:16 +00:00
0b7af06fb3 add: gateway change 2026-06-17 07:37:59 +00:00
4 changed files with 42 additions and 1 deletions

2
.gitignore vendored
View File

@@ -2,3 +2,5 @@
**/.terraform* **/.terraform*
*.tfstate* *.tfstate*
*credentials.auto.tfvars *credentials.auto.tfvars
# Bruno
.bruno

View File

@@ -0,0 +1,20 @@
---
all:
children:
opnsense:
vars:
ansible_connection: local
children:
opnsense_backup:
hosts:
cerbere-head2:
ansible_host: 192.168.88.3
main_role: BACKUP
hypervisor: TrueNAS
opnsense_master:
hosts:
cerbere-head1:
ansible_host: 192.168.88.2
main_role: MASTER
hypervisor: Proxmox
proxmox_vmid: 122

View File

@@ -94,6 +94,10 @@
retries: 60 retries: 60
delay: 15 delay: 15
- name: Pause 15s
ansible.builtin.pause:
seconds: 15
- name: Update packages - name: Update packages
ansible.builtin.apt: ansible.builtin.apt:
upgrade: full upgrade: full

View File

@@ -38,6 +38,9 @@ if ($vhid !== $primary_vhid) {
// Interface key to manage // Interface key to manage
$ifkey = 'wan'; $ifkey = 'wan';
$real_if = get_real_interface('wan');
// Fallback gateway name
$gw_name = 'LAN_GW';
// Determine whether WAN interface is currently enabled // Determine whether WAN interface is currently enabled
$ifkey_enabled = !empty($config['interfaces'][$ifkey]['enable']) ? true : false; $ifkey_enabled = !empty($config['interfaces'][$ifkey]['enable']) ? true : false;
// Lock file to prevent interface flapping // Lock file to prevent interface flapping
@@ -80,6 +83,18 @@ if ($type === "MASTER") {
unset($config['interfaces'][$ifkey]['enable']); unset($config['interfaces'][$ifkey]['enable']);
write_config("disable interface '$ifkey' due CARP event '$type'", false); write_config("disable interface '$ifkey' due CARP event '$type'", false);
interface_configure(false, $ifkey, false, false); interface_configure(false, $ifkey, false, false);
// Remove WAN default gateway
mwexec("/sbin/route delete default");
foreach ($config['OPNsense']['Gateways']['gateway_item'] as $gw) {
if ($gw['name'] === $gw_name) {
$gw_ip = $gw['gateway'];
break;
}
}
// Shutdown WAN interface
mwexec("/sbin/ifconfig {$real_if} down")
// Add fallback default gateway
mwexec("/sbin/route add default {$gw_ip}");
// Create lock file // Create lock file
file_put_contents($lock_file, time()); file_put_contents($lock_file, time());
sleep($lock_default_age); sleep($lock_default_age);