-
Language:
English
-
Language:
English
Release Notes and Known Issues
Release Notes and Known Issues for Red Hat CodeReady Workspaces 2.2
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.2 release issues, see the Chapter 2, Known issues section.
1.1. About Red Hat CodeReady Workspaces
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.
Red Hat CodeReady Workspaces 2.2 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.14 and offers a number of enhancements and new features, including:
Support for OpenShift Container Platform 4.4
Using the CodeReady Workspaces Operator and crwctl, CodeReady Workspaces can be installed on OpenShift Container Platform versions 4.4, 4.3, and 3.11. Users can then benefit from all Red Hat-managed container application platform features.
See OpenShift 4.4 - New features and enhancements. See Supported platforms for deploying Red Hat CodeReady Workspaces for a table of supported platforms and installation methods.
CodeReady Workspaces Air Gap with OpenShift 4.4
On OpenShift 4.4, it is now possible to follow Configuring OperatorHub for restricted networks using OpenShift Container Platform and configure the CodeReady Workspaces Operator to be used this way.
Languages updates
Provided versions:
-
Python - CodeReady Workspaces registries were updated with the
vscode-python
version2020.5.86806
.
-
Python - CodeReady Workspaces registries were updated with the
- Improvements to workspace startup and overall performance
New chapters in the documentation
Installation Guide
- Configuring CodeReady Workspaces Persistent Volumes strategy
- Configuring CodeReady Workspaces with and without RH-SSO
- Mounting a secret as a file or an environment variable into a workspace container
CodeReady Workspaces 2.2 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.2 is available from the OperatorHub in OpenShift 4.3 and beyond. CodeReady Workspaces 2.2 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.3 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. Operator available in OSD 4.3
1.2.2. Update to RHEL 8.2, SSO 7.4, EAP 7.3.1, and MongoDB 3.6
- Security improvements and bug fixes
1.2.2.1. Added the ability to configure custom multiple devfile registries
Users with administration rights can now configure custom multiple devfile registries by editing the CustomResource to list more than one registry.
1.2.3. Update devfile editor with code assist from registries
- Added defaultSnippets support for the devfile editor.
-
Provide code assist for the
chePlugins
from a registry.
1.2.4. Support for mounting Kubernetes secret into a workspace container
Users can mount a secret that contains sensitive data in a workspace container. This reapplies the stored data from the secret automatically for every newly created workspace. As a result, the user does not have to provide these credentials and configuration settings manually.
Suitable for:
-
Maven configuration, the
settings.xml
file - SSH key pairs
- AWS authorization tokens
1.2.5. Option to run workspace in debug mode
To help diagnose issues with workspace start, users can start a workspace with additional debugging logs enabled.
1.2.6. Providing LogWatchers metrics in standard API
Using the LogWatchers metrics that are collected in the debug mode, users can track the load of all containers over a threads of logs simultaneously.
1.2.7. Added ability to choose in which namespace a workspace is going to be created
CodeReady Workspaces server can be configured to honor the user selection of a namespace when a workspace is created. This feature is disabled by default. To allow user-defined workspace namespaces:
-
For Operator deployments, set the
allowUserDefinedWorkspaceNamespaces
field in the CheCluster Custom Resource.
1.3. Other enhancements
1.3.1. Devfile updates to use new samples
Devfiles have been updated to provide more interesting and up to date sample code.
1.3.2. Update Java-based devfiles
Java-based devfiles have been migrated to use JDK 11 where possible, remove EAP if not required, and continue to use JDK 8 where needed. Since Maven 3.6 was moved into the JDK sidecar to support Quarkus, it is possible to use Quarkus with JDK 8 and 11 if a user sets up a custom devfile.
In addition, a new plugin-java8-rhel8
container replaces the old stacks-java-rhel8
container and also provides support for node and python in the same container. This reduces the install footprint for most devfiles and provides a single container for the most widely used languages.
1.3.3. RAM and CPU limits improvements
Pre-configured limits could exceed cluster-wide resources settings causing workspaces to be unable to start. This enhancement disables any kind of default limits/requests by setting them into -1 value by default.
-
Applying for
chePlugin
and Other components, a user is allowed to set or disable any default limits and requests.
1.3.4. Installing CodeReady Workspaces operator from the crwctl command line tool
Only supported for OCP 3.11. For OCP 4, please use the OperatorHub UI method.
1.3.5. Keybinding switching
Using a set of plug-ins, CodeReady Workspaces adds the ability for the Che-Theia editor to switch key bindings between Default, Vi, and Emacs options.
1.4. Supported platforms
1.4.1. Supported platforms and installation methods
The following section provides information about the availability of CodeReady Workspaces 2.2 on OpenShift Container Platform, OpenShift Dedicated, and about their supported installation methods.
Red Hat CodeReady Workspaces can be installed on OpenShift Container Platform and OpenShift Dedicated starting at version 3.11.
Table 1.1. Availability of CodeReady Workspaces 2.2 on OpenShift Container Platform and OpenShift Dedicated
3.11 | 4.3 | 4.4 | 4.5 | |
OpenShift Container Platform | ✔ | ✔ | ✔ | Technical Preview |
OpenShift Dedicated | ✔ | ✔ | Technical Preview | Technical Preview |
Table 1.2. Supported installation method for CodeReady Workspaces 2.2 on OpenShift Container Platform and OpenShift Dedicated
3.11 | 4.3 | 4.4 | |
OpenShift Container Platform |
| OperatorHub | OperatorHub |
OpenShift Dedicated |
| OperatorHub | N/A |
It is possible to use the crwctl utility script for deploying CodeReady Workspaces 2.2 on OpenShift Container Platform versions 4.3, 4.4, and OpenShift Dedicated version 4.3. This method is considered unofficial and serves as a backup installation method for situations where the installation method using OperatorHub is not available.
1.4.2. Installing and deploying CodeReady Workspaces
For OpenShift 3.11, see the Installing CodeReady Workspaces chapter of the Administrator Guide.
For OpenShift 4.4, see the Installing CodeReady Workspaces from Operator Hub chapter of the Installation Guide.
1.4.3. Support policy
For Red Hat CodeReady Workspaces 2.2, Red Hat will provide support for deployment, configuration, and use of the product.
CodeReady Workspaces 2.2 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.
1.5. 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 plugins 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 2. Known issues
This section lists known issues with Red Hat CodeReady Workspaces 2.2. Where available, workaround suggestions are provided.
2.1. OpenShift Container Platform Developer Topology Perspective view is not working as expected
The Edit source code
icon does not work properly from Developer Topology Perspective.
After the an CodeReady Workspaces application deploys, the topology view should display a clickable icon that loads a CodeReady Workspaces workspace using the devfile that is in the source repository. Instead, it displays the GitHub icon that brings the user to the GitHub source code repository.
2.2. Cannot install CRW on a cluster configured with an authenticated proxy
When installing CRW on a cluster configured with an authenticated proxy, the installation fails because the CodeReady Workspaces server cannot contact the RH-SSO OIDC endpoint.
2.3. AirGap installation of CodeReady Workspaces 2.2 does not work on OpenShift 4.4
On OpenShift 4.4, the catalog bundle image is corrupted and does not appear in OperatorHub. To workaround this issue, update to OpenShift 4.5.
2.4. Installing via crwctl in operator mode in some cases fails
Installation of CodeReady Workspaces with OpenShift OAuth using crwctl in operator
mode in some cases fails or does not deploy resources if existing resources from another crwctl 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.
2.5. Dashboard splash screen refers to an incorrect location on OpenShift 3.11
When CodeReady Workspaces deployed on OpenShift 3.11 encounters a certificate error, the error notification links to the wrong remediation instructions.
To import the certificates, see: Installing Codeready Workspaces in TLS mode with self-signed certificates
2.6. The Getting started
examples are failing in the AirGap mode 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
2.7. The Terminate Task
IDE function does not work properly on OpenShift 4.4 and AWS
Tasks terminated with the Terminate Task
IDE function do not end properly. As a consequence, reactivating the task returns an `The task is already running active` error with the option to use the Restart task
function. However, using this function causes a port conflict and the task fails.
2.8. The Go to definition
and Debug
functions do not work in the Go
workspace
Some devfiles are provided as Technology Preview and are not guaranteed to work for all implementations.
2.9. Syntax highlighting 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.
2.10. The crwctl workspace:inject
command does not work in workspaces with OpenShift OAuth support
The crwctl workspace:inject
command causes the following error during the workspace Pod localization in workspaces created with OpenShift OAuth support.
$ crwctl workspace:inject -n codeready-tls-oauth -k ✔ Verify if namespace codeready-tls-oauth exists ✖ Verify if the workspaces is running → No workspace pod is found Injecting configurations › Error: No workspace pod is found
To work around the issue, use the oc login
command inside the affected container instead.
2.11. OpenShift Projects remain present after a namespace deletion in CodeReady Workspaces 2.2
When a workspace is created in a dedicated namespace and the namespace is later entirely deleted, the corresponding OpenShift project currently does not get deleted.
To complete the deletion process, delete the project manually from the OpenShift console:
$ oc delete project <projectname>
2.12. The crwctl server:delete
command does not remove the OpenShift project
After using the crwctl server:delete
command, the OpenShift project hosted the CodeReady Workspaces instance remains. This makes it impossible to install a new CodeReady Workspaces instance into the still existing default namespace.
To uninstall CodeReady Workspaces completely, remove the namespace manually:
Stop the Red Hat CodeReady Workspaces Server:
$ crwctl server:stop
Obtain the name of the CodeReady Workspaces namespace:
$ oc get checluster --all-namespaces -o=jsonpath="{.items[*].metadata.namespace}"
Remove CodeReady Workspaces from the cluster:
$ crwctl server:delete -n <namespace>
This removes all CodeReady Workspaces installations from the cluster.
Delete the
checluster
object and thecodeready-workspaces
resource:$ oc delete checluster codeready-workspaces --namespace=<openshift_namespace>
<openshift_namespace>
is the name of the OpenShift project where CodeReady Workspaces is deployed.Delete the OpenShift namespace:
$ oc delete project <openshift_namespace>
2.13. The workspace sharing does not work
The File > Share
IDE command currently launches the Workspace
tab, but the Share
tab is missing.
2.14. The crwctl workspace:delete
command cannot find already started workspace
To work around the issue:
-
Use
crwctl server:stop
Use
crwctl workspace:delete
again
2.15. 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.
2.16. The crwctl server:delete
command incorrectly removes checluster
from all CodeReady Workspaces projects on OpenShift Container Platform
Instead of removing checluster
from the current CodeReady Workspaces project, the checluster
is deleted from all projects in the OpenShift Container Platform cluster.
2.17. 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.
2.18. OpenShift Connector plug-in requires manually connecting to the target cluster
By default, the OpenShift Connector plug-in logs in to the cluster as inClusterUser
, which in some cases does not have the manage project
permission. This causes an error message to be displayed when creating a new project using OpenShift Application Explorer:
Failed to create Project with error 'Error: Command failed: "/tmp/vscode-unpacked/redhat.vscode-openshift -connector.latest.qvkozqtkba.openshift-connector-0.1.4-523.vsix/extension/out/tools/linux/odo" project create test-project ✗ projectrequests.project.openshift.io is forbidden
To work around this issue, log out from the local cluster and relog in to OpenShift cluster using the OpenShift user’s credentials.
2.19. An embedded application of the java-eap-maven
stack tends to fail to launch in the debug mode
When launching an embedded application of the java-eap-maven
stack in the debug mode, the launch often fails. The dialog window with the application URL is already displayed, but the terminal output states that the application is still starting. Using the URL link displayed causes an error.
2.20. Error highlighting and code completion do not work in a Go devfile
To work around this issue, update the Go language server plug-in to the latest version.
2.21. Mounting a Kubernetes secret into a workspace container does not work on OpenShift 3.11
The subPath
in VolumeMount
property, necessary for mounting secrets, is supported on Kubernetes version 1.15, where OpenShift 3.11 is based on Kubernetes version 1.11. As a consequence, mounting a Kubernetes secret into a workspace container does not work.
2.22. 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.
2.23. Using of NFS mounts may cause installation or workspace startup failures
For best performance, Red Hat recommends using block storage for Persistent Volumes used with CodeReady Workspaces. The use of NFS is not recommended.
2.24. 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.
2.25. CodeReady Workspaces fails to shut down after executing crwctl server:stop
The crwctl server:stop
command is unable to shut down the CodeReady Workspaces server and instead fails with a timeout and displays the following error message:
› Error: E_SHUTDOWN_CHE_SERVER_FAIL - Failed to shutdown CodeReady Workspaces server. E_CHE_API_NO_RESPONSE - Endpoint: http://codeready-ndp-test.apps.crw.codereadyqe.com/api/system/stop?shutdown=true - Error message: timeout of › 3000ms exceeded
To work around the issue, execute crwctl server:stop
again.
Chapter 3. 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