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

Use native VertexAI scheduler capability instead of old GCP official workaround #2310

Merged
merged 25 commits into from
Feb 6, 2024

Conversation

francoisserra
Copy link
Contributor

Describe changes

I implemented the switch to native VertexAI pipelines scheduling capability instead of the old way that was relying on creating a cloud function along with a cloud scheduler.
It somewhat simplifies the ZenML VertexAI orchestrator code and also the comprehension (activation/deletion/...) of the scheduled pipelines since now it fully embraces the native VertexAI philosophy.

Note that I deprecated the no longer used settings fields related to "cloud functions" and "cloud scheduler" service accounts (and updated the doc).

Pre-requisites

Please ensure you have done the following:

  • I have read the CONTRIBUTING.md document.
  • If my change requires a change to docs, I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • I have based my new branch on develop and the open PR is targeting develop. If your branch wasn't based on develop read Contribution guide on rebasing branch to develop.
  • If my changes require changes to the dashboard, these changes are communicated/requested.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Other (add details above)

Copy link
Contributor

coderabbitai bot commented Jan 17, 2024

Important

Auto Review Skipped

Auto reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository.

To trigger a single review, invoke the @coderabbitai review command.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository from git and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

@strickvl strickvl added the enhancement New feature or request label Jan 17, 2024
@francoisserra francoisserra marked this pull request as ready for review January 17, 2024 16:18
@htahir1 htahir1 requested review from bcdurak and avishniakov and removed request for bcdurak January 19, 2024 20:07
Copy link
Contributor

@htahir1 htahir1 left a comment

Choose a reason for hiding this comment

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

Wow love this change and it seems very thorough. Thank you @francoisserra for getting rid of that ugly scheduling code! 🚀 I just have a couple of comments. In general I also think we should remove "google-cloud-scheduler>=2.7.3",
"google-cloud-functions>=1.8.3", as dependencies in zenml/integations/gcp/__init__/py

@avishniakov avishniakov requested review from strickvl and safoinme and removed request for avishniakov January 22, 2024 07:51
Copy link
Contributor

@strickvl strickvl left a comment

Choose a reason for hiding this comment

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

Looks good to me at this point. We'll test this on our end as well.

Copy link
Contributor

@safoinme safoinme left a comment

Choose a reason for hiding this comment

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

Looks good, Great PR!

@safoinme safoinme self-requested a review January 23, 2024 15:10
Copy link
Contributor

@htahir1 htahir1 left a comment

Choose a reason for hiding this comment

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

Nice one! the only thing left IMO is just talking about timezones! :-) Rest looks great!

Copy link
Contributor

@htahir1 htahir1 left a comment

Choose a reason for hiding this comment

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

Awesome. @francoisserra thank you so much for this! People are gonna love it! 🚀

@htahir1
Copy link
Contributor

htahir1 commented Jan 29, 2024

@coderabbitai review

@strickvl strickvl marked this pull request as draft January 31, 2024 15:17
@strickvl strickvl marked this pull request as ready for review January 31, 2024 15:17
Copy link

socket-security bot commented Feb 5, 2024

Removed dependencies detected. Learn more about Socket for GitHub ↗︎

🚮 Removed packages: pypi/google-api-python-client@1.12.11, pypi/google-api-python-client@1.12.11

View full report↗︎

Copy link
Contributor

@strickvl strickvl left a comment

Choose a reason for hiding this comment

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

Two tiny nits, but otherwise looks good to go. I'll merge these in from my end.

Copy link
Contributor

@strickvl strickvl left a comment

Choose a reason for hiding this comment

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

Thank you for this!

@bcdurak bcdurak merged commit 44110b5 into zenml-io:develop Feb 6, 2024
53 checks passed
kabinja pushed a commit to kabinja/zenml that referenced this pull request Feb 6, 2024
…workaround (zenml-io#2310)

* Use native VertexAI pipelines scheduling facility

* deprecate VertexOrchestrator no longer used fields

* updating docs

* remove dead code

* style: 🎨 linting

* Update docs/book/stacks-and-components/component-guide/orchestrators/vertex.md

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* Update docs/book/stacks-and-components/component-guide/orchestrators/vertex.md

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* Update src/zenml/integrations/gcp/orchestrators/vertex_orchestrator.py

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* Remove no longer used libraries

* feat: add support for start_time and end_time in the schedule

* Update src/zenml/integrations/gcp/orchestrators/vertex_orchestrator.py

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* docs: Add details about schedule parameters

* Apply suggestions from code review

---------

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: Hamza Tahir <hamza@zenml.io>
Co-authored-by: Barış Can Durak <36421093+bcdurak@users.noreply.github.com>
adtygan pushed a commit to adtygan/zenml that referenced this pull request Mar 21, 2024
…workaround (zenml-io#2310)

* Use native VertexAI pipelines scheduling facility

* deprecate VertexOrchestrator no longer used fields

* updating docs

* remove dead code

* style: 🎨 linting

* Update docs/book/stacks-and-components/component-guide/orchestrators/vertex.md

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* Update docs/book/stacks-and-components/component-guide/orchestrators/vertex.md

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* Update src/zenml/integrations/gcp/orchestrators/vertex_orchestrator.py

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* Remove no longer used libraries

* feat: add support for start_time and end_time in the schedule

* Update src/zenml/integrations/gcp/orchestrators/vertex_orchestrator.py

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>

* docs: Add details about schedule parameters

* Apply suggestions from code review

---------

Co-authored-by: Alex Strick van Linschoten <strickvl@users.noreply.github.com>
Co-authored-by: Hamza Tahir <hamza@zenml.io>
Co-authored-by: Barış Can Durak <36421093+bcdurak@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request run-slow-ci
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants