Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add breaking changes in odo 2.2 doc #4683

Merged
merged 10 commits into from
May 4, 2021
72 changes: 72 additions & 0 deletions docs/public/breaking-changes-in-odo-2.2.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
== Breaking changes in odo 2.2

This document outlines the breaking changes that were introduced in odo 2.2.
With the increased adoptation of https://devfile.github.io/[Devfiles] we have started to reduce odo's dependency on S2I[Source-to-Image]. Now if you dont know what that is then this document is not as relevant for you.

As part of that effort the primary change that has happened is

* *`odo create --s2i <component-type>` would create a converted Devfile based component on the S2I images of that component type.*

[source,sh]
----
odo create --s2i nodejs
----

Output -

[source,sh]
----
odo create nodejs --s2i
Validation
✓ Validating component [424ms]
Conversion
✓ Successfully generated devfile.yaml and env.yaml for provided S2I component

Please use `odo push` command to create the component with source deployed
----

would generate a `devfile.yaml` which would be using the S2I images and variables that are part of the `nodejs`.

* Note - This wouldn't break any existing S2I components, you are encouraged to convert then using `odo utils convert-to-devfile`. But they would still work.*

* *Currently devfile components do not support `--git` and `--binary` components hence we still use S2I component flow when a user wants to create them.*

[source,sh]
----
odo create java --s2i --git ./build.war
Validation
✓ Validating component [431ms]

Please use `odo push` command to create the component with source deployed
----
Note - observe there wasn't any conversion step involved here.

* *`odo env set DebugPort` wont work with converted devfile components, instead you would need to use `odo config set --env DEBUG_PORT`.*

. Currently the `wildfly` and `dotnet` component types are not working when converted. We have an issue open for this - https://github.com/openshift/odo/issues/4623

=== Known bugs and limitations

* https://github.com/openshift/odo/issues/4623
* https://github.com/openshift/odo/issues/4615
* https://github.com/openshift/odo/issues/4594
* https://github.com/openshift/odo/issues/4593


=== Frequently asked questions

* Why does odo fail create to URL using `odo url create` for a component created using `odo create --s2i` even though `odo url craete` is allowed for devfile?

It won’t fail in the sense that if you tried the conventional s2i approach and try to create `odo url create` it would fail with url for 8080 port already present as there would already be one for you. issue - #4621

* Not sure to understand the status of the debug

odo env set DebugPort wont work, instead you would need to use odo config set --env DEBUG_PORT - this is because the s2i to devfile converted devfiles dont have a debug type command defined in them. We would fix this too.

* So every component will now be reported as devfile component but what about existing S2I components

They should work as is mostly because we tried them and they work, maybe try `odo list` because it is quite complex to make things work across the board.

* If oc based checks in tests are not going to work, is there an alternative odo support around it ?

It wouldn't be right to say that you cannot use `oc` based checks, but they would break because now the s2i components are being converted to devfile, odo would generate a Kubernetes `Deployment` but the `oc` would try to find a `DeploymentConfig` on the cluster.