Forum Discussion

sand87ch's avatar
sand87ch
Icon for Cirrus rankCirrus
Nov 16, 2022

Handling sideband server failure

Hi,

In my setup i have a BIGIP virtual server in front of a pool,This bigip VIP has a sideband connectiont o a virtual server that mirrors the requests and respobnses into my bigip VIP server.

\Issue:-

When the pool connected to the mirroring sideband server fails it temporarily interrupts the flow of response to the client who made the request to the m,ain bigip load balancer.Is there any way to overcome this,In the irule i did set static timeout of 1ms but this doesnt seem to help.

  • I'd recommend using the -status parameter in the sideband connect command to your advantage. You can use this to test that the connection is established before sending data.

    https://clouddocs.f5.com/api/irules/connect.html

    # Connect to an external host with a connection timeout of 100 ms and an idle timeout of 30 seconds
    # Use catch to handle any errors in the destination virtual server name or external host:port
    # Check if the return value saved to $conn_id is not null
    if {[catch {connect -timeout 1000 -idle 30 -status conn_status sideband_virtual_server} conn_id] == 0 && $conn_id ne ""}{
        log local0. "Connect returns: $conn_id and conn status: $conn_status"
    } else {
        log local0. "Connection could not be established to sideband_virtual_server"
    }
    • sand87ch's avatar
      sand87ch
      Icon for Cirrus rankCirrus

      Hi Kevin,

      I already have this piece of code in my irules.I guess my issue wasnt clear to you.

      The customer already has a bigIP set up that is connected to the customers pool.We are adding a mirroring Virtual server in the management portal that is connected to one of our pools.So the irules on the customer BigIP virtual server connects to our mirroring server and sends the request as soon a client sends a request to the customer website via the customer's  BIGIP load balancer.

      However if our Virtual server or the pool goes down or fails the customer set up gets error as for a short amount of time the requests from the client(user)to the customer website will get a ECONNRESET.We want to avoid this issue so that any failure on our end doesnt cause any issue for the customer website.

      Could you please suggest if  theres a way out.

    • sand87ch's avatar
      sand87ch
      Icon for Cirrus rankCirrus

      Hi Kevin,

      Our set up has a BigIP F5 that is connected to a customer website in a pool.The client places a request to the wesite via this BIG IP LTM and receives a response.We have irules that connect to the helper VS that to mirror the request and response

      We also have a helper VS in the environment.We use this Helper VS to establish a sideband connection to our pool which receives the mirrored request and response to the main BIG IP load balancer.

       

      However if the server in our pool goes down then for a small amount of time the requests coming to the customer website via teh BIG IP load balancer is getting interrupted where the client receives a "connection reset " error.This is resullting in stability issue.

       

      Is there any way to isolate the connection so that any failure on our pool doesnt cause a connection reset error on the client website?

       

      • Kevin_Stewart's avatar
        Kevin_Stewart
        Icon for Employee rankEmployee

        Hard to say without a better understanding of your config and current iRule.