Skip to content

Add refresh v3 implementation #241

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

Draft
wants to merge 23 commits into
base: main
Choose a base branch
from
Draft

Conversation

carlcsaposs-canonical
Copy link
Contributor

@carlcsaposs-canonical carlcsaposs-canonical commented Apr 2, 2025

Uses charm-refresh Python package: https://github.com/canonical/charm-refresh

@carlcsaposs-canonical carlcsaposs-canonical force-pushed the refresh-v3-draft branch 23 times, most recently from 7d294ef to d7d94fc Compare April 8, 2025 13:29
Avoid passing refresh object since we know reconcile will be called later (no need to explicitly call it & have it run twice)
@carlcsaposs-canonical
Copy link
Contributor Author

carlcsaposs-canonical commented Apr 10, 2025

You can test the refresh with these charmhub branches (built on #242):

  • dpe/edge/test-refresh-v3-8.0.40
  • dpe/edge/test-refresh-v3-8.0.41
  • dpe/edge/test-refresh-v3-8.0.41-2 - use to test charm-only refresh from 8.0.41
  • dpe/edge/test-refresh-v3-incompat - simulates incompatible workload or charm version
  • dpe/edge/test-refresh-v3-precheckfail - simulates failed pre check
  • dpe/edge/test-refresh-v3-uncaught - simulates uncaught exception (e.g. bug, incorrect arch, etc.)
  • dpe/edge/test-refresh-v3-uncaught-before-snap-refresh - simulates uncaught exception before snap is refreshed
  • dpe/edge/test-refresh-v3-uncaught-except-upgrade-charm-event - simulates uncaught exception, but doesn't raise on upgrade-charm event (juju will get stuck on rollback if exception raised during upgrade charm event [unless --force-units used on refresh])

or modify the branch locally & re-pack the charm

Copy link
Contributor

@paulomach paulomach left a comment

Choose a reason for hiding this comment

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

from tests I am fairly happy. Waiting for tests

Copy link
Contributor

@taurus-forever taurus-forever 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 Carl. I have made many tests and I really like it! Great Job done.

Please check my comment about the lib version used here.

actions.yaml Outdated
Copy link
Contributor

Choose a reason for hiding this comment

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

@delgod as you requested, please re-check/sign the charm Actions changes.

Comment on lines +9 to +15
pause_after_unit_refresh:
description: |
Wait for manual confirmation to resume refresh after these units refresh

Allowed values: "all", "first", "none"
type: string
default: first
Copy link
Contributor

Choose a reason for hiding this comment

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

Finally! THANK YOU!

@carlcsaposs-canonical carlcsaposs-canonical added the enhancement New feature, UI change, or workload upgrade label May 7, 2025
@carlcsaposs-canonical carlcsaposs-canonical changed the title Add refresh v3 draft implementation Add refresh v3 implementation May 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature, UI change, or workload upgrade Libraries: Out of sync
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants