Can't sync voucher database when carp peer is also active
When I try to sync the voucher database from the slave to the master I get a "Disallowing CARP sync loop" message on the master node.
That same slave is also part of a carp cluster. When I remove the slave ip from the "Synchronize config to IP" textbox on the master the voucher database works just fine but I can't have them both on. (Or voucher database in sync or config in sync)
Fixes #1928. Disallow sync loop only for certain types of calls but not for exec_[php|shell]. Also fix CARP loop detection to use correct variable
#2 Updated by Ermal Luçi over 8 years ago
It is not meant to work that way!
The voucher sync will sync with the master or use it as its central database.
It can work independently if it cannot reach the master though the only issue i see is not advertise some events when the master comes back up.
The question on this is how long you should queue these events?
#3 Updated by Sander Naudts over 8 years ago
I deleted the CARP sync so that the voucher database keeps syncing fine but when the master goes down I still can't get the vouchers to work on the slave.
If I use an expired voucher it gives me the correct message that the voucher is no longer valid and is expired. However when I try an unused voucher it first gives me a communications error while attempting CaptivePortalVoucherSync XMLRPC (correct, because master is down), but then gives me a FAILURE message in the Portal Auth log and the voucher cannot be used.
Do I have to configure something special for it to work independently if it cannot reach the master? I can't find any documentation about this.
#4 Updated by Jim Pingle almost 8 years ago
- Target version set to 2.1
This is definitely an issue still.
If you are in a carp setup, setting the voucher sync on the slave as directed in the notes will be denied, as the xmlrpc code will disallow what it believes to be a loop.
Perhaps the exec_php method needs to be excluded from the loop check.