Upgrade from Sonarqube 9.8.0 to 9.9.x or New 9.9.x install Using Sonarsource Helm Chart Fails

Make sure to tell us:

  • What version are you upgrading from?

9.8.0-community or fersh install both fail the same way

  • System information (Operating system, Java version, Database provider/version)

Deployment infrastructure: Kubernetes v1.29.x
Deployment Method: Helm
Helm Chart Version: ~8 (Currently 8.0.7+3599)
Current Docker image Version: 9.8.0-community
New Docker Image Version: 9.9.0-9.9.7-community (All have been tried)
Database: Postgresql
Postgresql Docker Image from Sonarqube Helm Chart: postgresql:11.14.0-debian-10-r22

  • What’s the issue you’re facing?

Multiple Issues:

  1. I expected simply changing the Sonarqube docker image version, with no other changes, would not change the stateful sets ability to stand up a running pod but the Kubernetes readiness and liveness probes defined in the Helm chart provided by sonarsource fails.

    • Our 9.8.0 Kubernetes Helm deployed stateful set and ingresses uses a sonarWebContext/pathPrefix of /sonarqube and this pathPrefix is defined in the Helm values file as is shown below:

      readinessProbe:
         sonarWebContext: /sonarqube/
      
      livenessProbe:
        sonarWebContext: /sonarqube/  
      
      startupProbe:
        sonarWebContext: /sonarqube/
      
    • I traced this to the fact that the path to the Sonarqube api changes inside the sonarqube-0 pod container using the 9.9.x images.

  • Resolved by changing the values file used with 9.9.x as shown below:

     ```
     readinessProbe:
        sonarWebContext: /
    
    livenessProbe:
       sonarWebContext: /  
    
     startupProbe:
       sonarWebContext: /
     ``` 
    
    • This fixes the probes but I am not sure it is the RIGHT thing to do given issue #2 below.
    • I was also able to fix the probes by using a local copy of the helm chart and modifying the probes but issue #2 below still occurs.
  1. Sonarqube 9.9.x hangs at Loading... when accessing through https://[fqdn]/sonarqube.

    • I have seen other issues reported like this but I cannot find a solution to my issue.

    • I get the below in developer tools console so it looks like there should be a /sonarqube in there so it MAY be related to the path change mentioned above:

      Loading module from “https://[fqdn]/js/outHCJX4MVN.js” was blocked because of a disallowed MIME type (“text/html”).
      

I feel like I may be missing something in the values file but I am not seeing it. As stated above the same issues occur whether upgrading from 9.8.0 or on a fresh deployment of 9.9.x the DB and Sonarqube so I do not think it is database related.

Any help is appreciated.

Figured it out finally:

Undo the probe changes I talked about above and add the below to the values.yml:

## Environment variables to attach to the pods
##
env:
#   # If you use a different ingress path from /, you have to add it here as the value of SONAR_WEB_CONTEXT
  - name: SONAR_WEB_CONTEXT
    value: /sonarqube