Skip to content

feat: class-generator: Prompt the user to update the schema if kind not found #2349

New issue

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

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

Already on GitHub? # to your account

Merged
merged 5 commits into from
Mar 18, 2025

Conversation

myakove
Copy link
Collaborator

@myakove myakove commented Mar 18, 2025

When running class-generator and the resource not found we prompt the user to run update-schema to update it automatically and try again to generate the resource, if the resource not found after the update we exit.

Summary by CodeRabbit

  • New Features

    • Enhanced error handling in the class generation process. The system now prompts users to attempt a schema update when a required entity is missing and automatically retries generation if an update has already been performed. These improvements aim to reduce disruption and enhance recovery workflows.
  • Chores

    • Updated the application version to v1.31.6.

Copy link

coderabbitai bot commented Mar 18, 2025

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (4)
  • class_generator/schema/clusteruserdefinednetwork.json is excluded by !class_generator/schema/**
  • class_generator/schema/clusteruserdefinednetworklist.json is excluded by !class_generator/schema/**
  • class_generator/schema/ipamclaim.json is excluded by !class_generator/schema/**
  • class_generator/schema/ipamclaimlist.json is excluded by !class_generator/schema/**

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This pull request updates the version identifier in the version file and refines the error-handling mechanism in the class generation process. The version in __cluster_version__.txt is changed from v1.31.4 to v1.31.6. Additionally, the class_generator function in class_generator.py now accepts a new parameter, update_schema_executed, which enables an alternative flow for handling missing kinds and prompting schema updates.

Changes

File(s) Change Summary
class_generator/__cluster_version__.txt Version update from v1.31.4 to v1.31.6.
class_generator/class_generator.py Added a new parameter update_schema_executed to the class_generator function. Adjusted the error handling to log distinct error messages and allow recursive retry after schema update.

Possibly related PRs

  • Classg multi kind #2030: Involves modifications to the class_generator.py file that relate to enhancing the functionality of the class generator, particularly in the error handling and control flow of the main function.

Suggested labels

size/XXL, verified, branch-main, can-be-merged, approved-rnetser

Suggested reviewers

  • rnetser
  • dbasunag
  • omrirh

🪧 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>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • 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 testing code 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 gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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 using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@redhat-qe-bot1
Copy link

Report bugs in Issues

The following are automatically added:

  • Add reviewers from OWNER file (in the root of the repository) under reviewers section.
  • Set PR size label.
  • New issue is created for the PR. (Closed when PR is merged/closed)
  • Run pre-commit if .pre-commit-config.yaml exists in the repo.

Available user actions:

  • To mark PR as WIP comment /wip to the PR, To remove it from the PR comment /wip cancel to the PR.
  • To block merging of PR comment /hold, To un-block merging of PR comment /hold cancel.
  • To mark PR as verified comment /verified to the PR, to un-verify comment /verified cancel to the PR.
    verified label removed on each new commit push.
  • To cherry pick a merged PR comment /cherry-pick <target branch to cherry-pick to> in the PR.
    • Multiple target branches can be cherry-picked, separated by spaces. (/cherry-pick branch1 branch2)
    • Cherry-pick will be started when PR is merged
  • To build and push container image command /build-and-push-container in the PR (tag will be the PR number).
    • You can add extra args to the Podman build command
      • Example: /build-and-push-container --build-arg OPENSHIFT_PYTHON_WRAPPER_COMMIT=<commit_hash>
  • To add a label by comment use /<label name>, to remove, use /<label name> cancel
  • To assign reviewers based on OWNERS file use /assign-reviewers
  • To check if PR can be merged use /check-can-merge
  • to assign reviewer to PR use /assign-reviewer @<reviewer>
Supported /retest check runs
  • /retest tox: Retest tox
  • /retest python-module-install: Retest python-module-install
  • /retest conventional-title: Retest pre-commit
  • /retest all: Retest all
Supported labels
  • hold
  • verified
  • wip
  • lgtm

@myakove myakove changed the title class-generator: Prompt the use to update the schema feat: class-generator: Prompt the use to update the schema Mar 18, 2025
@myakove
Copy link
Collaborator Author

myakove commented Mar 18, 2025

/verified

@myakove myakove changed the title feat: class-generator: Prompt the use to update the schema feat: class-generator: Prompt the user to update the schema if kind not found Mar 18, 2025
@myakove
Copy link
Collaborator Author

myakove commented Mar 18, 2025

/verified

@myakove myakove merged commit aee42b1 into main Mar 18, 2025
7 checks passed
@myakove myakove deleted the classg-update-schema-prompt branch March 18, 2025 08:25
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants