Skip to content

Refactor: implement the managesnapshot.sh features via Java and remove the script #6424

Description

@GutoVeronezi

Several snapshot functionalities, in KVM, are implemented via the script scripts/storage/qcow2/managesnapshot.sh. From #6422 (comment) came the idea to improve these processes by ​​implementing the functionalities via Java, adding documentation, unit tests and logs.

ISSUE TYPE
  • Improvement Request
COMPONENT NAME

KVM

Activity

  1. added this to the 4.18.0.0 milestone on Jun 3, 2022
  2. NuxRo commented on Jun 14, 2022

    @NuxRo
    Contributor

    Hate to stand in the way of progress, but I believe part of the reason Cloudstack has shell scripts in various places, particularly in dealing with libvirt is because historically the java bindings have lagged behind in functionality etc.

    With my Ops hat on, are we sure the shell script bits we want to replace with java are now properly supported in all the major distro, especially the older ones (eg CentOS 7, Ubuntu 20.04) or are we in danger of breaking upgrade paths?
    Thoughts @weizhouapache @wido @rohityadavcloud ?

  3. wido commented on Jun 14, 2022

    @wido
    Contributor

    Hate to stand in the way of progress, but I believe part of the reason Cloudstack has shell scripts in various places, particularly in dealing with libvirt is because historically the java bindings have lagged behind in functionality etc.

    With my Ops hat on, are we sure the shell script bits we want to replace with java are now properly supported in all the major distro, especially the older ones (eg CentOS 7, Ubuntu 20.04) or are we in danger of breaking upgrade paths? Thoughts @weizhouapache @wido @rohityadavcloud ?

    No, I actually think we should implement this in the Java bindings where possible, but ofcourse, caution is needed.

    The reason things were implemented in shell scripts is because people didn't bother in implementing it in libvirt-java and thus just took the easier route.

    Using the API calls of Libvirt is safer, has better Exception handling and such.

    Where possible, use that :-)

  4. weizhouapache commented on Jun 14, 2022

    @weizhouapache
    Member

    Hate to stand in the way of progress, but I believe part of the reason Cloudstack has shell scripts in various places, particularly in dealing with libvirt is because historically the java bindings have lagged behind in functionality etc.
    With my Ops hat on, are we sure the shell script bits we want to replace with java are now properly supported in all the major distro, especially the older ones (eg CentOS 7, Ubuntu 20.04) or are we in danger of breaking upgrade paths? Thoughts @weizhouapache @wido @rohityadavcloud ?

    No, I actually think we should implement this in the Java bindings where possible, but ofcourse, caution is needed.

    The reason things were implemented in shell scripts is because people didn't bother in implementing it in libvirt-java and thus just took the easier route.

    Using the API calls of Libvirt is safer, has better Exception handling and such.

    Where possible, use that :-)

    agree with @wido
    if we can do it using libvirt-java, it is much better.

  5. yadvr commented on Jul 1, 2022

    @yadvr
    Member

    @GutoVeronezi are you working on this?

  6. modified the milestones: 4.18.0.0, 4.19.0.0 on Jan 9, 2023
  7. modified the milestones: 4.19.0.0, 4.20.0.0 on Dec 14, 2023
  8. 1 remaining item

  9. modified the milestones: 4.20.0.0, unplanned on Sep 10, 2024
  10. DaanHoogland commented on Jan 5, 2026

    @DaanHoogland
    Contributor

    @GutoVeronezi , given that much work on snapshots has been done since, what is the status of this ticket in your opinion?

  11. github-actions commented on May 23, 2026

    @github-actions

    This issue is stale because it has been open for 120 days with no activity. It may be removed by administrators of this project at any time. Remove the stale label or comment to request for removal of it to prevent this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions