Forum Discussion

jkstraw_44238's avatar
jkstraw_44238
Icon for Nimbostratus rankNimbostratus
Jul 31, 2007

iRule causing sync problems

We are having issues with the following iRule:


when HTTP_REQUEST {  
set http_request_time [clock clicks -milliseconds]
set request_log_line "\
HTTP::request_num],\
 [IP::remote_addr],\
 [HTTP::method],\
 [HTTP::version],\
 [HTTP::host],\
 \"[HTTP::uri]\",\
 \"[HTTP::header value Referer]\",
 \"[HTTP::header User-Agent]\",\
 \"[HTTP::cookie value JSESSIONID]\",\
 [SSL::cipher name],\
 [SSL::cipher version],\
 [SSL::cipher bits] "
switch -glob [string tolower [HTTP::uri]] {    
        "/qa_test1*" -
        "/qa_test2*" {
        use pool JB_Standalone
        }
"/qa28*" - 
"/qa29*" - 
"/qa30*" - 
"/qa31*" - 
"/qa32*" - 
"/qa33*" - 
"/qa34*" - 
"/qa35*" - 
"/qa36*" - 
"/qa37*" - 
"/qa38*" - 
"/qa39*" - 
"/qa40*" - 
"/qa41*" - 
"/qa42*" - 
"/qa43*" - 
"/qa44*" - 
"/qa45*" - 
"/qa46*" - 
"/qa47*" - 
"/qa48*" - 
"/qa49*" - 
"/qa50*" - 
"/qa51*" - 
"/qa52*" - 
"/qa53*" - 
"/qa54*" - 
"/qa55*" - 
"/qa56*" - 
"/qa57*" - 
"/qa58*" - 
"/qa59*" - 
"/qa60*" - 
"/qa61*" - 
"/qa62*" - 
"/qa63*" - 
"/qa64*" - 
"/qa65*" - 
"/qa66*" - 
"/qa67*" - 
"/qa68*" - 
"/qa69*" - 
"/qa70*" - 
"/qa125*" -
"/qa126*" -
"/qa127*" -
"/qa128*" -
"/qa129*" {
use pool qa_test_2b_pool
}
"/qa23*" - 
"/qa24*" - 
"/qa25*" - 
"/qa26*" - 
"/qa27*" -  
"/qa71*" - 
"/qa72*" - 
"/qa73*" - 
"/qa74*" - 
"/qa75*" - 
"/qa76*" - 
"/qa77*" - 
"/qa78*" - 
"/qa79*" - 
"/qa80*" - 
"/qa81*" - 
"/qa82*" - 
"/qa83*" - 
"/qa84*" - 
"/qa85*" - 
"/qa86*" - 
"/qa87*" - 
"/qa88*" - 
"/qa89*" - 
"/qa91*" - 
"/qa92*" - 
"/qa93*" - 
"/qa94*" - 
"/qa95*" - 
"/qa96*" - 
"/qa97*" - 
"/qa98*" - 
"/qa99*" - 
"/qa100*" -
"/qa101*" -
"/qa102*" -
"/qa103*" -
"/qa104*" -
"/qa105*" -
"/qa106*" -
        "/qa107*" -
"/qa108*" -
"/qa109*" -
"/qa110*" -
"/qa111*" -
"/qa112*" -
"/qa113*" -
"/qa114*" -
"/qa115*" -
"/qa116*" -
"/qa117*" -
"/qa118*" -
"/qa119*" {
use pool qa_test_2b_pool_2
}
"/qa120*" -
"/qa121*" -
"/qa122*" -
"/qa123*" -
"/qa124*" -
"/qa5*" - 
"/qa19*" -
"/qa20*" -
"/qa21*" -
"/qa22*" {
use pool qa_test_2a_pool_2
}
"/qa130*" -
"/qa131*" -
"/qa132*" -
"/qa135*" -
"/qa136*" -
"/qa3*" -
"/qa4*" -
"/qa11*" -
"/qa12*" -
"/qa13*" {
use pool qa_test_2a_pool
}
/qa14* -
/qa15* -
/qa16* -
/qa17* -
/qa18* -
"/qa6*" -
"/qa7*" {
use pool qa_test_2b_pool
}
"/qa8*" -
"/qa9*" -
"/qa10*" {
use pool qa_test_2b_pool_2
}
"/qa1*" {      
use pool qa_test_1a_pool
}  
"/qa2*" {
use pool qa_test_1b_pool
}
"/*" {                
log local0. "Connect from IP [IP::remote_addr] with a uri of [HTTP::uri] and bounced to homepage."
}
}
}
when HTTP_RESPONSE {
set http_response_time [ clock clicks -milliseconds ]
log local0. "$request_log_line,\
[HTTP::status],\
 [HTTP::payload length],\
 [expr $http_response_time - $http_request_time],\
LB selected pool [LB::server pool] node [LB::server addr]"
}

We have this iRule associated with a Virtual Server and when we do a configSync the following error is reported:


Configsync Mode: Push
Transferring UCS to peer...
Installing UCS on peer...
Obtaining results of remote configuration installation...
Saving active configuration...
Current configuration backed up to /var/local/ucs/cs_backup.ucs.
Hostname of UCS file is bigip1.xxx.com, local hostname is bigip2.xxx.com
Installing shared configuration on host bigip2.xxx.com
Installing...
Reloading configuration... It may take a few minutes...
BIGpipe rule query error:
   012e0008:3: Unrecognized command: when HTTP_RESPONSE { set http_response_time
Reading configuration from /config/bigip_base.conf.
Reading configuration from /usr/bin/monitors/builtins/base_monitors.conf.
Reading configuration from /config/profile_base.conf.
Reading configuration from /config/daemon.conf.
Reading configuration from /config/bigip.conf.

Can anyone offer some insight as to why this may be happening?

Thanks in advance.
  • Problem solved - simple formatting issue....I don't know why...but here is what worked:

    
    when HTTP_REQUEST {  
    set http_request_time [clock clicks -milliseconds]
    set request_log_line "[HTTP::request_num] - [IP::remote_addr] - [HTTP::method] - [HTTP::version] - [HTTP::host] - \"[HTTP::uri]\" - \"[HTTP::header value Referer]\" - \"[HTTP::header User-Agent]\" - \"[HTTP::cookie value JSESSIONID]\" - [SSL::cipher name] - [SSL::cipher version] - [SSL::cipher bits]"
    switch -glob [string tolower [HTTP::uri]] {    
            "/qa_test1*" -
            "/qa_test2*" {
            use pool JB_Standalone
            }
    "/qa28*" - 
    "/qa29*" - 
    "/qa30*" - 
    "/qa31*" - 
    "/qa32*" - 
    "/qa33*" - 
    "/qa34*" - 
    "/qa35*" - 
    "/qa36*" - 
    "/qa37*" - 
    "/qa38*" - 
    "/qa39*" - 
    "/qa40*" - 
    "/qa41*" - 
    "/qa42*" - 
    "/qa43*" - 
    "/qa44*" - 
    "/qa45*" - 
    "/qa46*" - 
    "/qa47*" - 
    "/qa48*" - 
    "/qa49*" - 
    "/qa50*" - 
    "/qa51*" - 
    "/qa52*" - 
    "/qa53*" - 
    "/qa54*" - 
    "/qa55*" - 
    "/qa56*" - 
    "/qa57*" - 
    "/qa58*" - 
    "/qa59*" - 
    "/qa60*" - 
    "/qa61*" - 
    "/qa62*" - 
    "/qa63*" - 
    "/qa64*" - 
    "/qa65*" - 
    "/qa66*" - 
    "/qa67*" - 
    "/qa68*" - 
    "/qa69*" - 
    "/qa70*" - 
    "/qa125*" -
    "/qa126*" -
    "/qa127*" -
    "/qa128*" -
    "/qa129*" {
    use pool qa_test_2b_pool
    }
    "/qa23*" - 
    "/qa24*" - 
    "/qa25*" - 
    "/qa26*" - 
    "/qa27*" -  
    "/qa71*" - 
    "/qa72*" - 
    "/qa73*" - 
    "/qa74*" - 
    "/qa75*" - 
    "/qa76*" - 
    "/qa77*" - 
    "/qa78*" - 
    "/qa79*" - 
    "/qa80*" - 
    "/qa81*" - 
    "/qa82*" - 
    "/qa83*" - 
    "/qa84*" - 
    "/qa85*" - 
    "/qa86*" - 
    "/qa87*" - 
    "/qa88*" - 
    "/qa89*" - 
    "/qa91*" - 
    "/qa92*" - 
    "/qa93*" - 
    "/qa94*" - 
    "/qa95*" - 
    "/qa96*" - 
    "/qa97*" - 
    "/qa98*" - 
    "/qa99*" - 
    "/qa100*" -
    "/qa101*" -
    "/qa102*" -
    "/qa103*" -
    "/qa104*" -
    "/qa105*" -
    "/qa106*" -
        "/qa107*" -
    "/qa108*" -
    "/qa109*" -
    "/qa110*" -
    "/qa111*" -
    "/qa112*" -
    "/qa113*" -
    "/qa114*" -
    "/qa115*" -
    "/qa116*" -
    "/qa117*" -
    "/qa118*" -
    "/qa119*" {
    use pool qa_test_2b_pool_2
    }
    "/qa120*" -
    "/qa121*" -
    "/qa122*" -
    "/qa123*" -
    "/qa124*" -
    "/qa5*" - 
    "/qa19*" -
    "/qa20*" -
    "/qa21*" -
    "/qa22*" {
    use pool qa_test_2a_pool_2
    }
    "/qa130*" -
    "/qa131*" -
    "/qa132*" -
    "/qa135*" -
    "/qa136*" -
    "/qa3*" -
    "/qa4*" -
    "/qa11*" -
    "/qa12*" -
    "/qa13*" {
    use pool qa_test_2a_pool
    }
    "/qa14*" -
    "/qa15*" -
    "/qa16*" -
    "/qa17*" -
    "/qa18*" -
    "/qa6*" -
    "/qa7*" {
    use pool qa_test_2b_pool
    }
    "/qa8*" -
    "/qa9*" -
    "/qa10*" {
    use pool qa_test_2b_pool_2
    }
    "/qa1*" {      
    use pool qa_test_1a_pool
    }  
    "/qa2*" {
    use pool qa_test_1b_pool
    }
    "/*" {                
    log local0. "Connect from IP [IP::remote_addr] with a uri of [HTTP::uri] and bounced to homepage."
    }
    }
    }
    when HTTP_RESPONSE {
    set http_response_time [clock clicks -milliseconds]
       log local0. "$request_log_line - [HTTP::status] - [HTTP::payload length] - [expr $http_response_time - $http_request_time] -  pool [LB::server pool] - node [LB::server addr]"
    }