Upgrade OpenShift Dev Spaces

Red Hat OpenShift Dev Spaces 3.29

Plan and perform upgrades to keep your deployment current

Abstract

Plan and upgrade your OpenShift Dev Spaces deployment to the latest version. Review supported upgrade paths, complete the pre-upgrade checklist, and upgrade from the web console or command line.

Preface

Upgrade your OpenShift Dev Spaces deployment to the latest version to receive bug fixes, security patches, and new capabilities with minimal disruption.

Chapter 1. Plan your upgrade

Plan your OpenShift Dev Spaces upgrade by reviewing supported upgrade paths, choosing an update approval strategy, and completing the pre-upgrade checklist so that the upgrade proceeds without disruption.

1.1. How the upgrade works

Understand what happens during an OpenShift Dev Spaces upgrade so that you can plan the timing, communicate downtime expectations, and verify the result.

When you upgrade OpenShift Dev Spaces, the Operator handles the server component upgrade automatically. You do not need to manually update individual pods or configurations. The Operator:

  • Replaces the OpenShift Dev Spaces server, dashboard, gateway, and plugin registry pods with the new version.
  • Upgrades the Dev Workspace Operator to the version bundled with the new release.
  • Preserves the existing CheCluster custom resource configuration.

Running workspaces are not automatically restarted during the upgrade. Developers must stop their workspaces before the upgrade and restart them after the upgrade completes.

1.1.1. Supported upgrade path

OpenShift Dev Spaces supports upgrading from the previous minor version to the current version. For example, upgrading from OpenShift Dev Spaces 3.27 to OpenShift Dev Spaces 3.29.

Direct upgrades that skip minor versions are not supported. If your deployment is more than one minor version behind, upgrade one minor version at a time.

1.1.2. OpenShift version compatibility

OpenShift Dev Spaces 3.29 is supported on OpenShift 4.16 through 4.22. Before you upgrade OpenShift Dev Spaces, verify that your OpenShift cluster version is within this range.

1.1.3. Review the release notes

Review the release notes before upgrading to understand new features, bug fixes, and any changes that might affect your deployment. For the full release notes, see Additional resources.

1.2. Choose how updates are applied

Choose between automatic and manual update approval for the Red Hat OpenShift Dev Spaces Operator so that you control when new versions are installed on your cluster.

The Red Hat OpenShift Dev Spaces Operator supports two upgrade strategies:

Automatic
The Operator installs new updates when they become available.
Manual
New updates need to be manually approved before installation begins.

Prerequisites

  • You have an OpenShift web console session as a cluster administrator. See Accessing the web console.
  • You have an instance of OpenShift Dev Spaces installed by using Red Hat Ecosystem Catalog.

Procedure

  1. In the OpenShift web console, navigate to OperatorsInstalled Operators.
  2. Click Red Hat OpenShift Dev Spaces in the list of installed Operators.
  3. Navigate to the Subscription tab.
  4. Configure the Update approval strategy to Automatic or Manual.

1.3. Pre-upgrade checklist

Complete the following checklist before upgrading OpenShift Dev Spaces so that no work is lost and the upgrade proceeds without errors.

StepAction

1

Review the This content is not included.OpenShift Dev Spaces 3.29 release notes for breaking changes and new features.

2

Verify that your OpenShift cluster version is between 4.16 and 4.22.

3

Notify developers to save and push all uncommitted work in their running workspaces.

4

Stop all running workspaces. The upgrade does not automatically stop workspaces, and running workspaces might encounter errors during the upgrade.

5

If you plan to upgrade from the command line, install dsc version 3.29. See This content is not included.Install the dsc management tool.

6

Verify the current OpenShift Dev Spaces Operator subscription and update approval strategy. See Section 1.2, “Choose how updates are applied”.

Chapter 2. Upgrade from the web console

Upgrade OpenShift Dev Spaces to the latest version from the OpenShift web console so that your developers receive bug fixes, security patches, and new features without requiring command-line access.

2.1. Approve a pending upgrade in the web console

Approve a pending Red Hat OpenShift Dev Spaces Operator upgrade in the OpenShift web console so that your deployment receives the latest features, bug fixes, and security patches at the time you choose.

Prerequisites

Procedure

  1. Manually approve the pending Red Hat OpenShift Dev Spaces Operator upgrade. See Manually approving a pending Operator upgrade.

Verification

  1. Navigate to the OpenShift Dev Spaces instance.
  2. The 3.29 version number is visible at the bottom of the page.

Chapter 3. Upgrade from the command line

Upgrade OpenShift Dev Spaces to the latest version using the dsc CLI management tool so that you can automate upgrades or upgrade deployments in restricted environments. Reinstall dsc to version 3.29 before you begin. For installation instructions, see Additional resources.

3.1. Upgrade by using the dsc management tool

Upgrade OpenShift Dev Spaces from the previous minor version by using the dsc management tool so that your deployment receives the latest bug fixes, security patches, and features.

Prerequisites

  • You have an administrative account on OpenShift.
  • You have a previous minor version of CodeReady Workspaces installed using the CLI management tool on the same instance of OpenShift, in the openshift-devspaces project.
  • You have dsc for OpenShift Dev Spaces version 3.29 installed. See This content is not included.Installing the dsc management tool.

Procedure

  1. Save and push changes back to the Git repositories for all running CodeReady Workspaces 3.27 workspaces.
  2. Shut down all workspaces in the CodeReady Workspaces 3.27 instance.
  3. Upgrade OpenShift Dev Spaces:

    $ dsc server:update -n openshift-devspaces
    Note

    For slow systems or internet connections, add the --k8spodwaittimeout=1800000 flag option to extend the Pod timeout period to 1800000 ms or longer.

Verification

  1. Navigate to the OpenShift Dev Spaces instance.
  2. The 3.29 version number is visible at the bottom of the page.

3.2. Upgrade in an air-gapped environment

Upgrade OpenShift Dev Spaces on a cluster with no internet access by mirroring updated container images and Operator catalogs to your private registry before running the upgrade.

Prerequisites

Procedure

  1. Download and execute the mirroring script to install a custom Operator catalog and mirror the related images: prepare-restricted-environment.sh.

    $ bash prepare-restricted-environment.sh \
      --devworkspace_operator_index registry.redhat.io/redhat/redhat-operator-index:v4.22\
      --devworkspace_operator_version "v0.41.0" \
      --prod_operator_index "registry.redhat.io/redhat/redhat-operator-index:v4.22" \
      --prod_operator_package_name "devspaces" \
      --prod_operator_bundle_name "devspacesoperator" \
      --prod_operator_version "v3.29.0" \
      --my_registry "<my_registry>"

    where:

    <my_registry>
    The private Docker registry where the images are mirrored
  2. In all running workspaces in the CodeReady Workspaces 3.27 instance, save and push changes back to the Git repositories.
  3. Stop all workspaces in the CodeReady Workspaces 3.27 instance.
  4. Run the following command:

    $ dsc server:update --che-operator-image="$TAG" -n openshift-devspaces --k8spodwaittimeout=1800000

Verification

  1. Navigate to the OpenShift Dev Spaces instance.
  2. The 3.29 version number is visible at the bottom of the page.

Chapter 4. Verify the upgrade completed successfully

Verify that all OpenShift Dev Spaces components are running the new version and that the platform is functional so that you can confirm the upgrade succeeded before notifying developers.

Prerequisites

Procedure

  1. Verify that the OpenShift Dev Spaces Operator CSV shows the expected version and Succeeded phase:

    $ oc get csv -n openshift-devspaces -o custom-columns='NAME:.metadata.name,PHASE:.status.phase,VERSION:.spec.version'

    Expected output:

    NAME                        PHASE       VERSION
    devspacesoperator.v3.29.0   Succeeded   3.29.0
  2. Verify that the CheCluster custom resource reports Active phase and the correct version:

    $ oc get checluster devspaces -n openshift-devspaces -o jsonpath='Phase: {.status.chePhase}, Version: {.status.cheVersion}'

    Expected output:

    Phase: Active, Version: 3.29.0
  3. Verify that all OpenShift Dev Spaces pods in the openshift-devspaces namespace are running and ready:

    $ oc get pods -n openshift-devspaces

    All pods should show Running status with all containers ready.

  4. Verify that the OpenShift Dev Spaces dashboard is accessible:

    $ oc get checluster devspaces -n openshift-devspaces -o jsonpath='{.status.cheURL}'

    Open the returned URL in a browser and confirm the login page loads.

  5. Verify that the Dev Workspace Operator is running the expected version:

    $ oc get csv -n openshift-operators -o custom-columns='NAME:.metadata.name,PHASE:.status.phase' | grep devworkspace

    The Dev Workspace Operator CSV should show Succeeded phase.

  6. Start a test workspace from the OpenShift Dev Spaces dashboard to confirm that workspaces function correctly after the upgrade.

Chapter 5. Fix a duplicate Dev Workspace Operator after a cluster upgrade

Fix a duplicate Dev Workspace Operator installation that can occur when an OLM restart or OpenShift cluster upgrade leaves multiple Operator entries in a Replacing or Pending loop.

Prerequisites

Procedure

  1. Delete the devworkspace-controller namespace that contains the failing pod.
  2. Update DevWorkspace and DevWorkspaceTemplate Custom Resource Definitions (CRD) by setting the conversion strategy to None and removing the entire webhook section:

    spec:
      ...
      conversion:
        strategy: None
    status:
    ...
    Tip

    You can find and edit the DevWorkspace and DevWorkspaceTemplate CRDs in the Administrator perspective of the OpenShift web console by searching for DevWorkspace in AdministrationCustomResourceDefinitions.

    Note

    The DevWorkspaceOperatorConfig and DevWorkspaceRouting CRDs have the conversion strategy set to None by default.

  3. Remove the Dev Workspace Operator subscription:

    $ oc delete sub devworkspace-operator \
    -n <devworkspace_operator_namespace>

    where:

    <devworkspace_operator_namespace>
    The project where the Dev Workspace Operator is installed. For OpenShift Dev Spaces 3.29, this is typically openshift-devspaces. For standalone Dev Workspace Operator installations, this is openshift-operators.
  4. Get the Dev Workspace Operator CSVs in the <devworkspace_operator.vX.Y.Z> format:

    $ oc get csv | grep devworkspace
  5. Remove each Dev Workspace Operator CSV:

    $ oc delete csv <devworkspace_operator.vX.Y.Z> \
    -n <devworkspace_operator_namespace>
  6. Re-create the Dev Workspace Operator subscription:

    $ cat <<EOF | oc apply -f -
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: devworkspace-operator
      namespace: openshift-operators
    spec:
      channel: fast
      name: devworkspace-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
      installPlanApproval: Automatic
      startingCSV: devworkspace-operator.v0.41.0
    EOF
    installPlanApproval

    Automatic or Manual.

    Important

    For installPlanApproval: Manual, in the Administrator perspective of the OpenShift web console, go to OperatorsInstalled Operators and select the following for the Dev Workspace Operator: Upgrade availablePreview InstallPlanApprove.

Verification

  • In the Administrator perspective of the OpenShift web console, go to OperatorsInstalled Operators and verify the Succeeded status of the Dev Workspace Operator.

Revised on 2026-07-27 19:48:17 UTC

Legal Notice

Copyright © Red Hat.
Except as otherwise noted below, the text of and illustrations in this documentation are licensed by Red Hat under the Creative Commons Attribution–Share Alike 3.0 Unported license . If you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, the Red Hat logo, JBoss, Hibernate, and RHCE are trademarks or registered trademarks of Red Hat, LLC. or its subsidiaries in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS is a trademark or registered trademark of Hewlett Packard Enterprise Development LP or its subsidiaries in the United States and other countries.
The OpenStack® Word Mark and OpenStack logo are trademarks or registered trademarks of the Linux Foundation, used under license.
All other trademarks are the property of their respective owners.