Dear, Redundant config seems not working. Conf : LIVE-SYSTEM-01 { fail=1 } if (!ok) { LIVE-SYSTEM-02 }
LIVE SYSTEM = SQLIPPOOL
When database was down it works but when radius received a 1017 error, it doesn't go to the second module. I checked the same thing with the accounting (sql module) > OK. Receive an Alive packet so Start the SQLIPPOOL module (in our config - not very standart) ++? if (!ok) ? Evaluating !(ok) -> TRUE ++? if (!ok) -> FALSE rlm_sql (ACCOUNTING-01): Reserving sql socket id: 1 expand: %{User-Name} -> BCnico@XXX rlm_sql (ACCOUNTING-01): sql_set_user escaped user --> 'BCnico@XXX' expand: BEGIN -> BEGIN expand: %{User-Name} -> BCnico@XXX rlm_sql (ACCOUNTING-01): sql_set_user escaped user --> 'BCnico@XXX' expand: UPDATE radippool SET nas_ip_address = '%{NAS-IP-Address}', rb_path='%{Calling-Station-Id}', calling_station_id = '%{User-Name}', expiry_time = DATE_ADD(NOW(), INTERVAL 86400 SECOND) WHERE ip_address = '%{Framed-IP- Address}' -> UPDATE radippool SET nas_ip_address = '217.112.179.1', rb_path='*xxx*14/1*35*272', calling_station_id = 'BCnico@XXX', expiry_time = DATE_ADD(NOW(), INTERVAL 86400 SECOND) WHERE ip_address = '217.112.179.x'
ERROR RECEIVED rlm_sql_mysql: MYSQL check_error: 1017 received
sqlippool_command: database query error in: 'UPDATE radippool SET nas_ip_address = '217.112.179.1', rb_path='*vxx4/1*35*272', calling_station_id = 'BCnico@XXX', expiry_time = DATE_ADD(NOW(), INTERVAL 86400 SECOND) WHERE ip_address = '217.112.179.5'' expand: %{User-Name} -> BCnico@xxx rlm_sql (ACCOUNTING-01): sql_set_user escaped user --> 'BCnico@xxx' expand: COMMIT -> COMMIT rlm_sql (ACCOUNTING-01): Released sql socket id: 1 ++[LIVE-SYSTEM-01] returns ok Returns OK but >> sqlippool_command: database query error in For info : i paste the same scenario on the sql module (accounting) , who works : +- entering group accounting expand: %{User-Name} -> BCnico@XXX rlm_sql (ACCOUNTING-01): sql_set_user escaped user --> 'BCnico@XXX' expand: INSERT into radacct ................ rlm_sql (ACCOUNTING-01): Reserving sql socket id: 0 rlm_sql_mysql: MYSQL check_error: 1017 received
Alternate query: expand: UPDATE radacct SET AcctStartTime .....
rlm_sql_mysql: MYSQL check_error: 1017 received rlm_sql_mysql: MYSQL check_error: 1017 received rlm_sql_mysql: Cannot store result ++[ACCOUNTING-01] returns fail OK!!! > Go to Second database.. ++? if (!ok) ? Evaluating !(ok) -> FALSE ++? if (!ok) -> TRUE ++- entering if (!ok) expand: %{User-Name} -> BCnico@XX rlm_sql (ACCOUNTING-02): But .... On the SQLIPPOOL on the post auth section it works (same table) ... Hum , Strange rlm_sql_mysql: MYSQL check_error: 1017 received sqlippool_query1: database query error expand: %{User-Name} -> BCnico@XXX rlm_sql (ACCOUNTING-01): sql_set_user escaped user --> 'BCnico@XXX' expand: COMMIT -> COMMIT rlm_sql (ACCOUNTING-01): Released sql socket id: 2 rlm_sqlippool: IP address could not be allocated. expand: IP Allocation FAILED from XXX +++[LIVE-SYSTEM-01] returns noop
NOop so NOT OK , Go to the 2nd db :
+++? if (!ok) ? Evaluating !(ok) -> FALSE +++? if (!ok) -> TRUE +++- entering if (!ok) rlm_sql (ACCOUNTING-02): Reserving sql socket id: 2 etc... Allocated IP: 217.112.186.180 from ip_pooling (did cli port user BCnico@XXX) ++++[LIVE-SYSTEM-02] returns ok