Display a message showing maintenance / upgrade in progress when the tomcat server will be down for a long time during SailPoint Version upgrade

Which IIQ version are you inquiring about?

IdentityIQ 8.2p4

Share all details about your problem, including any error messages you may have received.

We are planning to upgrade from IdentityIQ8.2p4 to IdentityIQ8.4p2.
Is there any way to display message (about maintenance or Upgrade is in progress) to end users who will be trying to access SailPoint when the upgrade is in progress.

Thanks & Regards,
Milina Phalke

What makes this difficult is the fact that your application server is not running during the upgrade. I usually solve this by using a separate web server. If you’re using Windows, IIS may be a good option. I simply start the IIS web server right after I stop Tomcat. After the upgrade I first stop IIS and then start Tomcat. There will be only a few seconds where the page is unreachable.

These things are important:

  1. The page you’re returning should have an http status code of 307. This indicates that the page is temporary and it is therefore not cached by the browser
  2. Import your ssl certificate in IIS to enable https
  3. Do a redirect to home.jsf, so after your upgrade clients are referred back to the correct page when refressing
  4. Add the .jsf mime type so IIS handles jsf pages as html

Regards,
Pieter

Thanks Pieter for the suggestion.

Thanks & Regards,
Milina Phalke

Do you have anything in front of the UI server like a load balancer, or do users access IIQ directly?

For either scenario, you’ll need to create a new webapp in Tomcat that contains an html file with your maintenance message in it. Something like $CATALINA_HOME/webapps/maintenance/index.html

If there’s something in front of it that you have control over, you can just modify it to send every request to /maintenance/index.html and revert the config after you’re done.

If there’s not or you don’t have access to modify it, you can add a RewriteValve to the Host section of $CATALINA_BASE/conf/server.xml like this:

<Host name="localhost (or whatever host you care about if more than one)">
    ...any other valves that are already there...
    <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
</Host>

After that, you need to create a $CATALINA_BASE/conf/Catalina/localhost/rewrite.config file containing something like this:

# this condition triggers if the identityiq webapp and war file are not found
RewriteCond %{REQUEST_PATH} ^/identityiq/.*
RewriteRule ^(.*)$ /maintenance/index.html [R,NC]

# this condition triggers if the identityiq webapp or war file are still present
RewriteCond %{CONTEXT_PATH} /identityiq
RewriteRule ^(.*)$ /maintenance/index.html [R,NC]

To stop redirecting, you can just remove the rewrite.config file. These changes would need to happen on all UI servers.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.