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

fix(backend): updated the argo version too 2.7.7. Fixes #4392 #4498

Merged
merged 20 commits into from
Oct 23, 2020

Conversation

NikeNano
Copy link
Member

@NikeNano NikeNano commented Sep 15, 2020

Description of your changes:
Fixes #4392

Checklist:

@kubeflow-bot
Copy link

This change is Reviewable

github.com/Masterminds/squirrel v0.0.0-20190107164353-fa735ea14f09
github.com/VividCortex/mysqlerr v0.0.0-20170204212430-6c6b55f8796f
github.com/argoproj/argo v2.3.0+incompatible
github.com/argoproj/argo v0.0.0-20200506223611-54154c61eb4f
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to use a release version here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure, will check if possible.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant to ask whether it' possible to refer to particular GIT tag like github.com/argoproj/argo v2.7.5...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will try to clean this up after I fixed some of the bugs :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't get it to work to specify the version as you mention @Ark-kun, agree that it would be better to have it with version.

@Ark-kun Ark-kun requested review from rmgogogo and Bobgy September 15, 2020 07:40
@NikeNano NikeNano changed the title fix(backend): updated the argo version. Fixes #4392 fix(backend): updated the argo version. Fixes #4392 WIP Sep 15, 2020
@Bobgy
Copy link
Contributor

Bobgy commented Sep 16, 2020

@@ -263,7 +263,8 @@ spec:
arguments: {}
entrypoint: rand-fail-dag
templates:
- dag:
- arguments: {}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. I thought this Argo issue was fixed at some point...
Update: Turns out, not fully argoproj/argo-workflows#1686

@NikeNano
Copy link
Member Author

NikeNano commented Sep 19, 2020

@NikeNano
Copy link
Member Author

/test kubeflow-pipeline-backend-test

@NikeNano
Copy link
Member Author

NikeNano commented Sep 22, 2020

I have been manage to fix some of the issues but still getting issues with the integration tests according to automatic tests. When runing the tests locally using bazel, I get the following issue:

ERROR: /workspaces/pipelines/backend/src/crd/pkg/client/clientset/versioned/typed/scheduledworkflow/v1beta1/BUILD.bazel:3:1: GoCompile backend/src/crd/pkg/client/clientset/versioned/typed/scheduledworkflow/v1beta1/linux_amd64_stripped/go_default_library%/github.com/kubeflow/pipelines/backend/src/crd/pkg/client/clientset/versioned/typed/scheduledworkflow/v1beta1.a failed (Exit 1) compile failed: error executing command bazel-out/host/bin/external/io_bazel_rules_go/go/tools/builders/linux_amd64_stripped/compile -sdk external/go_sdk -installsuffix linux_amd64 -src ... (remaining 30 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
GoCompile: error running compiler: exit status 2
/root/.cache/bazel/_bazel_root/595e728d121f60f59a14887cb2b2325a/sandbox/processwrapper-sandbox/153/execroot/__main__/backend/src/crd/pkg/client/clientset/versioned/typed/scheduledworkflow/v1beta1/scheduledworkflow_client.go:70:45: scheme.Codecs.WithoutConversion undefined (type serializer.CodecFactory has no field or method WithoutConversion)

As I understand this is related to the CRD client, however when trying to update it seems like the file for updating the API, generate-groups.sh is not available in the repo any longer

${CODEGEN_PKG}/generate-groups.sh "deepcopy" \

Is this still the supported way to update the client? I am a bit on deep water would be great if you could point me in the right direction @neuromage, @Bobgy

@Bobgy
Copy link
Contributor

Bobgy commented Sep 23, 2020

@NikeNano Great progress!

For

CODEGEN_PKG=${SCRIPT_ROOT}/../../../../vendor/k8s.io/code-generator

I think you can run go mod vendor to put all go modules in a vendor folder, then the script should be available there. We are calling k8s.io/code-generator this go module to generate code.

However, I believe no one has tried to rerun it again for a while, so it's totally possible something will fail. Feel free to report it back here.

@NikeNano
Copy link
Member Author

From the main folder(pipelines) I run:

./hack/update-codegen.sh

Inside vendor/k8s.io/ I have the following folders:

api/                     
apimachinery/            
klog/
kubernetes/              
apiextensions-apiserver/
client-go/
kube-openapi/            
utils/ 

and thus it seems like the vendor/k8s.io/code-generator/generate-groups.sh script is not generate @Bobgy.

@google-cla
Copy link

google-cla bot commented Oct 15, 2020

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.
In order to pass this check, please resolve this problem and then comment @googlebot I fixed it.. If the bot doesn't comment, it means it doesn't think anything has changed.

ℹ️ Googlers: Go here for more info.

@Bobgy
Copy link
Contributor

Bobgy commented Oct 22, 2020

Thank you so much! All looking good now!
I've left enough time for others to review.
Let's get this merged now.

/lgtm
/approve

@Bobgy
Copy link
Contributor

Bobgy commented Oct 22, 2020

I think you used a different email account to do one of the commits, overriding the cla for you.

@Bobgy Bobgy changed the title fix(backend): updated the argo version. Fixes #4392 WIP fix(backend): updated the argo client version. Fixes #4392 Oct 22, 2020
@Bobgy
Copy link
Contributor

Bobgy commented Oct 22, 2020

By the way, is this argo client 2.7.5?
Can you update that to the PR title?

@Bobgy
Copy link
Contributor

Bobgy commented Oct 22, 2020

/hold
You can unhold after updating the title

@NikeNano NikeNano changed the title fix(backend): updated the argo client version. Fixes #4392 fix(backend): updated the argo version too 2.7.7. Fixes #4392 Oct 22, 2020
@NikeNano
Copy link
Member Author

/unhold

By the way, is this argo client 2.7.5?
Can you update that to the PR title?

The argo package is updated to version 2.7.7 removed client from the name of the PR as well.

@Bobgy
Copy link
Contributor

Bobgy commented Oct 22, 2020

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Bobgy, NikeNano

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit d7793af into kubeflow:master Oct 23, 2020
elikatsis added a commit to arrikto/kubeflow-pipelines that referenced this pull request Nov 26, 2020
Argo supports a field in the ResourceTemplate that makes the controller
add an owner reference of the workflow to the created resource since
v2.4.0 [1].
With the upgrade of Argo client [2] and deployment [3] we are now able
to exploit it.

We set it to 'false' by default on all ResourceOps (actually, leave it
empty) and 'true' for VolumeOps. This allows the garbage collection of
PVCs upon workflow cleanup without any further change [4].

[1] https://github.com/argoproj/argo/blob/v2.4.0/pkg/apis/workflow/v1alpha1/workflow_types.go#L1044-L1045
[2] kubeflow#4498
[3] kubeflow#3537
[4] kubeflow#1779

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>
elikatsis added a commit to arrikto/kubeflow-pipelines that referenced this pull request Nov 26, 2020
…ow#1779

Argo supports a field in the ResourceTemplate that makes the controller
add an owner reference of the workflow to the created resource since
v2.4.0 [1].
With the upgrade of Argo client [2] and deployment [3] we are now able
to exploit it.

We set it to 'false' by default on all ResourceOps (actually, leave it
empty) and 'true' for VolumeOps. This allows the garbage collection of
PVCs upon workflow cleanup without any further change [4].

[1] https://github.com/argoproj/argo/blob/v2.4.0/pkg/apis/workflow/v1alpha1/workflow_types.go#L1044-L1045
[2] kubeflow#4498
[3] kubeflow#3537
[4] kubeflow#1779

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>
Jeffwan pushed a commit to Jeffwan/pipelines that referenced this pull request Dec 9, 2020
…kubeflow#4498)

* updated the version

* updated the serializer

* fixed test

* fixed some more  changes

* tested to update versions of k8 packages

* reverted package update

* change in API

* fixed dependencies, need to fix broken tests now

* updated fake client and fixed test due to updates in timestam.timestamp

* missed  to update fake client pod

* fixed issue in controller

* tested to update

* updated

* updated controller viewer

* updates to fix go mod vendor

* Updated the client

* updated the golang versions

* missed one docker file update, from 1.11 -> 1.13

* testing to fixe persistinace agent issues

* Updated after feedback

Co-authored-by: Niklas hansson <niklashansson@Niklass-MacBook-Pro.local>
elikatsis added a commit to arrikto/kubeflow-pipelines that referenced this pull request Dec 17, 2020
…ow#1779

Argo supports a field in the ResourceTemplate that makes the controller
add an owner reference of the workflow to the created resource since
v2.4.0 [1].
With the upgrade of Argo client [2] and deployment [3] we are now able
to exploit it.

We set it to 'false' by default on all ResourceOps (actually, leave it
empty) and 'true' for VolumeOps. This allows the garbage collection of
PVCs upon workflow cleanup without any further change [4].

[1] https://github.com/argoproj/argo/blob/v2.4.0/pkg/apis/workflow/v1alpha1/workflow_types.go#L1044-L1045
[2] kubeflow#4498
[3] kubeflow#3537
[4] kubeflow#1779

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>
elikatsis added a commit to arrikto/kubeflow-pipelines that referenced this pull request Jan 8, 2021
…ow#1779

Argo supports a field in the ResourceTemplate that makes the controller
add an owner reference of the workflow to the created resource since
v2.4.0 [1].
With the upgrade of Argo client [2] and deployment [3] we are now able
to exploit it.

We set it to 'false' by default on all ResourceOps (actually, leave it
empty) and 'true' for VolumeOps. This allows the garbage collection of
PVCs upon workflow cleanup without any further change [4].

[1] https://github.com/argoproj/argo/blob/v2.4.0/pkg/apis/workflow/v1alpha1/workflow_types.go#L1044-L1045
[2] kubeflow#4498
[3] kubeflow#3537
[4] kubeflow#1779

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>
elikatsis added a commit to arrikto/kubeflow-pipelines that referenced this pull request Jan 14, 2021
…ow#1779

Argo supports a field in the ResourceTemplate that makes the controller
add an owner reference of the workflow to the created resource since
v2.4.0 [1].
With the upgrade of Argo client [2] and deployment [3] we are now able
to exploit it.

We set it to 'false' by default on all ResourceOps (actually, leave it
empty).

Setting the field to 'true' for VolumeOps allows the garbage collection
of PVCs upon workflow cleanup [4].

[1] https://github.com/argoproj/argo/blob/v2.4.0/pkg/apis/workflow/v1alpha1/workflow_types.go#L1044-L1045
[2] kubeflow#4498
[3] kubeflow#3537
[4] kubeflow#1779

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>
elikatsis added a commit to arrikto/kubeflow-pipelines that referenced this pull request Mar 12, 2021
…ow#1779

Argo supports a field in the ResourceTemplate that makes the controller
add an owner reference of the workflow to the created resource since
v2.4.0 [1].
With the upgrade of Argo client [2] and deployment [3] we are now able
to exploit it.

We set it to 'false' by default on all ResourceOps (actually, leave it
empty).

Setting the field to 'true' for VolumeOps allows the garbage collection
of PVCs upon workflow cleanup [4].

[1] https://github.com/argoproj/argo/blob/v2.4.0/pkg/apis/workflow/v1alpha1/workflow_types.go#L1044-L1045
[2] kubeflow#4498
[3] kubeflow#3537
[4] kubeflow#1779

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>
google-oss-robot pushed a commit that referenced this pull request Mar 12, 2021
…4831)

Argo supports a field in the ResourceTemplate that makes the controller
add an owner reference of the workflow to the created resource since
v2.4.0 [1].
With the upgrade of Argo client [2] and deployment [3] we are now able
to exploit it.

We set it to 'false' by default on all ResourceOps (actually, leave it
empty).

Setting the field to 'true' for VolumeOps allows the garbage collection
of PVCs upon workflow cleanup [4].

[1] https://github.com/argoproj/argo/blob/v2.4.0/pkg/apis/workflow/v1alpha1/workflow_types.go#L1044-L1045
[2] #4498
[3] #3537
[4] #1779

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Backend - Upgrade Argo module
7 participants