diff --git a/software/kvm/buildout.hash.cfg b/software/kvm/buildout.hash.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a568ebf7e0ce344dcf23af016bb6ef0cb616fb06 --- /dev/null +++ b/software/kvm/buildout.hash.cfg @@ -0,0 +1,86 @@ +# THIS IS NOT A BUILDOUT FILE, despite purposedly using a compatible syntax. +# The only allowed lines here are (regexes): +# - "^#" comments, copied verbatim +# - "^[" section beginings, copied verbatim +# - lines containing an "=" sign which must fit in the following categorie. +# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file +# Copied verbatim. +# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported +# by the re-generation script. +# Re-generated. +# - other lines are copied verbatim +# Substitution (${...:...}), extension ([buildout] extends = ...) and +# section inheritance (< = ...) are NOT supported (but you should really +# not need these here). + +[template] +filename = instance.cfg.in +md5sum = 028b6a6456d744c11b1bb2c51ecd51b2 + +[template-kvm] +filename = instance-kvm.cfg.jinja2 +md5sum = e30912b1256bb093329ee3c108666f05 + +[template-kvm-cluster] +filename = instance-kvm-cluster.cfg.jinja2.in +md5sum = 63fa784d8946d0b6e3fbd6381e1ea9f4 + +[template-kvm-resilient] +filename = instance-kvm-resilient.cfg.jinja2 +md5sum = c189bce8b196a3b5bcb01526a3f9b2aa + +[template-kvm-import] +filename = instance-kvm-import.cfg.jinja2.in +md5sum = dc3f3ad9ebd8b3b5c3ded57b91cee9c7 + +[template-kvm-import-script] +filename = template/kvm-import.sh.jinja2 +md5sum = cd0008f1689dfca9b77370bc4d275b70 + +[template-kvm-export] +filename = instance-kvm-export.cfg.jinja2 +md5sum = 00ce5e6da3c833d9d9d1825311f11a81 + +[template-kvm-export-script] +filename = template/kvm-export.sh.jinja2 +md5sum = b617d64de73de1eed518185f310bbc82 + +[template-nbd] +filename = instance-nbd.cfg.in +md5sum = f634a5249b773658b7a7bc9fa9bb0368 + +[template-frontend] +filename = instance-frontend.cfg.in +md5sum = cdb690495e9eb007d2b7d2f8e12f5c59 + +[template-ansible-promise] +filename = template/ansible-promise.in +md5sum = 2036bf145f472f62ef8dee5e729328fd + +[template-kvm-run] +filename = template/template-kvm-run.in +md5sum = 9e40246b4bc4f968f0631016c939b014 + +[template-kvm-controller] +filename = template/kvm-controller-run.in +md5sum = b96cba47c97f277c857176d69e086a12 + +[template-apache-conf] +filename = template/apache.conf.in +md5sum = ac97f6a52e1c5a19a646242ef85abb8a + +[template-content] +filename = template/template-content.in +md5sum = 822737e483864bf255ad1259237bef2a + +[template-qemu-ready] +filename = template/qemu-is-ready.in +md5sum = b304eec8e2cb71f10ea83cac22f6db12 + +[file-download-script] +filename = template/download_file.in +md5sum = 599dbbbd438fe7801e3f8642ae9e9a78 + +[template-httpd] +filename = instance-kvm-http.cfg.in +md5sum = 26a181a48046ce88570adb32334747ef diff --git a/software/kvm/software.cfg b/software/kvm/software.cfg index 77305e7e8b99059efac3329f35efae7f480c93f3..460f5292cd1127853e8089123e350831ff42a4a2 100644 --- a/software/kvm/software.cfg +++ b/software/kvm/software.cfg @@ -12,6 +12,7 @@ extends = ../../stack/slapos.cfg ../../component/nodejs/buildout.cfg ../../stack/resilient/buildout.cfg + buildout.hash.cfg # stacks are listed from most generic to most specific, # to avoid versioning issues @@ -86,158 +87,101 @@ command = # Create all templates that will be used to deploy instances +[download-base] +recipe = hexagonit.recipe.download +url = ${:_profile_base_location_}/${:filename} +mode = 0644 -[template] +[download-file-base] +<= download-base +ignore-existing = true +download-only = true + +[download-template-base] +<= download-file-base +url = ${:_profile_base_location_}/template/${:path} +path = ${:filename} + +[template-file-base] recipe = slapos.recipe.template -url = ${:_profile_base_location_}/instance.cfg.in -md5sum = 028b6a6456d744c11b1bb2c51ecd51b2 -output = ${buildout:directory}/template.cfg +url = ${:_profile_base_location_}/${:filename} mode = 0644 +[template] +<= template-file-base +output = ${buildout:directory}/template.cfg + [template-kvm] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2 -mode = 644 -md5sum = e30912b1256bb093329ee3c108666f05 -download-only = true +<= download-file-base on-update = true [template-kvm-cluster] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in -mode = 644 -md5sum = 63fa784d8946d0b6e3fbd6381e1ea9f4 -download-only = true +<= download-file-base on-update = true [template-kvm-resilient] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2 -mode = 644 -md5sum = c189bce8b196a3b5bcb01526a3f9b2aa -download-only = true +<= download-file-base on-update = true [template-kvm-import] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/instance-kvm-import.cfg.jinja2.in -md5sum = dc3f3ad9ebd8b3b5c3ded57b91cee9c7 -mode = 0644 -download-only = true +<= download-file-base on-update = true [template-kvm-import-script] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/template/kvm-import.sh.jinja2 +<= download-template-base filename = kvm-import.sh.jinja2 -md5sum = cd0008f1689dfca9b77370bc4d275b70 -download-only = true mode = 0755 [template-kvm-export] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/instance-kvm-export.cfg.jinja2 -mode = 644 -md5sum = 00ce5e6da3c833d9d9d1825311f11a81 -download-only = true +<= download-file-base on-update = true [template-kvm-export-script] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/template/kvm-export.sh.jinja2 +<= download-template-base filename = kvm-export.sh.jinja2 -md5sum = b617d64de73de1eed518185f310bbc82 -download-only = true mode = 0755 [template-nbd] -recipe = slapos.recipe.template -url = ${:_profile_base_location_}/instance-nbd.cfg.in -md5sum = f634a5249b773658b7a7bc9fa9bb0368 +<= template-file-base output = ${buildout:directory}/template-nbd.cfg -mode = 0644 [template-frontend] -recipe = slapos.recipe.template -url = ${:_profile_base_location_}/instance-frontend.cfg.in -md5sum = cdb690495e9eb007d2b7d2f8e12f5c59 +<= template-file-base output = ${buildout:directory}/template-frontend.cfg -mode = 0644 [template-ansible-promise] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/template/ansible-promise.in -md5sum = 2036bf145f472f62ef8dee5e729328fd -mode = 0644 -download-only = true +<= download-template-base filename = ansible-promise.in [template-kvm-run] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/template/template-kvm-run.in -mode = 644 +<= download-template-base filename = template-kvm-run.in -md5sum = 9e40246b4bc4f968f0631016c939b014 -download-only = true on-update = true [template-kvm-controller] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/template/kvm-controller-run.in -mode = 644 +<= download-template-base filename = kvm-controller-run.in -md5sum = b96cba47c97f277c857176d69e086a12 -download-only = true on-update = true [template-apache-conf] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/template/apache.conf.in -mode = 644 +<= download-template-base filename = apache.conf.in -md5sum = ac97f6a52e1c5a19a646242ef85abb8a -download-only = true on-update = true [template-content] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/template/template-content.in -mode = 644 +<= download-template-base filename = template-content.in -md5sum = 822737e483864bf255ad1259237bef2a -download-only = true on-update = true [template-qemu-ready] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/template/qemu-is-ready.in -mode = 644 +<= download-template-base filename = qemu-is-ready.in -md5sum = b304eec8e2cb71f10ea83cac22f6db12 -download-only = true on-update = true [file-download-script] -recipe = hexagonit.recipe.download -ignore-existing = true -url = ${:_profile_base_location_}/template/download_file.in -mode = 644 +<= download-template-base +path = download_file.in filename = download_file -md5sum = 599dbbbd438fe7801e3f8642ae9e9a78 -download-only = true on-update = true [template-httpd]