1. 11 7月, 2019 1 次提交
    • E
      snapshot: Add VIR_DOMAIN_SNAPSHOT_CREATE_VALIDATE flag · 95f8e323
      Eric Blake 提交于
      We've been doing a terrible job of performing XML validation in our
      various API that parse XML with a corresponding schema (we started
      with domains back in commit dd69a14f, v1.2.12, but didn't catch all
      domain-related APIs, didn't document the use of the flag, and didn't
      cover other XML). New APIs (like checkpoints) should do the validation
      unconditionally, but it doesn't hurt to continue retrofitting existing
      APIs to at least allow the option.
      
      While there are many APIs that could be improved, this patch focuses
      on wiring up a new snapshot XML creation flag through all the
      hypervisors that support snapshots, as well as exposing it in 'virsh
      snapshot-create'.  For 'virsh snapshot-create-as', we blindly set the
      flag without a command-line option, since the XML we create from the
      command line should generally always comply (note that validation
      might cause failures where it used to succeed, such as if we tighten
      the RNG to reject a name of '../\n'); but blindly passing the flag
      means we also have to add in fallback code to disable validation if
      the server is too old to understand the flag.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Acked-by: NPeter Krempa <pkrempa@redhat.com>
      95f8e323
  2. 04 4月, 2019 1 次提交
    • E
      tests: Avoid writing into $HOME during virsh-snapshot · b1886608
      Eric Blake 提交于
      In a constrained CI environment, where it is intentional that attempts
      to write outside the current directory will fail, virsh-snapshot was
      failing:
      
      @@ -1,2 +1,3 @@
       error: invalid argument: parent s3 for snapshot s2 not found
       error: marker
      +error: Failed to create '/home/travis/.cache/libvirt/virsh': Permission denied
      FAIL virsh-snapshot (exit status: 1)
      
      But we've already solved the problem in virsh-uriprecedence: tell
      virsh to use XDG locations pointing to somewhere we can write rather
      than its default of falling back to $HOME with the test being at risk
      of breaking due to the user's environment and/or unacceptably altering
      the user's normal cache.  Hoist that solution into test-lib.sh, so
      that all scripts can use it as needed. While at it, fix a latent typo
      where XDG_RUNTIME_HOME was set to a literal relative directory name
      "XDG_CACHE_HOME" (the typo did not affect virsh-uriprecedence, but
      could matter to other clients).
      
      Fixes: 280a2b41
      Fixes: 398de147Reported-by: NDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b1886608
  3. 25 3月, 2019 1 次提交
    • E
      snapshot: Add tests of virsh -c test:///default snapshot* · 280a2b41
      Eric Blake 提交于
      Had this been in place earlier, I would have avoided the bugs in
      commit 0baf6945 and 55c2ab3e. Writing the test required me to extend
      the power of virsh - creating enough snapshots to cause fanout
      requires enough input in a single session that adding comments and
      markers makes it easier to check that output is correct. It's still a
      bit odd that with test:///default, reverting to a snapshot changes the
      domain from running to paused (possibly a bug in how the test driver
      copied from the qemu driver) - but the important part is that the test
      is reproducible, and any future tweaks we make to snapshot code have
      less chance of breaking successful command sequences.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Acked-by: NMichal Privoznik <mprivozn@redhat.com>
      280a2b41