Release notes and known issues
Release notes and known issues for Red Hat OpenShift Dev Spaces 3.3
Robert Kratky
rkratky@redhat.com
Fabrice Flore-Thébault
ffloreth@redhat.com
Jana Vrbkova
jvrbkova@redhat.com
Max Leonov
mleonov@redhat.com
devtools-docs@redhat.com
Abstract
Making open source more inclusive
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.
Chapter 1. About Red Hat OpenShift Dev Spaces
Red Hat OpenShift Dev Spaces is a web-based integrated development environment (IDE). OpenShift Dev Spaces runs in OpenShift and is well-suited for container-based development.
OpenShift Dev Spaces provides:
- an enterprise-level cloud developer workspace server
- a browser-based IDE
- ready-to-use developer stacks for popular programming languages, frameworks, and Red Hat technologies
Red Hat OpenShift Dev Spaces 3.3 is based on Eclipse Che 7.56.
1.1. Supported platforms
OpenShift Dev Spaces runs on OpenShift 4.10 and 4.11 on the following CPU architectures:
-
AMD64 and Intel 64 (
x86_64
) -
IBM Power (
ppc64le
) and IBM Z (s390x
)
Additional resources
1.2. Support policy
For Red Hat OpenShift Dev Spaces 3.3, Red Hat will provide support for deployment, configuration, and use of the product.
OpenShift Dev Spaces 3.3 has been tested on Chrome version 101.0.4951.54 (Official Build) (64-bit).
Additional resources
1.3. Differences between Eclipse Che and Red Hat OpenShift Dev Spaces
The main differences between OpenShift Dev Spaces and Eclipse Che are:
- OpenShift Dev Spaces is built on RHEL8 to ensure the latest security fixes are included, compared to Alpine distributions that take a longer time to update.
- OpenShift Dev Spaces uses OpenShift OAuth for user login and management.
- OpenShift Dev Spaces provides a smaller supported subset of plug-ins compared to Che.
- OpenShift Dev Spaces provides devfiles for working with other Red Hat technologies such as EAP and Fuse.
- OpenShift Dev Spaces is supported on OpenShift Container Platform, OpenShift Dedicated, and Red Hat OpenShift Service on AWS (ROSA); Eclipse Che can also run on other Kubernetes clusters.
Red Hat provides licensing, packaging, and support. Therefore, OpenShift Dev Spaces is considered a more stable product than the upstream Eclipse Che project.
Chapter 2. New features and enhancements
2.1. New field in the CheCluster
CR for configuring user namespace provision
This enhancement adds an autoProvision
field to the CheCluster
custom resource where OpenShift Dev Spaces administrators can disable automatic provisioning of user namespaces:
spec:
components
containerRegistry
devEnvironments:
defaultNamespace:
autoProvision: true 1
- 1
true
is the default.
If you set autoProvision
to false
, and a user does not already have a OpenShift Dev Spaces namespace, workspace creation will fail.
Additional resources
2.2. OpenShift Toolkit update
With this update, the OpenShift Toolkit extension for Microsoft Visual Studio Code - Open Source is updated to version 1.0.0, which provides support for odo 3.3.0.
Additional resources
2.3. Improved UX of Git-provider OAuth configuration
With this update, administrators can select OAuth application Secrets of their Git providers in the CheCluster
Custom Resource and the OpenShift web console.
Additional resources
2.4. Microsoft Visual Studio Code - Open Source in restricted environments
With this update, you can use Microsoft Visual Studio Code - Open Source in workspaces in a restricted environment. To manage extensions, OpenShift Dev Spaces now includes a locally cached Open VSX Registry instance in the plugin registry pod.
Additional resources
2.5. Microsoft Visual Studio Code - Open Source is the default editor
In OpenShift Dev Spaces 3.3, the default editor in workspaces is Microsoft Visual Studio Code - Open Source IDE.
In Visual Studio Code - Open Source, commands defined in devfiles appear as workspace tasks. To execute these tasks, go to Terminal → Run Task. Alternatively, F1 to open the Command Palette and type task
to see a drop-down list of available tasks.
Additional resources
2.6. Updated options for the dsc server:delete CLI command
This enhancement updates the options for the dsc server:delete
CLI command:
-
The
--delete-all
option removes the Dev Workspace Operator and the related resources. -
The
--delete-namespace
option removes the OpenShift Dev Spaces namespace.
Additional resources
2.7. OpenShift Dev Spaces fetches latest devfile.yaml and che-editor.yaml in remote Git repositories
With this update, OpenShift Dev Spaces fetches the latest versions of the devfile.yaml
and che-editor.yaml
files in the remote Git repository when you use the URL for that repository to start a new workspace.
Additional resources
2.8. Updated Universal Developer Image
In OpenShift Dev Spaces 3.3, the Universal Developer Image (UDI) is updated as follows:
Improved Python 3.9 tooling support:
-
jq
(JSON parsing) andyq
(YAML parsing) have been included. -
pytest
has been added to the path (along withpylint
andpip
) for easier use.
-
-
The
kamel
binary has been removed.
To include other tools or runtimes, an administrator can extend, fork, or replace the UDI image with one that includes the tools appropriate for your organization and your users' needs. That replacement image can then be referenced in the CheCluster
custom resource, so that users can use the custom image in their devfiles. This will ensure that the tools and runtimes they need are persistent and do not need to be installed on each workspace startup.
Users can also develop their own UDI image(s) and refer to them from their devfiles. This requires publishing the image to a registry that is accessible from their organization’s cluster. However, this approach is less centralized and standardized, and may not scale or perform as well.
Additional resources
2.9. Updates to the sample projects
In OpenShift Dev Spaces 3.3, the sample projects provided in the dashboard have changed as follows:
- The .NET sample has been updated to run with .NET 7.
- The Camel K sample has been removed.
- The PHP DI sample has been removed.
- The EAP 7.4 and EAP XP3 samples have been removed.
Additional resources
2.10. Updated documentation about the OpenShift Dev Spaces resource requirements
With this update, Calculating OpenShift Dev Spaces resource requirements has been improved to include CPU details and Microsoft Visual Studio Code - Open Source, which is the new default editor.
Additional resources
2.11. Overriding workspace Pod and container fields in a devfile
With this update, users can specify arbitrary fields and override any fields for the workspace Pod and containers in a devfile. This includes runtimeClassName
, schedulerName
, and such Kubernetes extended resources as nvidia.com/gpu
. To do that, users can use the new pod-overrides
and container-overrides
attributes.
Additional resources
2.12. Start a workspace with no sample project from the dashboard
With this update, an Empty Workspace tile is available in the dashboard from which you can create an empty workspace. Such a workspace starts with your IDE of choice and the UDI image containing various tools and CLI applications for software development in Java, Python, Node.js, C/C++, PHP, .Net and other languages. Once opened, you can use the IDE in the workspace to clone a remote Git repository.
Additional resources
2.13. Improved workspace storage configuration options in the CheCluster
CR
With this update, administrators can configure such options as storage class and size of workspaces in the CheCluster
custom resource.
Additional resources
2.14. Self-signed certificate importing is now easier
This enhancement makes it easier for administrators to add a Git provider’s self-signed certificate in OpenShift Dev Spaces. See the steps to do so in Git with self-signed certificates.
Additional resources
2.15. Enabling container builds in the CheCluster CR
With this update, administrators can enable container builds by setting devEnvironments.disableContainerBuildCapabilities: true
in the CheCluster
custom resource. This enables users to run podman build
on any workspace. Adding the attribute controller.devfile.io/scc: container-build
in a devfile is no longer required.
Additional resources
2.16. Improved UX with invalid devfiles during workspace creation
With this update, OpenShift Dev Spaces displays a warning for users in the Creating a workspace page that the devfile in the remote Git repository is invalid. The warning offers users two options: Continue with the default devfile or Reload. This feature is particularly useful when a user is editing and testing a devfile.
Additional resources
2.17. Supported subdomain isolation for GitHub Enterprise Server
With this update, OpenShift Dev Spaces supports subdomain isolation for GitHub Enterprise Server customers. Administrators can enable subdomain isolation in the CheCluster
custom resource:
spec: gitServices: github: - endpoint: 'https://github.com' secretName: github-oauth-config disableSubdomainIsolation: true
Additional resources
Chapter 3. Bug fixes
3.1. Support for .NET 7
As of OpenShift Dev Spaces 3.3, the .NET sample project has been reintroduced. It has been updated to run with .NET version 7.
Additional resources
3.2. Pulling container images from private container registries into workspaces
Before this update, workspaces failed to start when using a devfile that points to a private container registry. This failure occurred even though the user had added the registry in the Add Container Registry dialog in the dashboard’s User Preferences. With this update, you can start workspaces from a devfile that points to a container image in a private container registry. Before starting a workspace with such a devfile, you must add the registry in the Add Container Registry dialog in the dashboard’s User Preferences.
Additional resources
3.3. Fixed regression regarding /.vscode/
and /.che/
in cloned Git repositories
Before this update, a regression issue caused files in the /.vscode/
and /.che/
subfolders of the cloned remote Git repository to be ignored during workspace creation. This issue was only relevant to Git repositories that are hosted on GitHub, GitLab, or Bitbucket. With this update, files in these subfolders are fetched and processed during workspace creation.
Additional resources
3.4. Kubernetes Image Puller Operator failed because of the namespace
Before this update, having the CheCluster custom resource with spec.components.imagePuller.enable: true
in the prod-namespace
namespace resulted in Kubernetes Image Puller Operator failing due to an invalid OperatorGroup. That was causing the following error message: Operator failed OwnNamespace InstallModeType not supported, cannot configure to watch own namespace. With this update, this issue is resolved with Kubernetes Image Puller Operator creating a correct OperatorGroup with empty targetNamespaces.
Additional resources
3.5. dsc server:delete --delete-namespace might remove other Operators
Before this update, dsc server:delete --delete-namespace
deleted any namespace in which the OpenShift Dev Spaces instance had been installed, even the openshift-operators
namespace if inadvertently chosen during installation. Removal of the openshift-operators
namespace might result in unintended removal of other installed Operators. With this update, the dsc server:delete
command with the --delete-namespace
option does not remove the openshift-operators
namespace.
The default namespace for OpenShift Dev Spaces is openshift-devspaces
. The dsc
CLI tool installs OpenShift Dev Spaces in the correct namespace by default. To correctly install OpenShift Dev Spaces in the OpenShift web console, see the administration guide.
Additional resources
3.6. Missing error message when workspaces failed to start due to quotas
Before this update, no error message was shown a when workspace failed to start due to a Kubernetes quota. With this update, the error is successfully displayed during workspace startup when OpenShift Dev Spaces is unable to create a workspace Pod because of an insufficient quota in the user namespace.
Additional resources
3.7. Error in the gitconfig file when using a Git provider’s self-signed TLS certificate
Before this update, workspace creation failed on OpenShift Dev Spaces if an administrator had configured to trust a Git provider’s self-signed TLS certificate with a che-git-self-signed-cert
ConfigMap that lacked a githost
section. The resulting /etc/gitconfig
file contained a malformed http
directive that didn’t match any URL. With this update, this issue is resolved, and the /etc/gitconfig
file contains an [http]
line as expected.
Additional resources
3.8. Improved UX of starting new workspaces with name conflicts
Before this update, starting a workspace with a name that was in use for another workspace resulted in the Creating a workspace page showing a Failed to create a workspace error message. With this update, the Creating a workspace page warns users of an Existing workspace found and prompts users to Open the existing workspace or Create a new workspace.
Additional resources
Chapter 4. Technology preview
Technology Preview features provide early access to upcoming product innovations, enabling you to test functionality and provide feedback during the development process. However, these features are not fully supported under Red Hat Subscription Level Agreements, may not be functionally complete, and are not intended for production use. As Red Hat considers making future iterations of Technology Preview features generally available, we will attempt to resolve any issues that customers experience when using these features. See: Technology preview support scope.
None.
Chapter 5. Deprecated functionalities
5.1. Planned deprecation of the Eclipse Theia editor in OpenShift Dev Spaces
In the next release, OpenShift Dev Spaces 3.4, the Eclipse Theia editor will be deprecated and its extensions will no longer be maintained. Eclipse Theia will be removed in a later release of OpenShift Dev Spaces. Red Hat will no longer provide bug fixes and support for Eclipse Theia in OpenShift Dev Spaces but will provide security fixes until its removal from OpenShift Dev Spaces. Although your users can continue to optionally use Eclipse Theia until its removal, you must prepare to migrate your users to Visual Studio Code - Open Source, which is introduced as the new default editor with air gap support in OpenShift Dev Spaces 3.3.
Additional resources
Chapter 6. Removed functionalities
6.1. Removed devfile samples
In OpenShift Dev Spaces 3.3, the following devfile samples have been removed:
- Java 11 with JBoss EAP 7.4
- Java 11 with JBoss EAP XP 3.0
- Apache Camel K
- PHP DI
Bug fixes and support are provided only through the end of the OpenShift Dev Spaces 3.2 lifecycle.
Additional resources
Chapter 7. Known issues
7.1. Cloning private Git repositories is failing for specified Git revisions
There is currently a known issue when starting workspaces that clone private Git repositories. After successfully cloning and reading the remote Git repository, the project-clone container fails to checkout a specified Git revision, for example a feature branch or PR branch. As a result of this error, the remote Git repository is cloned into a temporary directory named project-clone-<random_characters>.
In OpenShift Dev Spaces, users have two ways to specify a Git revision for a new workspace:
-
By adding a
checkoutFrom
section in the devfile. - By visiting or entering the URL of a feature branch or pull request in the browser or in the OpenShift Dev Spaces dashboard.
Workaround
If you are using a
checkoutFrom
section in the devfile, then do as follows:-
Before starting a new workspace, remove or comment out the
checkoutFrom
section from the devfile. - After the repository is cloned, switch to the desired revision.
-
Before starting a new workspace, remove or comment out the
If you are using the URL of a feature branch or pull request to start a new workspace, then do as follows:
- When starting a new workspace, enter the URL of the repository without any branch syntax.
- After the repository is cloned, switch to the desired revision.
Additional resources
7.2. Java Gradle sample fails in restricted environments
Currently, there is a known issue with the Java Gradle sample in restricted environments. Running the 1-build
command to build an application might result in the FAILURE: Build failed with an exception error and failure to load a native library or not resolving a plug-in artifact in plug-in repositories. There is currently no workaround for this issue.
Additional resources
Chapter 8. Frequently asked questions
- Is it possible to deploy applications to an OpenShift cluster from OpenShift Dev Spaces?
-
Yes. The user must log in to the OpenShift cluster from their running workspace using
oc login
. - For best performance, what is the recommended storage to use for Persistent Volumes used with OpenShift Dev Spaces?
- Use block storage.
- Is it possible to deploy more than one OpenShift Dev Spaces instance on the same cluster?
- It is not recommended. This feature is subject to removal in a future release.
- Is it possible to install OpenShift Dev Spaces offline (that is, disconnected from the internet)?
- Yes. See Installing Red Hat OpenShift Dev Spaces in restricted environments on OpenShift.
- Is it possible to use non-default certificates with OpenShift Dev Spaces?
- Yes, you can use self-signed or public certificates. See Importing untrusted TLS certificates.
- Is it possible to run multiple workspaces simultaneously?
- Yes. See Enabling users to run multiple workspaces simultaneously.
- What specific changes have been implemented for IBM Power Systems?
The memory limit for some plug-ins has been increased, to give Pods sufficient RAM to run.
Table 8.1. Example memory limits differences between IBM Power System and other architectures
Plug-in IBM Power System Other architectures Che-Theia editor
2G
512M
OpenShift connector
2.5G
1.5G