Fixed the implementation and added corresponding chenges to design document and man pages.
The main difference from the original design document is that now metric support partly satisfaction of location desires. This is implemented by considereing each location desire separately. There are two main reasons for this change: * Possibility to say that instance should be placed either to location a or b. (contradictive desired locations) * Possibility to say that instance should be placed e.g. to some powerfull machine in the room a (supplementive desired locations) Oleg Ponomarev (3): Implement instance pinning (desired locations) Developed instance pinning tests Update design document and man pages doc/design-location.rst | 10 ++++++++-- man/hbal.rst | 27 +++++++++++++++++++++------ src/Ganeti/HTools/Instance.hs | 3 +++ src/Ganeti/HTools/Loader.hs | 15 +++++++++++++++ src/Ganeti/HTools/Node.hs | 19 +++++++++++++++++-- src/Ganeti/HTools/Tags/Constants.hs | 7 ++++++- test/data/htools/hbal-desiredlocation-1.data | 9 +++++++++ test/data/htools/hbal-desiredlocation-2.data | 10 ++++++++++ test/data/htools/hbal-desiredlocation-3.data | 12 ++++++++++++ test/data/htools/hbal-desiredlocation-4.data | 11 +++++++++++ test/hs/shelltests/htools-hbal.test | 28 ++++++++++++++++++++++++++++ 11 files changed, 140 insertions(+), 11 deletions(-) create mode 100644 test/data/htools/hbal-desiredlocation-1.data create mode 100644 test/data/htools/hbal-desiredlocation-2.data create mode 100644 test/data/htools/hbal-desiredlocation-3.data create mode 100644 test/data/htools/hbal-desiredlocation-4.data -- 1.9.1
