From bd063ccb7d55c110e96f24d2a10860d10aedfdb6 Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 15 Jul 2022 11:10:19 +0200 Subject: [PATCH 1/4] docs: migration from 3 to 3.1 --- docs/_data/sidebar.yml | 2 ++ docs/documentation/v3-1-migration.md | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 docs/documentation/v3-1-migration.md diff --git a/docs/_data/sidebar.yml b/docs/_data/sidebar.yml index 607bccf6a2..6fc326ef0b 100644 --- a/docs/_data/sidebar.yml +++ b/docs/_data/sidebar.yml @@ -25,3 +25,5 @@ url: /docs/v2-migration - title: Migrating from v2 to v3 url: /docs/v3-migration + - title: Migrating from v3 to v3.1 + url: /docs/v3-1-migration \ No newline at end of file diff --git a/docs/documentation/v3-1-migration.md b/docs/documentation/v3-1-migration.md new file mode 100644 index 0000000000..a41d26e3a1 --- /dev/null +++ b/docs/documentation/v3-1-migration.md @@ -0,0 +1,19 @@ +--- +title: Migrating from v3 to v3.1 +description: Migrating from v3 to v3.1 +layout: docs +permalink: /docs/v3-1-migration +--- + +# Migrating from v3 to v3.1 + +## Workflows Impact on Managed Dependent Resources Behavior + +Version 3.1 comes with a workflow engine that replaces the previous behavior of managed dependent resources. +The primary impact after upgrade, is that if there is a list of managed dependent resource, for now those +were reconciled in order, in the new version are reconciled in parallel. Use +['depends_on'](https://github.com/java-operator-sdk/java-operator-sdk/blob/df44917ef81725c10bbcb772ab7b434d511b13b9/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/Dependent.java#L23-L23) +relation to define order between resources if needed. + +## Garbage Collected Kubernetes Dependent Resources + From 0f9e28c1d7d11364b75e05c99acaf0bb60b0e9ea Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 15 Jul 2022 11:22:30 +0200 Subject: [PATCH 2/4] docs --- docs/documentation/v3-1-migration.md | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/docs/documentation/v3-1-migration.md b/docs/documentation/v3-1-migration.md index a41d26e3a1..2b150c33bf 100644 --- a/docs/documentation/v3-1-migration.md +++ b/docs/documentation/v3-1-migration.md @@ -10,10 +10,31 @@ permalink: /docs/v3-1-migration ## Workflows Impact on Managed Dependent Resources Behavior Version 3.1 comes with a workflow engine that replaces the previous behavior of managed dependent resources. +See Workflows documentation for further details. The primary impact after upgrade, is that if there is a list of managed dependent resource, for now those -were reconciled in order, in the new version are reconciled in parallel. Use +were reconciled in order, in the new version are reconciled in parallel. Use ['depends_on'](https://github.com/java-operator-sdk/java-operator-sdk/blob/df44917ef81725c10bbcb772ab7b434d511b13b9/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/Dependent.java#L23-L23) relation to define order between resources if needed. -## Garbage Collected Kubernetes Dependent Resources +## Garbage Collected Kubernetes Dependent Resources +In version 3 all Kubernetes Dependent Resource +implementing [`Deleter`](https://github.com/java-operator-sdk/java-operator-sdk/blob/bd063ccb7d55c110e96f24d2a10860d10aedfdb6/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/Deleter.java#L13-L13) +interface were meant to be also using owner references (thus garbage collected by Kubernetes), +if not configured otherwise. In 3.1 there is a +dedicated [`GarbageCollected`](https://github.com/java-operator-sdk/java-operator-sdk/blob/bd063ccb7d55c110e96f24d2a10860d10aedfdb6/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/GarbageCollected.java#L28-L28) +interface to distinguish between a Kubernetes resource that mean to be garbage collected or explicitly deleted. +See also the javadoc how does this impacts the behavior adding owner references. +Note that `GarbageCollected` interface extends `Deleter`, so the dependent resource becomes the deleter automatically by +implementing this interface. + +In addition to that the supporting classes were updated. Instead +of [`CRUKubernetesDependentResource`](https://github.com/java-operator-sdk/java-operator-sdk/blob/d99f65a736e9180e3f6de9a4239f80e47fc653fc/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/CRUKubernetesDependentResource.java) +there are two: + +- [`CRUDKubernetesDependentResource`](https://github.com/java-operator-sdk/java-operator-sdk/blob/bd063ccb7d55c110e96f24d2a10860d10aedfdb6/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/CRUDKubernetesDependentResource.java) + that is `GarbageCollected` +- [`CRUDNoGCKubernetesDependentResource`](https://github.com/java-operator-sdk/java-operator-sdk/blob/bd063ccb7d55c110e96f24d2a10860d10aedfdb6/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/CRUDNoGCKubernetesDependentResource.java) + what is `Deleter` but not `GarbageCollected` + +Use the one according to your use case. \ No newline at end of file From a876f5b40bab60bc074ba4d16c9aed7f87bc51eb Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 15 Jul 2022 11:23:36 +0200 Subject: [PATCH 3/4] docs --- docs/documentation/v3-1-migration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/v3-1-migration.md b/docs/documentation/v3-1-migration.md index 2b150c33bf..da0856d8b6 100644 --- a/docs/documentation/v3-1-migration.md +++ b/docs/documentation/v3-1-migration.md @@ -28,7 +28,7 @@ See also the javadoc how does this impacts the behavior adding owner references. Note that `GarbageCollected` interface extends `Deleter`, so the dependent resource becomes the deleter automatically by implementing this interface. -In addition to that the supporting classes were updated. Instead +The supporting classes were also updated. Instead of [`CRUKubernetesDependentResource`](https://github.com/java-operator-sdk/java-operator-sdk/blob/d99f65a736e9180e3f6de9a4239f80e47fc653fc/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/CRUKubernetesDependentResource.java) there are two: From fe8b67c9b4a346e4be40ca035a31f3a8e6b47db6 Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Fri, 15 Jul 2022 13:02:31 +0200 Subject: [PATCH 4/4] docs: improve skip-ci --- docs/documentation/v3-1-migration.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/docs/documentation/v3-1-migration.md b/docs/documentation/v3-1-migration.md index da0856d8b6..2a1ceac7e9 100644 --- a/docs/documentation/v3-1-migration.md +++ b/docs/documentation/v3-1-migration.md @@ -9,24 +9,25 @@ permalink: /docs/v3-1-migration ## Workflows Impact on Managed Dependent Resources Behavior -Version 3.1 comes with a workflow engine that replaces the previous behavior of managed dependent resources. -See Workflows documentation for further details. -The primary impact after upgrade, is that if there is a list of managed dependent resource, for now those -were reconciled in order, in the new version are reconciled in parallel. Use +Version 3.1 comes with a workflow engine that replaces the previous behavior of managed dependent +resources. +See [Workflows documentation](https://javaoperatorsdk.io/docs/workflows) for further details. +The primary impact after upgrade is a change of the order in which managed dependent resources +are reconciled. They are now reconciled in parallel with optional ordering defined using the ['depends_on'](https://github.com/java-operator-sdk/java-operator-sdk/blob/df44917ef81725c10bbcb772ab7b434d511b13b9/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/Dependent.java#L23-L23) -relation to define order between resources if needed. +relation to define order between resources if needed. In v3, managed dependent resources were +implicitly reconciled in the order they were defined in. ## Garbage Collected Kubernetes Dependent Resources In version 3 all Kubernetes Dependent Resource implementing [`Deleter`](https://github.com/java-operator-sdk/java-operator-sdk/blob/bd063ccb7d55c110e96f24d2a10860d10aedfdb6/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/Deleter.java#L13-L13) -interface were meant to be also using owner references (thus garbage collected by Kubernetes), -if not configured otherwise. In 3.1 there is a +interface were meant to be also using owner references (thus garbage collected by Kubernetes). +In 3.1 there is a dedicated [`GarbageCollected`](https://github.com/java-operator-sdk/java-operator-sdk/blob/bd063ccb7d55c110e96f24d2a10860d10aedfdb6/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/GarbageCollected.java#L28-L28) -interface to distinguish between a Kubernetes resource that mean to be garbage collected or explicitly deleted. -See also the javadoc how does this impacts the behavior adding owner references. -Note that `GarbageCollected` interface extends `Deleter`, so the dependent resource becomes the deleter automatically by -implementing this interface. +interface to distinguish between Kubernetes resources meant to be garbage collected or explicitly +deleted. Please refer also to the `GarbageCollected` javadoc for more details on how this +impacts how owner references are managed. The supporting classes were also updated. Instead of [`CRUKubernetesDependentResource`](https://github.com/java-operator-sdk/java-operator-sdk/blob/d99f65a736e9180e3f6de9a4239f80e47fc653fc/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/CRUKubernetesDependentResource.java) @@ -37,4 +38,5 @@ there are two: - [`CRUDNoGCKubernetesDependentResource`](https://github.com/java-operator-sdk/java-operator-sdk/blob/bd063ccb7d55c110e96f24d2a10860d10aedfdb6/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/CRUDNoGCKubernetesDependentResource.java) what is `Deleter` but not `GarbageCollected` -Use the one according to your use case. \ No newline at end of file +Use the one according to your use case. We anticipate that most people would want to use +`CRUDKubernetesDependentResource` whenever they have to work with Kubernetes dependent resources. \ No newline at end of file