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

Migrate Hera to newly generate Argo Workflows OpenAPI client #7

Closed
flaviuvadan opened this issue Nov 1, 2021 · 5 comments
Closed

Comments

@flaviuvadan
Copy link
Collaborator

flaviuvadan commented Nov 1, 2021

Currently, Hera builds on top of the now deprecated/archived argo-client-python. This client has moved to the main Argo Workflows repository here. Hera's constructs and imports should migrate to the new client. A new minor version should be generated - 0.0.0 -> 0.1.0 - as a dependency will be removed, another one introduced, but the interface does not change, only internals.

@flaviuvadan
Copy link
Collaborator Author

Now that argoproj/argo-workflows#7363 was merged, we can start thinking about migrating to the new SDK when a new Argo release is performed.

@bobh66
Copy link
Contributor

bobh66 commented Jan 13, 2022

I could really use this change as I have a problem with the current SDK that won't be fixed. It validates the CronWorkflowStatus object that is returned in the create response for CronWorkflow, and it "fails" validation because the "active" attribute is None (since no cronjobs have run yet) which causes a KeyError exception even though the object was created successfully.

Is the new SDK available in pypi? I didn't see anything from a quick search. If you can point me in the right direction I'll see what I can put together.

@bobh66
Copy link
Contributor

bobh66 commented Jan 13, 2022

I should have looked further to see that you started it - let me know if I can be of any help.

@flaviuvadan
Copy link
Collaborator Author

Hey @bobh66! There's a whole story to the initial effort to migrate. Here's the PR that attempted a second migration. The problem is that PyPi does not allow setting a dependency on a repo (as is currently the case with the new SDK). After a discussion with @terrytangyuan it's a bit unclear when the next release of Argo Workflows will take place, which inhibits the official release of the SDK. However, we've discussed using my fork of Argo Workflows, after it's up to date with the latest main branch of Argo Workflows, to create a release candidate as 6.0.0rc0, install that in Hera, and perform the migration. This will give us all the objects that are required, allow us to fix the problem you noticed with cron workflows, and allows us to just relock Hera to use the official SDK post publication to PyPi. Note that both 6.0.0rc0 and 6.0.0 would be officially released to PyPi, not to some projects that I am the sole owner of 🙂 I will try my best to get this done this upcoming weekend.

@flaviuvadan
Copy link
Collaborator Author

6.3.0rv2 was just released: https://pypi.org/project/argo-workflows/6.3.0rc2/ Will perform the migration this week and have a release candidate for Hera.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants