• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

psafont / xen-api
80%
master: 78%

Build:
Build:
LAST BUILD BRANCH: dev/pau/vdi-revert
DEFAULT BRANCH: master
Repo Added 27 Jun 2024 08:54AM UTC
Token 44F0QJAdTSzQb3VEzs9g3bFwpAisMNkCd regen
Build 798 Last
Files 34
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH dev/pau/vdi-revert
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • 52
  • bump
  • certdocs
  • ci
  • cifix
  • codecov-fallback
  • copam
  • deb/pau/important-backtraces-8
  • dev/pau-vdi-revert-alpha
  • dev/pau/53
  • dev/pau/541
  • dev/pau/bye-yangtze
  • dev/pau/cmdliner
  • dev/pau/cross-pool-fix
  • dev/pau/errors-ha
  • dev/pau/errors-ha-master
  • dev/pau/format
  • dev/pau/ha_errs
  • dev/pau/haxn
  • dev/pau/host-ipv6
  • dev/pau/important-backtraces
  • dev/pau/ipv6-autoconf
  • dev/pau/ipv6-autoconf-backport
  • dev/pau/listless
  • dev/pau/majmin
  • dev/pau/migracap
  • dev/pau/no-exns
  • dev/pau/nocov
  • dev/pau/ocaml54
  • dev/pau/oformat.28.1
  • dev/pau/opam
  • dev/pau/opam-metadata
  • dev/pau/prepof28.1
  • dev/pau/quality
  • dev/pau/random-fixes
  • dev/pau/release-8.3
  • dev/pau/revlog
  • dev/pau/revlog-9
  • dev/pau/schemabump
  • dev/pau/smplugins
  • dev/pau/smplugins-9
  • dev/pau/snaptags
  • dev/pau/sr-description
  • dev/pau/sr-description-83
  • dev/pau/sr-suspend
  • dev/pau/stringless
  • dev/pau/strings
  • dev/pau/stunnel
  • dev/pau/system-status
  • dev/pau/tweaks
  • dev/pau/vdi-revert
  • dev/pau/vdi-revert-alpha
  • dev/pau/vdi-revert-doc
  • dev/pau/version
  • dev/pau/zerotest
  • dev/paus/delays
  • dev/paus/platformdata
  • dev/psafont/arg
  • dev/psafont/arm64
  • dev/psafont/dcmi
  • dev/psafont/format
  • dev/psafont/makemake
  • dev/psafont/onlink
  • dev/psafont/python
  • dev/psafont/ssh-design
  • dev/vdi-revert-prepare
  • dev/vdi-revert-prepare-9
  • dune-mswitch
  • dune-vhd-tool
  • endcover
  • feature/perf-edvint
  • fix-pkgs
  • fixes-next
  • forkexec+
  • forktests
  • getallwhere
  • ghperms
  • gtn-check-all-changes-during-sr-scan
  • hold
  • info
  • instafix
  • last_async
  • late-licenses
  • logconn
  • makemake
  • master
  • meta
  • metacap
  • no-async
  • nosystemd
  • nowarns
  • nuuid
  • omore
  • packs
  • parops
  • pau/dev/cross-pool-fix
  • pkg-fix
  • private/mingl/CP-44103
  • private/paus/accept-rrd
  • private/paus/async-mig
  • private/paus/async_mig
  • private/paus/bashcheck
  • private/paus/console_api
  • private/paus/datasource-confusion
  • private/paus/dev/setup
  • private/paus/dns
  • private/paus/dopon
  • private/paus/duneless-release
  • private/paus/fingers-crossed
  • private/paus/forktime
  • private/paus/gencertg
  • private/paus/grandates
  • private/paus/hold-name-label
  • private/paus/ign
  • private/paus/ipmissing
  • private/paus/ipv6
  • private/paus/ipv6-hack
  • private/paus/its-about-mtime
  • private/paus/late-socket
  • private/paus/logs
  • private/paus/logsig
  • private/paus/minions
  • private/paus/netconf
  • private/paus/new-crypto
  • private/paus/new-numa
  • private/paus/nopes
  • private/paus/numa
  • private/paus/numa-claim
  • private/paus/numa-default
  • private/paus/numa-hard-feature
  • private/paus/numa-mem-metrics
  • private/paus/numa-share
  • private/paus/numa-xs8
  • private/paus/numaybe
  • private/paus/numnummaybe
  • private/paus/one-unlock
  • private/paus/op-ehm
  • private/paus/order_some_plugs
  • private/paus/osandbox
  • private/paus/paraxenopers
  • private/paus/parops
  • private/paus/parsed-pems
  • private/paus/paused-metrics
  • private/paus/pdates
  • private/paus/perfuffle
  • private/paus/pimpampem
  • private/paus/pre-numa
  • private/paus/pvhterm
  • private/paus/random-fixes
  • private/paus/scrub
  • private/paus/sd_notify
  • private/paus/smint
  • private/paus/stdless
  • private/paus/storage-errors
  • private/paus/stringy-crypto
  • private/paus/tears-in-the-rain
  • private/paus/timesout
  • private/paus/undate
  • private/paus/unknown-error
  • private/paus/upup
  • private/paus/validation
  • private/paus/vhd-cleanup
  • private/paus/xenops-long-waits
  • private/paus/xpool
  • private/paus/xs-up
  • qcheck-core
  • qgate
  • release-acquire
  • rrd-unpack
  • runs
  • sad-dco
  • scheduled-yangtze
  • stressdune
  • strip_xfm
  • test-new-setup
  • tests
  • trunc_claims
  • tryshut
  • unit-test
  • unzurich
  • up
  • utop
  • v25.1.0
  • v25.10.0
  • v25.11.0
  • v25.12.0
  • v25.13.0
  • v25.14.0
  • v25.15.0
  • v25.16.0
  • v25.17.0
  • v25.18.0
  • v25.19.0
  • v26.1.3-8.3
  • xen_types

05 Jun 2026 03:22PM UTC coverage: 80.459%. First build
27023688715

push

github

psafont
xapi_vm_snapshot: change VM.revert to use VDI.revert

The code now tries to call VDI.revert on all the disk VDIs, and if that
fails, it falls back to the original revert method that destroys VM
disks, clones snapshot disks and then fixes up metadata.

This means that the successfully reverted disks must be excluded from
the original method. This is done by introducing sets of VDIs and VBDs
and using set logic on them.

The CD disks and the suspend VDI are treated like before: destroy +
clone.

The code is more convoluted that I would have liked because of existing
clone infrastructure mixes VBDs with VDIs, so they need to be converted
back and forth to be able to run the previous method correctly,
especially for updating the snapshot_of field of the cloned snapshot
disks.

Quicktests encodes the difference in behaviour from the original method
to the native one: now VDI UUIDs are not changed when reverting.

Signed-off-by: Pau Ruiz Safont <pau.safont@vates.tech>

3504 of 4355 relevant lines covered (80.46%)

0.8 hits per line

Relevant lines Covered
Build:
Build:
4355 RELEVANT LINES 3504 COVERED LINES
0.8 HITS PER LINE
Source Files on master
  • Tree
  • List 34
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
27023688715 dev/pau/vdi-revert xapi_vm_snapshot: change VM.revert to use VDI.revert The code now tries to call VDI.revert on all the disk VDIs, and if that fails, it falls back to the original revert method that destroys VM disks, clones snapshot disks and then fixes up metada... push 05 Jun 2026 03:24PM UTC psafont github
80.46
27022811330 dev/pau/vdi-revert xapi_vm_snapshot: change VM.revert to use VDI.revert The code now tries to call VDI.revert on all the disk VDIs, and if that fails, it falls back to the original revert method that destroys VM disks, clones snapshot disks and then fixes up metada... push 05 Jun 2026 03:06PM UTC psafont github
80.46
27019361523 dev/pau/vdi-revert xapi_vm_snapshot: change VM.revert to use VDI.revert The code now tries to call VDI.revert on all the disk VDIs, and if that fails, it falls back to the original revert method that destroys VM disks, clones snapshot disks and then fixes up metada... push 05 Jun 2026 02:01PM UTC psafont github
80.46
27010456094 dev/pau/vdi-revert xapi_vm_snapshot: change VM.revert to use VDI.revert The code now tries to call VDI.revert on all the disk VDIs, and if that fails, it falls back to the original revert method that destroys VM disks, clones snapshot disks and then fixes up metada... push 05 Jun 2026 10:47AM UTC psafont github
80.46
27010388428 dev/pau/vdi-revert-alpha xapi_vm_snapshot: change VM.revert to use VDI.revert The code now tries to call VDI.revert on all the disk VDIs, and if that fails, it falls back to the original revert method that destroys VM disks, clones snapshot disks and then fixes up metada... push 05 Jun 2026 10:46AM UTC psafont github
80.46
27007846039 dev/pau/vdi-revert-alpha xapi_vm_snapshot: change VM.revert to use VDI.revert The code now tries to call VDI.revert on all the disk VDIs, and if that fails, it falls back to the original revert method that destroys VM disks, clones snapshot disks and then fixes up metada... push 05 Jun 2026 09:48AM UTC psafont github
80.46
27003284705 dev/pau/vdi-revert-alpha xapi_vm_snapshot: change VM.revert to use VDI.revert a lot of balls to be balled If the storage backend does not implement the call, xapi falls back to the old method of cloning the snapshot, updating all links, and deleting the previous snapsho... push 05 Jun 2026 08:06AM UTC psafont github
80.46
26647676376 dev/pau/vdi-revert idl: update datamodel_lifecycle with VDI revert Signed-off-by: Pau Ruiz Safont <pau.safont@vates.tech> push 29 May 2026 03:59PM UTC psafont github
80.46
26631588352 dev/vdi-revert-prepare-9 quicktest: adapt vm_snapshot tests and quality gate to master The VM creation function was added and the usage needs to be adapted to avoid a partial application. Signed-off-by: Pau Ruiz Safont <pau.safont@vates.tech> push 29 May 2026 10:16AM UTC psafont github
79.0
26631072625 dev/vdi-revert-prepare xapi_vm_snapshot: cover more code to destroy newly cloned VDIs Previously in some parts of the revert, (rare) failures would not induce the deletion of newly cloned VDIs. Signed-off-by: Pau Ruiz Safont <pau.safont@vates.tech> push 29 May 2026 10:04AM UTC psafont github
80.46
See All Builds (699)

Badge your Repo: xen-api

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc