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
Breuer Nicolas wrote:
LIVE SYSTEM = SQLIPPOOL
When database was down it works but when radius received a 1017 error, it doesn't go to the second module.
Yes, this was discussed before. The code hasn't changed since last time, so the answer hasn't changed, either. Alan DeKok.
participants (2)
-
Alan DeKok -
Breuer Nicolas