Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
slapos slapos
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 122
    • Merge requests 122
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedi
  • slaposslapos
  • Merge requests
  • !794

Merged
Created Jul 31, 2020 by Łukasz Nowak@lukeMaintainer11 of 11 tasks completed11/11 tasks

software/kvm downloadable images

  • Overview 9
  • Commits 2
  • Pipelines 29
  • Changes 11

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 or promises (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
    • for image-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
Edited Aug 14, 2020 by Łukasz Nowak
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: feature/kvm-downloadable-images
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7