]> git.ipfire.org Git - people/ms/network.git/commitdiff
NITSI: Automatically download required images
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 4 Jun 2018 15:38:31 +0000 (16:38 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 15 Jun 2018 11:26:53 +0000 (12:26 +0100)
This patch lets make automatically download all required
images and extracts them.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Makefile.am
configure.ac
test/nitsi/virtual-environment/.gitignore [new file with mode: 0644]
test/nitsi/virtual-environment/basic/machines/.gitignore [new file with mode: 0644]
test/nitsi/virtual-environment/basic/machines/alice/machine.xml.in [moved from test/nitsi/virtual-environment/basic/machines/alice/machine.xml with 98% similarity]
test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml.in [moved from test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml with 69% similarity]
test/nitsi/virtual-environment/basic/machines/bob/machine.xml.in [moved from test/nitsi/virtual-environment/basic/machines/bob/machine.xml with 98% similarity]
test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml.in [moved from test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml with 70% similarity]

index 06b6cddd2b7413cc9f96443171b649aa63eacbf6..f4b8ba13dbeadec394abd8fd7d0267113d67a436 100644 (file)
@@ -89,6 +89,10 @@ INSTALL_EXEC_HOOKS += \
 
 # ------------------------------------------------------------------------------
 
+AM_V_DOWNLOAD   = $(AM_V_DOWNLOAD_$(V))
+AM_V_DOWNLOAD_  = $(AM_V_DOWNLOAD_$(AM_DEFAULT_VERBOSITY))
+AM_V_DOWNLOAD_0 = @echo "  LOAD    " $@;
+
 AM_V_NITSI   = $(AM_V_NITSI_$(V))
 AM_V_NITSI_  = $(AM_V_NITSI_$(AM_DEFAULT_VERBOSITY))
 AM_V_NITSI_0 = @echo "  NITSI   " $@;
@@ -496,7 +500,8 @@ substitutions = \
        '|sbindir=$(sbindir)|' \
        '|networkdir=$(networkdir)|' \
        '|helpersdir=$(helpersdir)|' \
-       '|utildir=$(utildir)|'
+       '|utildir=$(utildir)|' \
+       '|VIRTUAL_ENVIRONMENT_IMAGES_DIR=$(VIRTUAL_ENVIRONMENT_IMAGES_DIR)|'
 
 SED_PROCESS = \
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
@@ -543,7 +548,7 @@ TESTS = \
 # - NITSI tests ----------------------------------------------------------------
 
 # Files for the virtual environment
-EXTRA_DIST += \
+VIRTUAL_ENVIRONMENT_FILES = \
        test/nitsi/virtual-environment/basic/machines/alice/machine.xml \
        test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml \
        test/nitsi/virtual-environment/basic/machines/bob/machine.xml \
@@ -555,6 +560,30 @@ EXTRA_DIST += \
        test/nitsi/virtual-environment/basic/README \
        test/nitsi/virtual-environment/basic/settings
 
+EXTRA_DIST += \
+       test/nitsi/virtual-environment/basic/machines/alice/machine.xml.in \
+       test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml.in \
+       test/nitsi/virtual-environment/basic/machines/bob/machine.xml.in \
+       test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml.in
+
+CLEANFILES += \
+       test/nitsi/virtual-environment/basic/machines/alice/machine.xml \
+       test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml \
+       test/nitsi/virtual-environment/basic/machines/bob/machine.xml \
+       test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml
+
+# Virtual Machine Images
+VIRTUAL_ENVIRONMENT_IMAGES = \
+       $(VIRTUAL_ENVIRONMENT_IMAGES_DIR)/ipfire-alice-2.qcow2 \
+       $(VIRTUAL_ENVIRONMENT_IMAGES_DIR)/ipfire-bob.qcow2
+
+DISTCLEANFILES += \
+       $(VIRTUAL_ENVIRONMENT_IMAGES)
+
+VIRTUAL_ENVIRONMENT_IMAGES_DIR = $(abs_builddir)/test/nitsi/virtual-environment/.images
+VIRTUAL_ENVIRONMENT_IMAGES_DOWNLOAD_URL = \
+       https://people.ipfire.org/~jschlag/nitsi-ipfire/virtual-environment/basic/
+
 NITSI_TESTS = \
        test/nitsi/test/hello-world \
        test/nitsi/test/make-check
@@ -572,8 +601,13 @@ CLEANFILES += \
 NITSI_ENVIRONMENT =
 
 .PHONY: $(NITSI_TESTS)
-$(NITSI_TESTS): % : %/recipe %/settings
+$(NITSI_TESTS): % : %/recipe %/settings $(VIRTUAL_ENVIRONMENT_FILES) $(VIRTUAL_ENVIRONMENT_IMAGES)
        $(AM_V_NITSI) $(NITSI_ENVIRONMENT) $(NITSI) --log-level error -d $@
 
 .PHONY: nitsi
 nitsi: dist $(NITSI_TESTS)
+
+# Downloads a virtual image file and extracts it
+$(VIRTUAL_ENVIRONMENT_IMAGES):
+       $(AM_V_DOWNLOAD)$(MKDIR_P) $(dir $@) && \
+       $(WGET) -qO - $(VIRTUAL_ENVIRONMENT_IMAGES_DOWNLOAD_URL)/$(notdir $@).xz | xz -qd > $@
index 515941451aba852b3937975502ebe4103f214c78..e84bec7d284ac160348e407315c9516f631e9536 100644 (file)
@@ -51,6 +51,7 @@ AC_PROG_MKDIR_P
 AC_PROG_SED
 
 AC_PATH_PROG([NITSI], [nitsi])
+AC_PATH_PROG([WGET], [wget])
 AC_PATH_PROG([XSLTPROC], [xsltproc])
 
 # pkg-config
diff --git a/test/nitsi/virtual-environment/.gitignore b/test/nitsi/virtual-environment/.gitignore
new file mode 100644 (file)
index 0000000..5a345ec
--- /dev/null
@@ -0,0 +1 @@
+/.images
diff --git a/test/nitsi/virtual-environment/basic/machines/.gitignore b/test/nitsi/virtual-environment/basic/machines/.gitignore
new file mode 100644 (file)
index 0000000..89b2605
--- /dev/null
@@ -0,0 +1 @@
+*/*.xml
similarity index 98%
rename from test/nitsi/virtual-environment/basic/machines/alice/machine.xml
rename to test/nitsi/virtual-environment/basic/machines/alice/machine.xml.in
index 5f5b4aca50172796976fb154ce4966038c658f7b..be8da3886021874174873c2f61c5b6c1b6505d4c 100644 (file)
@@ -28,7 +28,7 @@
   <devices>
     <disk type='file' device='disk'>
       <driver name='qemu' type='qcow2'/>
-      <source file='/var/lib/libvirt/images/ipfire-alice.qcow2'/>
+      <source file='@VIRTUAL_ENVIRONMENT_IMAGES_DIR@/ipfire-alice-2.qcow2'/>
       <target dev='vda' bus='virtio'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
     </disk>
similarity index 69%
rename from test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml
rename to test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml.in
index a8311a261feab9167485732a300a818482d85c4f..8d2d1c05f5ad2a934b950f77d81a202c0d41dd92 100644 (file)
@@ -2,7 +2,7 @@
   <description>Snapshot to undo all changes from this test</description>
   <memory>no</memory>
   <disks>
-         <disk name='/var/lib/libvirt/images/ipfire-bob.qcow2'>
+    <disk name='@VIRTUAL_ENVIRONMENT_IMAGES_DIR@/ipfire-alice-2.qcow2'>
     </disk>
   </disks>
 </domainsnapshot>
similarity index 98%
rename from test/nitsi/virtual-environment/basic/machines/bob/machine.xml
rename to test/nitsi/virtual-environment/basic/machines/bob/machine.xml.in
index 60682112db17eba20589a930fd67e78f779d9dd1..f314e8edc5aa57e1859b904676773e38bf078fdd 100644 (file)
@@ -28,7 +28,7 @@
   <devices>
     <disk type='file' device='disk'>
       <driver name='qemu' type='qcow2'/>
-      <source file='/var/lib/libvirt/images/ipfire-bob.qcow2'/>
+      <source file='@VIRTUAL_ENVIRONMENT_IMAGES_DIR@/ipfire-bob.qcow2'/>
       <target dev='vda' bus='virtio'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
     </disk>
similarity index 70%
rename from test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml
rename to test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml.in
index fff9b97752e000d4efd5f70e88297d0c09781169..f15d19adc5d290e0db01f65b4b2a5fd4307c99f0 100644 (file)
@@ -2,7 +2,7 @@
   <description>Snapshot to undo all changes from this test</description>
   <memory>no</memory>
   <disks>
-    <disk name='/var/lib/libvirt/images/ipfire-alice.qcow2'>
+         <disk name='@VIRTUAL_ENVIRONMENT_IMAGES_DIR@/ipfire-bob.qcow2'>
     </disk>
   </disks>
 </domainsnapshot>