Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 4.5.0
    • Fix Version/s: 5.0.0, 5.5.0, 6.0.0
    • Component/s: Core
    • Environment:
      Windows Server 2012
    • Support Ticket IDs:

      Description

      Hello,

      Like OpenAM and OpenDJ, in a HA scenario OpenIG would be configured behind a load balancer of some kind.

      OpenAM has - for a long time - had a specific health check page with default URI at /openam/isAlive.jsp that load balancers can leverage to check to ensure that an instance is operational to remain in the LB VIP active server pool. In addition, to being a JSP that ensures the web container JVM is still operational, the isAlive.jsp exercised some OpenAM functionality (builds an SSO token) and ensures the OpenAM configuration store is accessible.

      As a similar feature does not exist in OpenIG we extended the web.xml and included a JSP page that simply returned a static text mirroring OpenAM by returning "Server is ALIVE". The issue with this approach is that a) it requires repackaging the OpenIG WAR (annoying at worst), depends on the existence of a web.xml (which may not be present in the future) and most important of all does nothing to exercise the OpenIG internal functionality i.e. we basically know the web container JVM is operational (which is obviously better than nothing).

      Based on the short comings of the above we setup a static response handler however that handler could not serve a page from /openig as that is reserved for OpenIG so we setup the health check URI to be /openrp/isAlive.jsp. This was achieved by simply adding this route say 10-isalive-check.json:

      {
        "heap": [
          {
            "name": "IsAliveRequestHandler",
            "type": "StaticResponseHandler",
            "config": {
              "status": 200,
              "reason": "Found",
              "entity": "Server is ALIVE"
            }
          }
        ],
        "handler": "IsAliveRequestHandler",
        "condition": "${request.uri.path == '/openrp/isAlive.jsp'}"
      }
      
      

      While this provides a work around for the issue it would be ideal if this feature was simply baked into the product AND the URI was simply /openig/isAlive.jsp as it would intuitively mirror OpenAM functionality (i.e. /<default-name-of-product-uri>/isAlive.jsp).

      --Nikolaos

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              nikolaosGAC Nikolaos Giannopoulos
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: