charm-refresh
Source code

charm-refresh

    • Add in-place refreshes to a charm
      • 1. Is this for you?
      • 2. Glossary
      • 3. What happens after juju refresh
      • 4. Product requirements
      • 5. Backwards compatibility consequences
      • 6. Public interface
      • 7. Add charm-refresh
      • 8. Update config.yaml
      • 9. Update metadata.yaml
      • 10. Update actions.yaml
      • 11. Create refresh_versions.toml
        • Kubernetes
        • Machines
      • 12. Configure log format
      • 13. Increase httpx logger level
      • 14. Remove set_workload_version calls
      • 15. Set up charm compatibility version
      • Difficulty increase
      • 16. Subclass CharmSpecific
        • Kubernetes and machines
        • Kubernetes only
        • Machines only
      • 17. Implement is_compatible
      • 18. Instantiate refresh class
        • Kubernetes
        • Machines
      • 19. Handle PeerRelationNotReady
      • 20. Handle UnitTearingDown
      • 21. Handle KubernetesJujuAppNotTrusted
      • 22. Add CharmSpecific fields
      • 23. Check workload_allowed_to_start
      • 24. Implement refresh_snap
      • 25. Allow next unit to refresh
      • 26. Check in_progress
      • 27. Set status
      • 28. Remove duplicate hardcoded snap info
      • 29. Implement pre-refresh checks
      • 30. Move instantiation of refresh class
      • 31. Set up URL redirect to user docs
    • Known limitations
    • Contact us
    • Reference
      • Glossary
      • What happens after juju refresh
      • Product requirements
      • User experience
        • Config options
        • Statuses
        • Actions
charm-refresh 3.1.0
  • charm-refresh
    • 3.1.0
    • 3.0.0
  • charm-refresh
  • Add in-place refreshes to a charm
  • Difficulty increase
3.1.0 3.0.0
Edit this Page

Difficulty increase

The next steps are significantly more difficult and nuanced than the previous steps.

15. Set up charm compatibility version 16. Subclass CharmSpecific