3.16.0 Release notes and known issues
3.16.0 Release notes and known issues for Red Hat OpenShift Dev Spaces 3.16
Abstract
Making open source more inclusive Copy linkLink copied to clipboard!
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 Copy linkLink copied to clipboard!
Red Hat OpenShift Dev Spaces provides web-based development environments on Red Hat OpenShift with an enterprise-level setup:
- Cloud Development Environments (CDE) server
- IDEs such as Microsoft Visual Studio Code - Open Source and JetBrains IntelliJ IDEA Community (Technology Preview)
- Containerized environments with popular programming languages, frameworks, and Red Hat technologies
Red Hat OpenShift Dev Spaces is well-suited for container-based development.
Red Hat OpenShift Dev Spaces 3.16 is based on Eclipse Che 7.90.
1.1. Supported platforms Copy linkLink copied to clipboard!
OpenShift Dev Spaces runs on OpenShift 4.12–4.16 on the following CPU architectures:
-
AMD64 and Intel 64 (
x86_64) -
IBM Z (
s390x)
The following CPU architecture requires Openshift 4.13-4.16 to run OpenShift Dev Spaces:
-
IBM Power (
ppc64le)
Additional resources
1.2. Support policy Copy linkLink copied to clipboard!
For Red Hat OpenShift Dev Spaces 3.16, Red Hat will provide support for deployment, configuration, and use of the product.
Additional resources
1.3. Differences between Red Hat OpenShift Dev Spaces and Eclipse Che Copy linkLink copied to clipboard!
There are some differences between Red Hat OpenShift Dev Spaces and the upstream project on which it is based, Eclipse Che:
- OpenShift Dev Spaces is supported only on Red Hat OpenShift.
- OpenShift Dev Spaces is based on Red Hat Enterprise Linux and is regularly updated to include the latest security fixes.
- OpenShift Dev Spaces provides getting-started samples supported in the air-gap mode with languages and technologies such as Quarkus, Lombok, NodeJS, Python, DotNet, Golang, and C/C++. Community samples are available at the Devfile registry page.
- OpenShift Dev Spaces uses OpenShift OAuth for user login and management.
Red Hat provides licensing and packaging to ensure enterprise-level support for OpenShift Dev Spaces.
Chapter 2. New features and enhancements Copy linkLink copied to clipboard!
2.1. Add pod placement capabilities for devworkspace-webhook-server and make it more robust Copy linkLink copied to clipboard!
With this release, the devworkspace-webhook-server deployment options are available in the global DevWorkspaceOperatorConfig (DWOC) including: replicas, pod tolerations and nodeSelector.
These configuration options exist in the global DWOC’s config.webhook field:
apiVersion: controller.devfile.io/v1alpha1
kind: DevWorkspaceOperatorConfig
metadata:
name: devworkspace-operator-config
namespace: $OPERATOR_INSTALL_NAMESPACE
config:
routing:
clusterHostSuffix: 192.168.49.2.nip.io
defaultRoutingClass: basic
webhook:
nodeSelector: <string, string>
tolerations: <[]tolerations>
replicas: <int32>
In order for the devworkspace-webhook-server configuration options to take effect:
-
You must place them in the global DWOC, which has the name
devworkspace-operator-configand exists in the namespace where the DevWorkspaceOperator is installed. If it does not already exist on the cluster, you must create it. - You must terminate the devworkspace-controller-manager pod and restart it so that the devworkspace-webhook-server deployment can be adjusted accordingly.
Additionally, the default replica count for the devworkspace-webhook-server deployment has been increased to 2 to increase availability.
Additional resources
2.2. Warning users that creating a CDE from an unknown source could be dangerous Copy linkLink copied to clipboard!
With this release, when you start a cloud development environment (CDE) from a URL, you are asked if you trust the authors of the repository since creating a workspace from unknown or untrusted sources could be dangerous.
Additional resources
2.3. Advanced configuration options for the 'Import from Git' flow Copy linkLink copied to clipboard!
Starting from this release, it is possible to configure the container image, temporary storage, memory and CPU limits when starting a CDE using the "Import from Git" flow.
Additional resources
2.4. Git Configuration from the User Dashboard Copy linkLink copied to clipboard!
With this release, you can not only set the name and email for the Git Configuration but also to upload and edit the entire .gitconfig file from the User Dashboard.
Additional resources
2.5. Support devWorkspace.ignoredUnrecoverableEvents in the CheCluster CustomResource Copy linkLink copied to clipboard!
Starting from this release, you can set ignoredUnrecoverableEvents explicitly on the CheCluster CustomResource level:
apiVersion: org.eclipse.che/v2
kind: CheCluster
spec:
devEnvironments:
ignoredUnrecoverableEvents:
- FailedScheduling
- FailedMount
More details about configuring ignoredUnrecoverableEvents can be found in the official documentation.
Additional resources
2.6. Add DisableInitContainer field in the Custom Resource Copy linkLink copied to clipboard!
The DisableInitContainer field has been added to the CheCluster CR. This field sets the config.workspaces.persistUserHome.disableInitContainer field in the operator-owned DWOC. This field whether the init container that initializes the persistent home directory should be disabled.
When the /home/user directory is persisted, the init container is used to initialize the directory before the workspace starts. If set to true, the init container will not be created, delegating the home persistence setup to the CDE’s first container component’s entrypoint. This field is not used if the devEnvironments.persistUserHome.enabled field is set to false.
The init container is enabled by default.
Additional resources
Chapter 3. Bug fixes Copy linkLink copied to clipboard!
3.1. Allow Ports in Git Provider Endpoint for Personal Access Tokens Copy linkLink copied to clipboard!
With this release, you can provide ports in the URL for Git Provider Endpoint when adding Personal Access Tokens on the User Dashboard. Previously, it was not possible due to strict validation.
Additional resources
3.2. If persistHome is enabled, the token in .kube/config isn’t renewed Copy linkLink copied to clipboard!
Before this release, when the spec.devEnvironments.persistUserHome option was enabled, the token in .kube/config was not renewed automatically during a workspace restart.
You can find more details about automatic token injection in the official documentation.
Additional resources
3.3. Keep projects when restarting a workspace from local devfile Copy linkLink copied to clipboard!
Previously, PROJECTS_ROOT and PROJECT_SOURCE environment variables were not correctly set after using the Restart Workspace from Local Devfile functionality. The defect has been fixed in this release.
Additional resources
3.4. Inconsistency in the behaviour of the $PATH environment variable within Devfile Copy linkLink copied to clipboard!
Previously, when commands were executed using the command definition in the devfile, they had a different $PATH compared to commands launched in containers defined within the components section. The defect has been fixed in this release.
Additional resources
3.5. User-provided environment variables can’t reference $PROJECT_ROOT or $PROJECT_SOURCE Copy linkLink copied to clipboard!
Previously, users were not able to reference the $PROJECT_ROOT or $PROJECT_SOURCE environment variables in their devfile environment variables. This issue has now been fixed in this release.
Additional resources
3.6. Workspace status flickering during startup Copy linkLink copied to clipboard!
Previously, during a workspace startup, the status could have been unexpectedly changed to 'Stopped' even though the workspace started successfully. The defect has been fixed in this release, and the status changes are ignored during workspace startup.
Additional resources
3.7. Starting a new workspace with a clone of the specified branch doesn’t work correctly if the repository has no`devfile.yaml` Copy linkLink copied to clipboard!
Previously, starting a new workspace with a clone of a specified branch didn’t work correctly if the repository didn’t have devfile.yaml. Instead, the default branch was always cloned after the cloud development environment (CDE) startup. The defect has been fixed in this release.
Additional resources
3.8. Branch detection for Microsoft Azure does not work on the User Dashboard Copy linkLink copied to clipboard!
Before this release, branch detection for Microsoft Azure repositories was not working on the User Dashboard. The defect has been fixed in this release.
Additional resources
3.9. Failure to create the workspace by factory from Github Enterprise server public repository if PAT or OAuth is not configured Copy linkLink copied to clipboard!
Before this release, creating a workspace from GitHub Enterprise public repositories that have no personal access token (PAT) or OAuth configured resulted in the following error: "Failed to create the workspace. Cannot build factory with any of the provided parameters. Please check parameters correctness, and resend query." The defect has been fixed in this release.
Additional resources
3.10. Workspace start page goes to cyclic reload if refresh token mode is applied Copy linkLink copied to clipboard!
Previously, using the experimental CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN feature could result in the cyclic reload sequence during cloud development environment (CDE) startup. The defect has been fixed in this release.
Learn more about the CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN feature in the official documentation.
Additional resources
3.11. SSH key added by pasting the key strings in the dashboard is invalid Copy linkLink copied to clipboard!
Before this release, there was an issue with adding an SSH key by manually pasting the key strings in the dashboard. After saving the SSH key and starting the workspace, the project would not be cloned with the following error message: "Could not read from remote repository. Please make sure you have the correct access rights and the repository exists." With this release, the issue has been fixed.
Additional resources
Chapter 4. Technology Preview Copy linkLink copied to clipboard!
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 Copy linkLink copied to clipboard!
None.
Chapter 6. Removed functionalities Copy linkLink copied to clipboard!
6.1. Removed che-devfile-registry Copy linkLink copied to clipboard!
In this release, the Dev Spaces-specific devfile-registry operand has been removed. For configuring the custom Getting-Started samples, the admin should leverage the dedicated Kubernetes ConfigMap.
Find more details in the official documentation.
Additional resources
Chapter 7. Known issues Copy linkLink copied to clipboard!
7.1. Dashboard is not available when using the CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN property Copy linkLink copied to clipboard!
There is a known issue affecting workspaces using Microsoft Azure DevOps/Bitbucket/GitHub git providers in connection with the CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN property. Every time you start a workspace, a new personal access token (PAT) is added to the previous PATs which are not removed. When the number of existing PATs exceeds five, you can not run the workspace, and the Dashboard is not available.
Additional resources
7.2. Previous personal tokens not removed after using the CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN property Copy linkLink copied to clipboard!
There is a known issue with using the CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN property. After using the property, the previous Microsoft Azure DevOps/Bitbucket/GitHub personal tokens are not removed. This can also cause issues with accessing the Dashboard.
Additional resources
7.3. "Untrusted Repository" pop-up re-appears after applying Refused OAuth authorization. Copy linkLink copied to clipboard!
There is currently a known issue with applying Refused OAuth authorization. When you launch a factory with OAuth setup and if and apply the Refused OAuth authorization, the "Untrusted Repository" pop-up appears again.
Additional resources
7.4. Refresh token mode causes cyclic reload of the workspace start page Copy linkLink copied to clipboard!
There is a known issue when experimental refresh token mode is applied using the CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN property for the GitHub and Microsoft Azure DevOps OAuth providers. This causes the workspace starts to reload the dashboard cyclically, creating a new personal access token on each page restart. The refresh token mode works correctly for 'GitLab' and 'BitBucket' OAuth providers.
Additional resources
7.5. FIPS compliance update Copy linkLink copied to clipboard!
There’s a known issue with FIPS compliance that results in certain cryptographic modules not being FIPS-validated. Below is a list of requirements and limitations for using FIPS with OpenShift Dev Spaces:
Required cluster and operator updates
Update your Red Hat OpenShift Container Platform installation to the latest z-stream update for 4.14, 4.15, 4.16, or 4.17 as appropriate. If you do not already have FIPS enabled, you will need to uninstall and reinstall.
Once the cluster is up and running, install OpenShift Dev Spaces 3.18 (3.18-36) and verify that the latest DevWorkspace operator bundle 0.32 (0.32-2) or newer is also installed and updated. See https://catalog.redhat.com/software/containers/devworkspace/devworkspace-operator-bundle/60ec9f48744684587e2186a3
Golang compiler in UDI image
The Universal Developer Image (UDI) container includes a golang compiler, which was built without the CGO_ENABLED=1 flag. The check-payload scanner ( https://github.com/openshift/check-payload ) will throw an error, but this can be safely ignored provided that anything you build with this compiler sets the correct flag CGO_ENABLED=1 and does NOT use extldflags -static or -tags no_openssl.
The resulting binaries can be scanned and should pass without error.
Statically linked binaries
You can find statically linked binaries not related to cryptography in these two containers:
- code-rhel8
- idea-rhel8.
As they are not related to cryptography, they do not affect FIPS compliance.
Helm support for FIPS
The UDI and Code containers includes the helm binary, which was not compiled with FIPS support. If you are in a FIPS environment do not use helm.
Kubedock support for FIPS
The UDI container includes the kubedock binary, which was not compiled with FIPS support. If you are in a FIPS environment do not use kubedock.
Additional resources
7.6. Debugger does not work in the .NET sample Copy linkLink copied to clipboard!
Currently, the debugger in Microsoft Visual Studio Code - Open Source does not work in the .NET sample.
Workaround
Use a different image from the following sources:
Additional resources
Chapter 8. Frequently asked questions Copy linkLink copied to clipboard!
- Is it possible to deploy applications from OpenShift Dev Spaces to an OpenShift cluster?
- OpenShift user token is automatically injected into workspace containers which makes it possible to run oc CLI commands against OpenShift cluster.
- 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?
- Only one OpenShift Dev Spaces instance can be deployed per cluster.
- Is it possible to install OpenShift Dev Spaces offline (that is, disconnected from the internet)?
- See Installing Red Hat OpenShift Dev Spaces in restricted environments on OpenShift.
- Is it possible to use non-default certificates with OpenShift Dev Spaces?
- You can use self-signed or public certificates. See Importing untrusted TLS certificates.
- Is it possible to run multiple workspaces simultaneously?
- See Enabling users to run multiple workspaces simultaneously.