Release Notes and Known Issues
Release Notes and Known Issues for Red Hat CodeReady Workspaces 2.4
Robert Kratky
rkratky@redhat.com
Michal Maléř
mmaler@redhat.com
Fabrice Flore-Thébault
ffloreth@redhat.com
Yana Hontyk
yhontyk@redhat.com
devtools-docs@redhat.com
Abstract
Chapter 1. Release notes
Red Hat CodeReady Workspaces is a web-based integrated development environment (IDE). CodeReady Workspaces runs in OpenShift and is well-suited for container-based development.
This section documents the most important features and bug fixes in Red Hat CodeReady Workspaces. For the list of CodeReady Workspaces 2.4 release issues, see the Chapter 3, Known issues section.
-
To deploy applications to an OpenShift cluster from CodeReady Workspaces, users must log in to the OpenShift cluster from their running workspace using
oc login
. - Having multiple CodeReady Workspaces deployments on the same cluster is not recommended, and the ability to do so may be removed in a future release.
1.1. About Red Hat CodeReady Workspaces
Red Hat CodeReady Workspaces 2.4 provides an enterprise-level cloud developer workspace server and browser-based IDE. CodeReady Workspaces includes ready-to-use developer stacks for some of the most popular programming languages, frameworks, and Red Hat technologies.
This minor release of Red Hat CodeReady Workspaces is based on Eclipse Che 7.18.2 and offers a number of enhancements and new features, including:
- Support for IBM Z
- Improvements to workspace start and overall performance
Bug fixes
- IDE terminal is now opening by default in project root directory. See GitHub Issue 17548.
-
Execution of
crwctl server:delete
cleans used secrets. See GitHub Issue 17435.
Languages updates
- Golang switched to the upstream plug-in published by Golang (not Microsoft), and was updated to the latest version of 0.16.1.
CodeReady Workspaces 2.4 is available in the Red Hat Container Catalog. Install it on OpenShift Container Platform, starting at version 3.11, by following the instructions in the Installing CodeReady Workspaces chapter of the Installation Guide.
CodeReady Workspaces 2.4 is available from the OperatorHub in OpenShift 4.4 and beyond. CodeReady Workspaces 2.4 is based on a new Operator that uses the Operator Lifecycle Manager. This makes the CodeReady Workspaces installation flow simpler and doable without leaving the OpenShift Console.
To install CodeReady Workspaces for OpenShift 4.4 or later, get CodeReady Workspaces from the OperatorHub and follow the Installing CodeReady Workspaces on OpenShift 4 from OperatorHub chapter of the Installation Guide.
1.2. Notable enhancements
1.2.1. Support for IBM Z
CodeReady Workspaces can now be deployed as an operator on OpenShift running on IBM Z mainframe systems using OperatorHub.
CodeReady Workspaces on IBM Z does not support:
The following devfiles:
- Fuse
- EAP for openjdk8
- .Net
The following installation targets:
- OpenShift Container Platform 3.11
- OpenShift Container Platform 4.5
- OpenShift Dedicated 4.3
- An installation in restricted environments
1.2.2. Support certificates from OpenShift-trusted CA bundle
When OpenShift is configured with trusted CA certificates, CodeReady Workspaces will automatically process all those certificates, along with the ones explicitly assigned to it.
1.2.3. Configure with custom hostname
The configuration property cheHost in CheCluster Custom Resource can be set with a custom hostname value and secure route to it. This value will be used for all communication to the CodeReady Workspaces server. The Custom Resource has to be configured with a Trusted certificate for the custom hostname value.
1.3. Other enhancements
1.3.1. Git credential storage mechanism
The secret injection mechanism able to inject a file with the username and password and set the git config credential.helper
was added. This allows users to use Git with HTTPS protocol without prompting for credential at every connection establishing and at every workspace start.
1.3.2. Switch or Stop workspaces from the IDE
The IDE now provides the ability to stop a running workspace or switch to a different workspace while keeping the current workspace active.
- A workspace can be stopped using File → Close Workspace. User will then be redirected to the Dashboard.
- File → Open Workspace lists all accessible Workspaces into which a user can switch.
1.3.3. Support for .devfile.yaml
name
The source project folder can include a devfile with .<devfile>.yaml
or <devfile>.yaml
file names. CodeReady Workspaces automatically searches for .devfile.yaml
if devfile.yaml
is not found.
Chapter 2. Installing and deploying CodeReady Workspaces
For OpenShift 3.11, see the Installing CodeReady Workspaces chapter of the Administrator Guide.
For OpenShift 4.5, see the Installing CodeReady Workspaces from Operator Hub chapter of the Installation Guide.
2.1. Supported deployment environments
This section describes the availability and the supported installation methods of CodeReady Workspaces 2.4 on OpenShift Container Platform and OpenShift Dedicated.
The minimal OpenShift Container Platform version supporting Red Hat CodeReady Workspaces is OpenShift Container Platform 3.11.
Table 2.1. Supported deployment environments for CodeReady Workspaces 2.4 on OpenShift Container Platform and OpenShift Dedicated
Platform | Architecture | Deployment method |
OpenShift Container Platform 3.11 | AMD64 and Intel 64 (x86_64) |
|
OpenShift Container Platform 4.4 | AMD64 and Intel 64 (x86_64) | OperatorHub |
OpenShift Container Platform 4.4 | IBM Z (s390x) | OperatorHub |
OpenShift Container Platform 4.5 | AMD64 and Intel 64 (x86_64) | OperatorHub |
OpenShift Dedicated 4.3 | AMD64 and Intel 64 (x86_64) | Add-On |
-
On OpenShift Container Platform 4.4 and 4.5, when the OperatorHub installation method is not available, consider using
crwctl
as an unofficial backup installation method.
2.2. Support policy
For Red Hat CodeReady Workspaces 2.4, Red Hat will provide support for deployment, configuration, and use of the product.
CodeReady Workspaces 2.4 has been tested on Chrome version 83.0.4103.97 (Official Build) (64-bit).
For more information, see CodeReady Workspaces life-cycle and support policy.
2.3. Difference between Eclipse Che and Red Hat CodeReady Workspaces
The main differences between CodeReady Workspaces and Eclipse Che are:
- CodeReady Workspaces is built on RHEL8 to ensure the latest security fixes are included, vs. Alpine distributions that take a longer time to update.
- CodeReady Workspaces uses Red Hat Single Sign-On (SSO) instead of the upstream project Keycloak.
- CodeReady Workspaces provides a smaller supported subset of plug-ins compared to Che. CodeReady Workspaces provides devfiles for working with other Red Hat technologies such as EAP and Fuse.
- CodeReady Workspaces is supported on OpenShift Container Platform and OpenShift Dedicated; Che can also run on other Kubernetes clusters.
Red Hat also provides licensing, packaging, and support, so CodeReady Workspaces is considered a more stable product than the upstream Eclipse Che project.
Chapter 3. Known issues
This section lists known issues with Red Hat CodeReady Workspaces 2.4. Where available, workaround suggestions are provided.
3.1. CodeReady Workspaces 2.3 Go workspaces fail to migrate to 2.4
The Go language plug-in moved from the v3/plugins/ms-vscode/
directory to v3/plugins/golang
directory in the plug-in registry. As a result, the older workspaces created from the Go devfile cannot migrate to the current release version.
To resolve this issue:
In the Go devfile components, replace the
ms-vscode/go/latest
ID withgolang/go/latest
:components: - id: golang/go/latest
3.2. ubi8-minimall image is not automatically mirrored for an disconnected environment installation
Following the steps in Using Operator Lifecycle Manager on restricted networks chapter in OpenShift docummentation, leads to an issue when ubi8-minimal image is not present in the mappings.txt
and imageContentSourcePolicy.yaml
files, causing an installation in a disconnected environment to fail.
To work around this issue:
Mirror the image manually:
$ skopeo copy --all docker://registry.stage.redhat.io/ubi8-minimal@sha256:5cfbaf45ca96806917830c183e9f37df2e913b187aadb32e89fd83fa455ebaa6 docker://${INTERNAL_REGISTRY}/ubi8-minimal
Add a new rule for ubi8-minimal to
imageContentSourcePolicy
, or edit theimageContentSourcePolicy
directly on a cluster, if already created:- mirrors: - ${INTERNAL_REGISTRY}/ubi8-minimal source: registry.stage.redhat.io/ubi8-minimal
3.3. Debug session for Python devfile fails to start
CodeReady Workspaces2.4 instances does not support a debug session for workspaces created from a Python devfile.
3.4. The Apache Camel K stack, provided in "Get started", is not supported for CodeReady Workspaces 2.4
All Camel K specific commands and Camel K Integration explorer are not working out of the box.
To work around this issue:
in Preferences → Camelk → Integrations, disable the auto-upgrade option and specify Camel K Runtime executable to match version 1.0.0.
or
- Add the VS Code extension 0.0.16 tooling for Apache Camel K in the registry.
- CRW-1197
3.5. CodeReady Workspaces requires wildcard SSL certificates
CodeReady Workspaces requires a new sub-domain for every workspace it manages. This can lead to an inefficient situation when CodeReady Workspaces manages a large number of workspaces, while managing a conventional certificate for each of these workspaces. Administrators can try to work around this by setting a wildcard TLS certificate to secure all OpenShift routes of dedicated workspaces.
In case it is not possible to enable wildcard certificates globally on the OpenShift router, use a dedicated router for CodeReady Workspaces workspaces and Ingress Controller sharding. See Configuring Ingress Controller sharding by using route labels
- Add a dedicated ingress controller to serves the CodeReady Workspaces workspace routes using route label filtering and configured with a wildcard-based certificate signed by the corporate CA chain.
- Specify the route filtering of the dedicated ingress controller:
routeSelector: matchExpressions: key: che.workspace_id operator: Exists
3.6. Manually added registries using Theia Plugin View are not reflected in the View automatically
To work around this issue, refresh the page by pressing F5 or Comd+r if using macOS.
3.7. Installing CodeReady Workspaces using crwctl server:start
fails in clusters with multiple CodeReady Workspaces deployments
Installation of CodeReady Workspaces, using the crwctl server:start
with OpenShift OAuth, fails or does not deploy resources if existing resources from another crwctl installation exist in the cluster.
To workaround this issue, delete old resources and perform a fresh installation. For instructions, see step 6 of the Installing CodeReady Workspaces on OpenShift 3 using the Operator Installation Guide chapter.
Having multiple CodeReady Workspaces deployments on the same cluster is not recommended, and the ability to do so may be removed in a future release.
3.8. Some run and build commands of the The Getting started
examples may fail in the AirGap installations
Some of the sample projects included in the Getting Started devfiles are not designed for offline or airgapped use, so some commands may not work. To resolve this, user may have to talk to a organization’s administrator to get access to internal mirrors, such as NMP, Maven, and PIP.
The base functions of the Getting started
ZIP-archived samples embedded in the offline devfile registry do not work.
Commands that require internet access to run: Run
, Simple build `, `Outline
3.9. PHP language server marks valid imports as erroneous in PHP-DI devfile
Workspaces created from the PHP-DI
devfile incorrectly highlight valid code as erroroneous.
To work around this issue:
-
Install the PHP dependencies using the
Install dependencies
IDE command. - If not done automatically after the dependencies installation, restart the workspace manually.
Refresh the browser.
3.10. The workspace sharing does not work
The File > Share
IDE command currently launches the Workspace
tab, but the Share
tab is missing.
3.11. The crwctl server:delete
command breaks existing CodeReady Workspaces deployments on the same OpenShift cluster
The crwctl server:delete
command removes certain cluster-scoped objects, which causes all other CodeReady Workspaces deployments to terminate unexpectedly.
To work around the issue, patch the Custom Resource Definition:
$ oc patch customresourcedefinition/checlusters.org.eclipse.che -p \ '{ "metadata": { "finalizers": null }}' --type merge
Having multiple CodeReady Workspaces deployments on the same cluster is not recommended, and the ability to do so may be removed in a future release.
3.12. Deleting a checluster
custom resource causes CodeReady Workspaces Operator errors
Uninstalling the CodeReady Workspaces manually by deleting the checluster
custom resource in the OperatorHub causes errors in the CodeReady Workspaces Operator. As a consequence, attempting to re-install CodeReady Workspaces in OperatorHub fails.
3.13. Creating a namespace fails when a login name with unsupported characters is used
If the <username>-che
namespace strategy is used, a problem can occur with the user names that contain characters incompatible with the Kubernetes namespace name pattern.
The specified namespace example@redhat.com-codeready is invalid: a DNS-1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?')
To work around this issue, do one of the following:
-
Use the
CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT
property with <userid> or <workspaceid> instead of <username> . Use the
CHE_INFRA_KUBERNETES_NAMESPACE_ALLOW_USER_DEFINED
property to allow users to select namespaces by themselves.
3.14. Using of NFS mounts may cause installation or workspace start failures
For best performance, Red Hat recommends using block storage for Persistent Volumes used with CodeReady Workspaces. The use of NFS is not recommended.
3.15. CodeReady Workspaces deployed without TLS support causes some features to not work properly
In CodeReady Workspaces 2.1 and later, secure HTTPS is required to use the most recent Theia IDE, and therefore TLS mode is enabled by default. Disabling the TLS support will cause user experience to suffer and some UI will not work as expected or at all.
For example, the welcome page may be blank or broken, images may be missing, and other functionality may not work properly.
Chapter 4. Known Issues for CodeReady Workspaces on IBM Z
4.1. Java tasks using openJ9 on IBM Z may fail to terminate
CodeReady Workspaces workspaces created on IBM Z and OpenShift 4.4 in PSI, fail to terminate the Java tasks using openJ9.
To end a stuck process or unterminated running task, reload the browser tab to reconnect the workspace.
If the issue is still present, restart the workspace for changes to take effect.
Chapter 5. FAQ
Can I install CodeReady Workspaces offline (that is, disconnected from the internet)?
Yes, you can. For detailed instructions, see Installing CodeReady Workspaces in restricted environments chapter of the Installation Guide.
Can I use non-default certificates with CodeReady Workspaces?
Yes, you can use self-signed or public certificates. See Installing CodeReady Workspaces on OpenShift v3 chapter of the Installation Guide.
Can I run multiple workspaces simultaneously?
Yes. The following two conditions must be met to run multiple workspaces simultaneously:
-
CodeReady Workspaces must use the
per-workspace
Persistent Volume Claim (PVC) strategy (default), and Persistent volumes (PVs) must use
ReadWriteMany
(RWX) access mode.Thus to run multiple workspaces simultaneously, ensure the following configuration is set:
-
Set
ReadWriteMany
(RWX) access mode for PVs. -
Use the
per-workspace
PVC strategy (default in CodeReady Workspaces), or optionally, theunique
strategy.
-
CodeReady Workspaces must use the