Forum Discussion
16 Replies
Sort By
- K-DubbNimbostratusI just found that in the pool_member_status_list.class file, these two sites ports were not listed for some reason. As i udnerstand the cron job creates this. I updated the list manually, and we will see what the cron job does to it next time it runs. The ports for these sites are 60090 and 60100, so the common theme here is that they have zeros at the end of their port. I will keep you posted.
- Mohamed_LrhaziAltocumulusI would edit the iRule to make it print details in the INVALID case, log something like:
- K-DubbNimbostratusWhat i tried did not work, it just replaced the nodes again with no port which obviously is invalid.
- K-DubbNimbostratusThe cron job populates the .class file. For some reason for pool members with ports of 60100 and 60090 do not have their ports defined in the .class list. Is there something in the .cron job that is causing this?
- hooleylistCirrostratusYes, there's a bug of some kind in the script which generates the data group file. I'll take a look today and see if I can find the issue.
- K-DubbNimbostratusThat would be great!! Let me know if you need anything from me.
- hooleylistCirrostratus
Can you try this updated version of the script? If it works for you too I'll update the Codeshare example.
!/bin/bash Handle a first-run situation if [ ! -e /var/class/pool_member_status_list.class ]; then touch /var/class/pool_member_status_list.class fi Grab the node list from bigpipe nodelist=`b pool all |grep "POOL MEMBER" | awk '{sub(":any",":0",$4);print "\""$4"\","}' | sort` for i in $nodelist; do Get the service from the bigpipe output for the pool member service=`echo $i | cut -f2 -d : - | sed s/\",// -` Determine whether the service is a numeric value or not; if not, we'll look it up in /etc/services. if [[ $service =~ ^[0-9]+$ ]] && (( 0 <= $service && $service < 65536 )); then servicenumber=$service else servicenumber=`cat /etc/services | tr '\011' ',' | sed s/,,/,/ | grep "^$service,.*\/tcp" | cut -f2 -d, | cut -f1 -d/` fi Write it to a temp file in the class directory. echo $i | sed s/$service\"\,/$servicenumber\"\,/ >> /var/class/pool_member_status_list.class.tmp.$$ done Move the temp file to the active position. mv /var/class/pool_member_status_list.class.tmp.$$ /var/class/pool_member_status_list.class Only load the config to update with the new class file if I am in HA Active mode (avoids getting out of sync if this happens on the Standby unit). if [ "`cat /var/prompt/ps1`" == "Active" ]; then b load fi exit 0
Thanks, Aaron
- K-DubbNimbostratusAaron,
- Mohamed_LrhaziAltocumulusFrom BIGIP shell prompt:
- K-DubbNimbostratusHa, i was going to try that but was not sure, thanks that worked.