Forum Discussion

nk-spg's avatar
nk-spg
Icon for Nimbostratus rankNimbostratus
Oct 12, 2023

GTM iRule Help?

Hey Everyone,

I tried a support case for this but it sounds to them to be more of a "Professional Services" issue over a tech issue. It has been uploaded onto the GTM and slotted into the wideIP and is configured as seen below and sadly it still doesnt appear to work as intended but it may be due to factors unknown to me so maybe someone here has dealt with this.

I am looking to make an iRule that when a request hits "wideIP A", it checks the status of "wideIP B's" pool member on if its up and if up then point to "cname A" else point to "cname B"

Is this LB::status not possible to achieve from the GTM iRuling? Is there any suggestions as to how to achieve this?

when DNS_REQUEST {
if { [LB::status pool "pool name" member "IP" "PORT"] eq "up" } {
cname "cname/fqdn"
} else { cname "cname/fqdn" }
}

Appreciate any hints or comments!

  • This says that you can use the LB::status command: https://clouddocs.f5.com/api/irules/GTM.html

    If this were me, i'd start by using logs to check everything before putting them together. And maybe define exactly what you want it to do - write some pseudocode first. And support are right - this is more like a PS engagement. PS has many ways of doing engagements, partly based on where you are. Often we will charge on an hourly basis so it might be worth looking into.

  • Hi Nk-SPG

    Please follow step below,

    1. Create virtual server B for wide ips B in object GSLB server 

    2. Create virtual server A for wide ips A and select depen on virtual server B in object GSLB Server

    ******* Configuring virtual server availability to be dependent on the status of other virtual servers ***

    BIG-IP GTM Configuration (f5.com)

    3. Create GSLB Pool bind with virtual server A for wide ips A

    4. Crate wide ips cnameA type cname that bind with pool A

    5. Create GSLB Pool type cname that bind wide ips cnameA

    6. Create wide ips A type cname that bind with pool cname

    I hope this solution will help you without irule

     

  • nk-spg  - You dont need Irule, you need a logic. You can get this done with combination of depends on feature and global availability load balancing functionality.