odo v3.9.0
is now out!
To install odo
, follow the installation guide.
Notable Changes
Check the following Playlists for an overview of the most notable changes in this release:
Deprecation notice
odo registry --details
without --devfile
We are deprecating the usage of odo registry --details
without --devfile
.
Using odo registry --details
without --devfile
still works, but might take very long to return information.
--details
allows to get more details about a specific Devfile stack, and was not intended to be used without specifying --devfile
.
The correct usage of odo registry --details
is by specifying the additional --devfile
flag.
See the command reference page for more details and examples.
Features
Pod Security Admission support
Kubernetes v1.25 introduced Pod Security Standards defining different isolation levels for Pods, along with a Pod Security admission controller to enforce those standards. Namespaces can be labeled to enforce the Pod Security Standards, meaning that a Pod can be rejected if it is not compliant with the security restrictions defined.
See Pod Security Admission for more details.
When used against a Kubernetes or OpenShift cluster, odo
is now able to automatically detect if the current namespace has such restrictions enforced;
and if so, it can dynamically adjust the specifications of the Pods it creates such that they are approved by the Pod Security admission controller.
This applies to resources created automatically by the following odo
commands:
odo dev
: Pod created byodo
to spin up a Development sessionodo deploy
: Kubernetes Jobs created byodo
when invokingexec
commands duringdeploy
(see Howodo
runsexec
commands in Deploy mode)
Bear in mind that you can always customize those resources through pod-overrides
and container-overrides
attributes in the Devfile.
See Extending Kubernetes resources.
Support for autoBuild
and deployByDefault
Devfile fields
To clarify which Devfile components should get created/applied automatically, the Devfile specification introduced two new fields:
autoBuild
onImage
components;deployByDefault
onKubernetes
andOpenShift
components
odo
now supports those fields, following the rules depicted in our Devfile reference page.
Component name added to odo analyze
odo analyze
now includes a new name
field in its output, representing the name of the application if was detected automatically or the current directory name.
See the command reference page for more details.
Example:
[
{
"devfile": "dotnet50",
"ports": [
3000
],
"devfileRegistry": "DefaultDevfileRegistry",
- "devfileVersion": "1.0.3"
+ "devfileVersion": "1.0.3",
+ "name": "my-dotnet-backend"
}
]
Detailed Changelog
As with every release, you can find the full list of changes and bug fixes on the GitHub release page.
Features/Enhancements
- Patch Pods to pass pod security admission #6602 (feloy)
- Pod Security Admission support for
odo deploy
#6679 (feloy) - Speedup
odo registry --details
#6678 (feloy) - Support
autoBuild
anddeployByDefault
on Image and Kubernetes/OpenShift components #6654 (rm3l) - Add name detection to
odo analyze
#6682 (valaparthvi) odo dev
/odo deploy
should display a warning about default namespace on cluster #6688 (valaparthvi)
Bugs
odo analyze
reporting wrong Devfile (nodejs instead of python) #6707 (kadel)- Fix problem when odo deploy processes do not terminate #6716 (feloy)
- Fix issue preventing app from being restarted if
/proc/[pid]/task/[tid]/children
is missing in container (case of Minikube with VirtualBox or KVM drivers) #6690 (rm3l) - Fix:
odo init
does not ask for starter project if the Devfile stack contains extra files #6684 (valaparthvi) - Fix UX issue when exec command fails to run as part of a deploy command #6673 (rm3l)
- Fix issue with conflicting ports when starting multiple Dev sessions on Podman #6660 (rm3l)
- Fix error handling when trying to delete remote resources not present in Devfile #6659 (rm3l)
- Downloading a starter project with
odo init
should no longer replace the contents of the current directory #6633 (valaparthvi)
Documentation
- Document Podman limitations #6653 (feloy)
- Documentation: Debugging with OpenShift Toolkit #6691 (valaparthvi)
- Add doc and blog post about using in-cluster Devfile registries #6689 (rm3l)
- Documentation: How odo supports exec on Deploy #6672 (valaparthvi)
Merged pull requests
- Bump version to 3.9.0 #6717 (rm3l)
- Update the PR template #6712 (valaparthvi)
- Exit a test early if a session has exited while waiting for an output to contain a substring #6711 (valaparthvi)
- Fix nodejs-react versions on generated doc #6710 (feloy)
- Add DEVFILE_REGISTRY env var for periodic tests #6709 (feloy)
- Website: Bump @svgr/webpack from 6.5.1 to 7.0.0 in /docs/website #6708 (dependabot[bot])
- Update alizer #6707 (kadel)
- Get DEVFILE_REGISTRY value for tests, to use local Registry #6705 (feloy)
- Website: Bump
@docusaurus/*
from 2.3.1 to 2.4.0 in /docs/website #6685 (dependabot[bot]) - Go: Bump golang.org/x/sync from 0.0.0-20220722155255-886fb9371eb4 to 0.1.0 #6665 (dependabot[bot])
- Website: Bump @tsconfig/docusaurus from 1.0.6 to 1.0.7 in /docs/website #6664 (dependabot[bot])
- Go: Bump github.com/operator-framework/api from 0.14.1-0.20220413143725-33310d6154f3 to 0.17.3 #6656 (dependabot[bot])
- Website: Bump webpack from 5.75.0 to 5.76.1 in /docs/website #6655 (dependabot[bot])
- Update alizer dependency #6650 (kadel)
- Fix potential issue with
odo describe component
integration tests when Podman is installed #6642 (rm3l)
Contributing to odo
If odo
interests you, and you would like to contribute to it, we welcome you!
You can contribute to odo
in a lot of different ways!
Take it for a spin 🚘 and report back bugs🐞 that you encountered, or features🌟 that you would like to see.
Help us with the documentation📜, or tell us how you used odo
🖍.
Review the PRs👀, or help us fix a failing test 🚩.
Work on the TODOs📝, or help us cleanup the code🚮.
Or, simply tune in📻 to our contributor calls and learn more about odo
.
odo
is your playground!
Read the developer reference guide on contributing to odo to know more.