Uploaded image for project: 'Network Edge'
  1. Network Edge
  2. NE-2183

Add DNS and LB Condition to a provisioned Gateway

XMLWordPrintable

    • Rejected
    • NI&D Sprint 278

      As a Gateway admin, I want to get a status condition that indicates whether the DNS record and LoadBalancer for my Gateway were properly provisioned.

       

      Implementation details:

      As part of this implementation, a new "gateway-status" controller should be implemented. This controller should behave as follows:

      • Watch for Services owned by the Gateway. Those are provisioned by Istio once the Gateway is created.
      • Watch for DNSRecords owned by the Service of this Gateway. Those are provisioned by the "gateway-service-dns" controller, and the status of a DNSRecord CR is updated by the "dns" controller when it tries to publish the DNS record.

      When these objects change (that is, one of these objects is created, updated, or deleted), a new reconciliation request for the Gateway should be enqueued. The reconciliation process should behave as follows:

      • Add or update a status condition to the Gateway, using patch/strategic merge, containing the operatorv1.DNSManagedIngressConditionType and operatorv1.DNSReadyIngressConditionType - see the computeDNSStatus and computeIngressAvailableCondition functions to reflect the proper status.
      • Add or update a status condition to the Gateway, using patch/strategic merge, containing operatorv1.LoadBalancerManagedIngressConditionType and operatorv1.LoadBalancerReadyIngressConditionType - see the computeIngressAvailableCondition function.

      The conditions addition should happen on a single run (idempotent), gathering all of the required information from DNSRecord, Services, etc to proper add conditions to the Gateway. 

      Add unit tests and e2e tests to guarantee that the expected conditions reflect the desired behavior.

              rh-ee-rpchevuz Ricardo Pchevuzinske Katz
              rh-ee-rpchevuz Ricardo Pchevuzinske Katz
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: