software/kvm downloadable images
Currently only NBD can be used to install custom operating system. The problem here, is that nbd can be really slow if it's far away from the VM, and additionally the KVM user can have no control over how far (in sense speed and latency) the VM will be from the NBD.
To circumvent this downloadable images feature is going to be implemented.
When the list image-url-list
is not empty, each line will be checked and list of images will be processed. For each image which is not downloaded yet (or it's checksum does not match, until some period) it will be downloaded and attached to the VM.
TODO:
- use something safer then monitor public url (private? then provide URLs to access the data with username and password)
- allow only 4 ISOs at a time (will max out to 20G)
- retry only few times, if download is ok, but md5sum still does not match
consider adding support for images without md5sum?!- drastically improve readability of used promises and parts
-
report back issues to the requester via
slapos orpromises (in case of promises use error-state json files which are expected to be empty, and if not, then let promise fail and show the url to see details)- publish understandable state on HTTP with more details than in promise
forimage-download-config-creator
use value returned in the publish, as it is evaluated during the run ACHTUNG --> collective.recipe.shelloutput seems to not execute on each time... :(-
for result of
image-download-config-creator
add promise that configuration was generated w/o errors -
for
image-download-controller
use value in promise only, as it is evaluated asynchronously
- watch out! you need to reprocess the partition also in case when parameter change for the configuration, but it's still not reflected -- so one promise has to fail until image-updater will process current configuration (currently it does not fail, so it will not reprocess)
- support the linked images in kvm itself
- develop with py3, support py2