Dynamic allocation system for Bareon.
Go to file
2015-12-29 21:15:06 +03:00
bareon_dynamic_allocator Add yaql template language to spaces description 2015-12-29 21:08:02 +03:00
doc/source Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
etc/bareon-dynamic-allocator Update simple schema comment 2015-12-29 21:15:06 +03:00
.coveragerc Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
.gitignore Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
.gitreview Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
.mailmap Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
.testr.conf Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
babel.cfg Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
CONTRIBUTING.rst Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
HACKING.rst Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
LICENSE Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
MANIFEST.in Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
README.rst Add improvments list to readme 2015-12-29 21:07:15 +03:00
requirements.txt Add yaql as requirements 2015-12-29 21:06:58 +03:00
run.sh Add run.sh to easily debug the problems 2015-12-22 18:58:11 +03:00
setup.cfg Add command line entry point 2015-12-22 18:54:11 +03:00
setup.py Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
test-requirements.txt Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00
tox.ini Initial Cookiecutter Commit. 2015-12-22 12:40:52 +03:00

bareon-dynamic-allocator

A driver for Bareon for dynamic allocation of volumes

Please feel here a long description which must be at least 3 lines wrapped on 80 cols, so that distribution package maintainers can use it in their packages. Note that this is a hard requirement.

Features

  • TODO

Future Improvments

  • user weight if max is not specified [DONE]
  • if min and max for several spaces are the same, consider using weight (DONE, but only for max, better design for min is required)
  • improve weight algorithm, use weights only if minimal size of one disk is not bigger than maximal size of another, otherwise we should notify user about the error
  • research on YAQL in order to filter the disks by some criteria
  • we should automatically add Unallocate volume with no constraints, so user can specify volumes with maximal sizes, and the rest of the space will be allocated for Unallocate
  • create special types, like lv_mirror with special policy to allocate volume of the same size over several disks
  • add integer constraints (the problem can be solved with integer programming, but it may lead to situation when there are no feasible solution, so for our practical purpose we are going to use naive implementation which is rounding of resulting vectos x)
  • as a user I should be able to define a single disk partition (http://math.stackexchange.com/questions/1460350/formulation-of-mutually-exclusive-condition, http://people.brunel.ac.uk/~mastjjb/jeb/or/moreip.html)