Skip to content

no cache invalidation for images #17

@cgwalters

Description

@cgwalters

I'm trying to use tmt with the (local) virtual provisioner with a locally generated disk:

provision:
  how: virtual
  # Build via `./tests/build.sh`
  image: $@{test_disk_image}
execute:
  how: tmt

However testcloud copies this disk image over to /var/tmp/tmt/testcloud/images...and then never looks for any changes. That's burned me badly a few times.

The most obvious and efficient thing is to do size/mtime invalidation. It'd also be useful to have e.g. image-ro or something where we simply don't make a copy of the image at all, and just boot directly from it using qemu's -snapshot.

For people who are doing concurrent builds and tests, the disk image building code would need to do the "create + rename" pattern instead of open(O_TRUNC) but that's well understood and standard.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    waiting

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions