Skip to content

Migration v25

Hleb Kanonik edited this page Dec 23, 2025 · 2 revisions

Artifact Hub Join Slack chat! stackoverflow GitHub contributors Docker Pulls License Build with Love

☝️ Before starting, ensure to create a backup of ReportPortal

The previous versions of the migrations are located here

Migration to 24.2

  1. Review changes by comparing GitHub release tags: reportportal-24.1.0...reportportal-24.2.0

☝️ Please note that the double-entry values and environments have been removed from version 24.2.0

  1. Merge changes from master branch to your own repository or local files.
  2. Change your own values.yaml regarding new values and image versions. Release 24.2.0 changes:
    • Service API has the new AMQP settings instead of queues.
    • RabbitMQ now requires additional plugins to ensure proper functionality of ReportPortal.
    • If you're using your own RabbitMQ instance, please upgrade your RabbitMQ Helm chart or instance to install the necessary plugins. Note that RabbitMQ v3.12+ is required for the shovel plugin. Required Plugins:
    • All the ReportPortal services changed images to new versions. Check latest from the dockerhub.
  3. Upgrade ReportPortal using the following command:
    • Local path:
    helm upgrade --install my-release ./reportportal
    • From the Helm Chart repository:
    helm repo add reportportal https://reportportal.io/kubernetes
    helm repo update reportportal
    
    helm upgrade my-release reportportal/reportportal

Migration to 24.1

  1. Review changes by comparing GitHub release tags: reportportal-23.2.0...reportportal-24.1.0
  2. Merge changes from master branch to your own repository or local files.
  3. Change your own values.yaml regarding new values and image versions. Release 24.1 changes:
  4. Upgrade ReportPortal using the following command:
    • Local path:
    helm upgrade --install my-release ./reportportal
    • From the Helm Chart repository:
    helm repo add reportportal https://reportportal.io/kubernetes
    helm repo update reportportal
    
    helm upgrade my-release reportportal/reportportal

Migration to 25.1

Release 25 1

☝️ Please note that chart versions and product release versions are now managed separately. Read here

  1. Review changes by comparing GitHub release tags: reportportal-24.1.0...reportportal-25.5.30
  2. Upgrade ReportPortal using the following command:
    • Local path:
    helm upgrade --install my-release ./reportportal
    • From the Helm Chart repository:
    helm repo add reportportal https://reportportal.io/kubernetes
    helm repo update reportportal
    
    helm upgrade my-release reportportal/reportportal

Migration to 25.1.6

25 1 6

☝️ Please note that chart versions and product release versions are now managed separately. Read here

Overview

This migration guide covers upgrading to ReportPortal version 25.1.6. The migration process varies depending on your current setup and dependencies.

⚠️ This guide applies only to installations with locally deployed dependencies; cloud or SaaS users should upgrade dependency versions according to their platform’s documentation.

Migration Steps

1. Review Changes

Review changes by comparing GitHub release tags: reportportal-24.1.0...reportportal-25.1.6

2. Dependency Migration

RabbitMQ and OpenSearch

  • No migration required for RabbitMQ and OpenSearch dependencies
  • These services can be upgraded directly without data migration

PostgreSQL Migration (Required)

If you're using the built-in PostgreSQL dependency, follow these steps:

  1. Create a database backup:

    # Get the current PostgreSQL pod name
    kubectl get pods -l app.kubernetes.io/name=postgresql
    
    # Create a database dump
    kubectl exec -it my-release-postgresql-0 -- \
      bash -c "PGPASSWORD='rppassword' pg_dump -U postgres reportportal" \
      > reportportal_backup.sql
  2. Uninstall the previous ReportPortal release:

    helm uninstall my-release
  3. Install PostgreSQL standalone:

    # Add Bitnami repository if not already added
    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm repo update
    
    # Install standalone PostgreSQL with the same credentials
    # Note: PVC name will be data-postgresql-standalone-postgresql-0
    helm install postgresql-standalone \
      --set auth.postgresPassword=rppassword \
      --set auth.username=postgres \
      --set auth.password=rppassword \
      --set auth.database=reportportal \
      --set primary.persistence.size=8Gi \
      --version 16.7.21 \
      bitnami/postgresql 
  4. Restore the database:

    # Get the standalone PostgreSQL pod name
    kubectl get pods -l app.kubernetes.io/name=postgresql
    
    # Restore the database
    kubectl exec -i postgresql-standalone-0 -- \
      bash -c "PGPASSWORD='rppassword' psql -U postgres reportportal" \
      < reportportal_backup.sql
  5. Uninstall standalone PostgreSQL (keeping volume):

    # Uninstall PostgreSQL but keep the PVC (default behavior)
    helm uninstall postgresql-standalone
    
    # Verify the PVC is still there and note the exact name
    kubectl get pvc | grep standalone
    # The PVC name should be: data-postgresql-standalone-0
  6. Install ReportPortal with external PostgreSQL:

    # Install ReportPortal pointing to the standalone PostgreSQL PVC
    helm install my-release \
      --set postgresql.install=true \
      --set postgresql.primary.persistence.existingClaim=data-postgresql-standalone-0 \
      --version 25.8.8 \
      reportportal/reportportal 

Important Notes

  • Backup your data before starting the migration
  • Test the migration in a non-production environment first
  • Monitor the upgrade process and check pod status after migration
  • Verify data integrity after the migration is complete

Migration to 25.2

Release 25 2

☝️ Please note that chart versions and product release versions are now managed separately. Read here

Overview

This migration guide covers upgrading from ReportPortal version 25.1.x to 25.2.0. The migration process includes significant Helm chart changes that require careful attention.

⚠️ This guide applies only to installations with locally deployed dependencies; cloud or SaaS users should upgrade dependency versions according to their platform's documentation.

Migration Steps

1. Review Changes

Review changes by comparing GitHub release tags: reportportal-25.5.28...reportportal-25.12.19

2. Breaking Changes - Action Required

2.1 Ingress Annotations Structure Changed

The ingress annotations structure has been simplified from nested format to flat format.

Before (OLD - no longer works):

ingress:
  class: nginx
  annotations:
    nginx:
      nginx.ingress.kubernetes.io/ssl-redirect: "false"
      nginx.ingress.kubernetes.io/proxy-body-size: 128m
    gce: {}
    alb: {}
    custom: {}

After (NEW - required format):

ingress:
  class: nginx
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/proxy-body-size: 128m

Action: Remove the nested nginx:, gce:, alb:, custom: keys and move annotations directly under annotations:.

2.2 Probe Timing Settings Reduced

Readiness and liveness probe intervals have been decreased for faster startup (~42% improvement).

If you have custom configurations (extra init containers, sidecars, slow database connections, or resource-constrained environments), pods may fail health checks before they're ready.

Action: If your pods fail to start after upgrade, increase the probe settings:

serviceapi:
  readinessProbe:
    initialDelaySeconds: 60
    periodSeconds: 20
    failureThreshold: 10
  livenessProbe:
    initialDelaySeconds: 120
    periodSeconds: 40

uat:
  readinessProbe:
    initialDelaySeconds: 60
    periodSeconds: 20
  livenessProbe:
    initialDelaySeconds: 120
    periodSeconds: 40

2.3 Audit Logging Configuration Changed

If you were using auditLogs.enable=true and expecting the default sidecar, you now need to also set auditLogs.sidecar.enable=true.

Before:

serviceapi:
  auditLogs:
    enable: true

After:

serviceapi:
  auditLogs:
    enable: true
    sidecar:
      enable: true  # Required to enable the built-in log streamer

3. New Features Available

The following new features are available after migration:

  • Kubernetes Gateway API Support - Modern replacement for Ingress (Documentation)
  • Custom Service Labels - For Prometheus ServiceMonitor integration
  • Custom Secret Keys for Search Engine - Configurable OpenSearch/Elasticsearch credentials
  • Deployment Strategy Configuration - Customizable rollout strategies
  • Analyzer Storage Support - S3 and MinIO storage backends for analyzer

4. Upgrade ReportPortal

From Local Path:

helm upgrade --install my-release ./reportportal

From Helm Chart Repository:

helm repo add reportportal https://reportportal.io/kubernetes
helm repo update reportportal

helm upgrade my-release reportportal/reportportal

5. Post-Upgrade Verification

  1. Check pod status:

    kubectl get pods -l app.kubernetes.io/instance=my-release
  2. Verify all services are running:

    kubectl get deployments -l app.kubernetes.io/instance=my-release
  3. Check application logs for errors:

    kubectl logs -l app.kubernetes.io/name=api --tail=100
  4. Access the UI and verify functionality


Clone this wiki locally