Forum Discussion

Tim_Moomaw_9220's avatar
Tim_Moomaw_9220
Icon for Nimbostratus rankNimbostratus
Nov 09, 2008

Scheduled Maintenance Window

--- Obligatory "I'm new to iRules" ----

 

 

I'm trying to create a rule to return a maintenance page every Saturday morning between 0200 and 0600. I have copied a few examples from DevCentral which work great except for any period of time that includes an 08 or 09. The log entries clearly indicate that it's having an issue with non-octal numbers being returned but I can't figure out how to get around it. I'm betting it's something hugely simple. Suggestions welcomed. Here's the rule as it's written now and the error that is received at 0208, 0209, 0308, 0309,08xx, 09xx etc. Thanks in advance.

 

 

when HTTP_REQUEST {

 

Change the following to set schedule

 

set start_time "0200";

 

set end_time "0600";

 

set day "Saturday";

 

 

set l [split [clock format [clock seconds] -format {%A %H %M}] " "]

 

set cur_day [lindex $l 0]

 

set cur_time [expr [expr {[lindex $l 1] *100}] + [lindex $l 2]]

 

if { ($cur_day eq $day) &&

 

($cur_time >= $start_time) &&

 

($cur_time <= $end_time) } {

 

HTTP::respond ----text here----

 

 

 

 

TCL error: m-window-test HTTP_REQUEST - cant use invalid octal number as operand of * while executing expr {[lindex $l 1] *100}

 

 

Also receive this error:

 

 

TCL error: m-window-test HTTP_REQUEST - expected integer but got 08 looks like invalid octal number while executing expr [expr {[lindex $l 1] *100}] + [lindex $l 2]]

 

 

 

 

29 Replies