Forum Discussion
Some pool members show up as invalid: https://devcentral.f5.com/wiki/iRules.Pool__Member__Status__Page_on_a__Virtual__Server_v10.ashx
Hi,
I have been using the pool member status page located here:
https://devcentral.f5.com/wiki/iRules.Pool__Member__Status__Page_on_a__Virtual__Server_v10.ashx
For several months. It works great, except that i have 2 sites (12 nodes in each) that show invalid for each node. I have about 30 nodes in the list with anywhere from 2-12 nodes in each, and they all show up fine. I cannot find any reason they are showing up as invalid, as there is nothing special or different about these. These sites are up and online, its just that they show as invalid on the status page. I am on version 10.2.
Thanks!
16 Replies
- K-Dubb
Nimbostratus
I 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_Lrhazi
Altocumulus
I would edit the iRule to make it print details in the INVALID case, log something like: - K-Dubb
Nimbostratus
What i tried did not work, it just replaced the nodes again with no port which obviously is invalid. - K-Dubb
Nimbostratus
The 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? - hoolio
Cirrostratus
Yes, 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-Dubb
Nimbostratus
That would be great!! Let me know if you need anything from me. - hoolio
Cirrostratus
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-Dubb
Nimbostratus
Aaron, - Mohamed_Lrhazi
Altocumulus
From BIGIP shell prompt: - K-Dubb
Nimbostratus
Ha, i was going to try that but was not sure, thanks that worked.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com