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.
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:
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
Import your ssl certificate in IIS to enable https
Do a redirect to home.jsf, so after your upgrade clients are referred back to the correct page when refressing
Add the .jsf mime type so IIS handles jsf pages as html
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.