2.4 HA cluster broken
-
Hello,
I'm trying to test the configuration of the HA cluster.
After HA configuration on master and backup server, the configuration settings (VIP, rules etc) to the backup server is not synchronized. State table transfer good.
Run on master /etc/rc.filter_synchronize
Log on masterTime Process PID Message Nov 2 09:23:14 php-cgi rc.filter_synchronize: XMLRPC reload data success with http://192.168.201.2:80/xmlrpc.php (pfsense.filter_configure). Nov 2 09:23:11 php-cgi rc.filter_synchronize: Beginning XMLRPC sync data to http://192.168.201.2:80/xmlrpc.php. Nov 2 09:23:11 php-cgi rc.filter_synchronize: XMLRPC reload data success with http://192.168.201.2:80/xmlrpc.php (pfsense.restore_config_section). Nov 2 09:23:11 php-cgi rc.filter_synchronize: Beginning XMLRPC sync data to http://192.168.201.2:80/xmlrpc.php. Nov 2 09:23:11 php-cgi rc.filter_synchronize: XMLRPC versioncheck:15.6 -- 15.6 Nov 2 09:23:11 php-cgi rc.filter_synchronize: XMLRPC reload data success with http://192.168.201.2:80/xmlrpc.php (pfsense.host_firmware_version). Nov 2 09:23:10 php-cgi rc.filter_synchronize: Beginning XMLRPC sync data to http://192.168.201.2:80/xmlrpc.php.
Log on backup
Nov 2 09:23:11 php-fpm 71579 /xmlrpc.php: Disallowing CARP sync loop
-
Made sure that on the backup machine the XMLRPC sync ip is left empty?
-
Yes, xmlrpc settings is empty on backup of course.
From my point of view maybe something is wrong in the logic at xmlrpc.php after commit
https://github.com/pfsense/pfsense/commit/f81e7cc404bc3ede065c8c6315fdb5d26b2cfc5bpublic function __construct() { global $config; $this->remote_addr = $_SERVER['REMOTE_ADDR']; /* grab sync to ip if enabled */ if (isset($config['hasync']['synchronizetoip']) && $config['hasync']['synchronizetoip'] == $remote_addr) { $this->loop_detected = true; } }
If i change this part to "force false" on a backup server xmlrpc sync work as expected
-
Ah good find, broken indeed..
It sets "$this->remote_addr" but reads "$remote_addr" which would be empty.. Not exactly sure why the 'empty==empty' check allowed me to properly sync before though.. After setting the syncip on the backup and removing it again it now complains like you report.. Fix send: https://github.com/pfsense/pfsense/pull/3215
-
Thanks, i understood and i can check this on monday.
Ok, checked. Loop detection fixed. Wait until the PR will be commit.
-
I tested and merged the PR, next snaps should have it.