XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    How to revert VM to snapshot

    Scheduled Pinned Locked Moved REST API
    12 Posts 3 Posters 329 Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • olivierlambertO Offline
      olivierlambert Vates 🪐 Co-Founder CEO
      last edited by

      Hi,

      You should use the integrated Swagger doc. Directly from your browser, eg:
      https://<xen-local>/rest/v0/docs/#/vms

      You will see in green all the actions possible. Revert isn't implemented yet in the REST API AFAIK.

      1 Reply Last reply Reply Quote 0
      • olivierlambertO Offline
        olivierlambert Vates 🪐 Co-Founder CEO
        last edited by

        Adding @lsouai-vates in the loop to check with the team to know when it's planned

        1 Reply Last reply Reply Quote 0
        • S Offline
          slavavrn
          last edited by

          Re: Automation script to revert and save snapshot

          Thanks.

          Can I be sure that all API capabilities are reflected in Swagger?

          So far, I've only found one method: creating a scheduled job, which can be launched via the API.
          curl -k -X POST -b 'authenticationToken=<my-token-from-user-authentication-tokens>' 'https://<xen-local>/rest/v0/schedules/<schedule-id>/actions/run'
          But that's a bit of a complicated process.

          1 Reply Last reply Reply Quote 1
          • olivierlambertO Offline
            olivierlambert Vates 🪐 Co-Founder CEO
            last edited by

            Swagger is auto generated from the API, so the doc cannot lag. That's the point of the Swagger doc/API.

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              slavavrn @olivierlambert
              last edited by

              @olivierlambert
              But, for example, for VMS, there are the following actions:
              curl -k -X GET -H "Content-Type: application/json" -b authenticationToken=<my-token-from-user-authentication-tokens> 'https://<xen-local>/rest/v0/vms/<vm_id>/actions'
              [
              "/rest/v0/vms/<vm_id>/actions/clean_reboot",
              "/rest/v0/vms/<vm_id>/actions/clean_shutdown",
              "/rest/v0/vms/<vm_id>/actions/hard_reboot",
              "/rest/v0/vms/<vm_id>/actions/hard_shutdown",
              "/rest/v0/vms/<vm_id>/actions/snapshot",
              "/rest/v0/vms/<vm_id>/actions/start"
              ]
              but in swagger you can see only one action - start
              So, not everything available through the API is reflected in Swagger?Screenshot 2025-10-14 181918.png

              S 1 Reply Last reply Reply Quote 0
              • olivierlambertO Offline
                olivierlambert Vates 🪐 Co-Founder CEO
                last edited by olivierlambert

                Because some endpoints aren't migrated to swagger yet (it needs to be correctly typed etc.). Each month we migrate more and more endpoint to it (it's almost done).

                Adding @mathieuRA in the convo

                1 Reply Last reply Reply Quote 0
                • S Offline
                  slavavrn @slavavrn
                  last edited by

                  So, Swagger isn't 100% API compliant. That's what I was saying 🙂
                  Can I see the API endpoints myself? Is the code open source?
                  https://github.com/vatesfr/xen-orchestra/blob/master/packages/xo-server/src/api/vm.mjs#L1088
                  Did I find the correct entry point?
                  Maybe I should use xo-cli to perform the revert operation? Or does the cli also access the API and can't provide more functionality?

                  1 Reply Last reply Reply Quote 0
                  • olivierlambertO Offline
                    olivierlambert Vates 🪐 Co-Founder CEO
                    last edited by

                    I will let @mathieuRA to answer

                    S 1 Reply Last reply Reply Quote 0
                    • S Offline
                      slavavrn @olivierlambert
                      last edited by

                      @olivierlambert There is no information on this issue yet?

                      MathieuRAM 1 Reply Last reply Reply Quote 0
                      • MathieuRAM Offline
                        MathieuRA Vates 🪐 XO Team @slavavrn
                        last edited by MathieuRA

                        Hi @slavavrn
                        FYI, all endpoints are now documented in Swagger.

                        The REST API code is available here.

                        The revert snapshot action is not yet accessible via the REST API, but you can use it with xo-cli.

                        See
                        xo-cli vm.revert snapshot=<snapshot-id>

                        1 Reply Last reply Reply Quote 1
                        • olivierlambertO Offline
                          olivierlambert Vates 🪐 Co-Founder CEO
                          last edited by

                          Thanks @MathieuRA !

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post