Re: [PATCH master 0/6] New balancing options implementation

2016-06-23 Thread Даниил Лещёв
> > > I would slightly prefer if we discuss it over plain email (without > patches), to see what you think about how complex the network model needs > to be, and whether a static "time X" vs. semi-dynamic (based on the > instance disk size) approach is best. > > Maybe there was some more

Re: [PATCH master 0/6] New balancing options implementation

2016-06-23 Thread 'Iustin Pop' via ganeti-devel
On 23 June 2016 at 17:42, Даниил Лещёв wrote: > Hi, Iustin > > >> Oh, no worries, I just wanted to know if Daniil acknowledged the comments >> or not. >> >> Anyway, comments are welcome here and the discussion is still open:) >>> >> >> > The only reason why I didn't reply to

Re: [PATCH master 0/6] New balancing options implementation

2016-06-23 Thread Даниил Лещёв
Hi, Iustin > Oh, no worries, I just wanted to know if Daniil acknowledged the comments > or not. > > Anyway, comments are welcome here and the discussion is still open:) >> > > The only reason why I didn't reply to your comments is that I wanted to show patchset in order to discuss ideas in

Re: [PATCH master 0/6] New balancing options implementation

2016-06-23 Thread 'Iustin Pop' via ganeti-devel
On 23 June 2016 at 17:08, Oleg Ponomarev wrote: > Hi Iustin, Daniil, > > The reason for Daniil not to reply immediately is his GSoC midterm > evaluation coming soon. As the implementation represents his work during > the first month of GSoC, it's necessary to share it with

Re: [PATCH master 5/6] Add long-time solutions filtering

2016-06-23 Thread Oleg Ponomarev
> + improvement = (ini_cv - opt_cv) / (ini_cv - fin_cv - opt_cv) The above expression is definitely incorrect (just consider opt_cv + eps = fin_cv and fin_cv + eps = ini_cv). The improvement will be negative. Do you mean "(ini_cv - opt_cv) / (fin_cv - opt_cv)" here? > + in if long_sol_f ==

Re: [PATCH master 0/6] New balancing options implementation

2016-06-23 Thread Oleg Ponomarev
Hi Iustin, Daniil, The reason for Daniil not to reply immediately is his GSoC midterm evaluation coming soon. As the implementation represents his work during the first month of GSoC, it's necessary to share it with the community at this point. We have discussed your comments on design document

Re: [PATCH master 0/6] New balancing options implementation

2016-06-23 Thread 'Iustin Pop' via ganeti-devel
On 23 June 2016 at 16:45, wrote: > From: Daniil Leshchev > > The patchset introduces new command line options > (--long-solution-threshold" and --avoid-long-solutions"). > That gives an ability for HBal to avoid balancing solutions, > that take significant

[PATCH master 5/6] Add long-time solutions filtering

2016-06-23 Thread meleodr
From: Daniil Leshchev Change balancing functions in order to disallow long-time solutions, whose K/N metric is less than algLongSolutionsFactor, where K is solution's metric improvement and N is an estimated time in seconds to perform this solution. ---

[PATCH master 3/6] Add bandwidth tags extraction and parsing

2016-06-23 Thread meleodr
From: Daniil Leshchev This tags make possible to specify network bandwidth between nodes. The syntax is "htools:bandwidth:a::b::N", there N is network speed between 'a' and 'b' tags. --- src/Ganeti/HTools/Tags.hs | 60 +

[PATCH master 4/6] Add extraction network bandwidth data from tags

2016-06-23 Thread meleodr
From: Daniil Leshchev This information is used by Hbal in order to prevent long balancing steps ("--avoid-long-solutions"). --- src/Ganeti/HTools/Loader.hs | 20 +++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/Ganeti/HTools/Loader.hs

[PATCH master 6/6] Add tests for 'avoid-long-solutions' and 'long-solution-threshold' options

2016-06-23 Thread meleodr
From: Daniil Leshchev These tests cover the following cases: * default option values [1-3] * avoiding slow networks [4-6] * avoiding balancing moves at all [6-8] All cases use inheritance of tags --- test/data/htools/hbal-avoid-long-solutions.data | 17 +

[PATCH master 1/6] Add "long-solution-threshold" and "avoid-long-solutions" command-line options

2016-06-23 Thread meleodr
From: Daniil Leshchev The "long-solution-threshold" option specifies the threshold in seconds, that defines long-time solutions. The "avoid-long-solutions" option specifies the factor of avoiding long-solutions. Allow only long-time solutions with K/N more than avoiding

[PATCH master 0/6] New balancing options implementation

2016-06-23 Thread meleodr
From: Daniil Leshchev The patchset introduces new command line options (--long-solution-threshold" and --avoid-long-solutions"). That gives an ability for HBal to avoid balancing solutions, that take significant amount of time. Daniil Leshchev (6): Add

[PATCH master 2/6] Add bandwidth tags and bandwidth map fields into Node

2016-06-23 Thread meleodr
From: Daniil Leshchev The bandwidths map store data about network speed between current node and given Node by it's bandwidth tags. --- src/Ganeti/HTools/Node.hs | 30 ++ 1 file changed, 30 insertions(+) diff --git a/src/Ganeti/HTools/Node.hs

Re: [PATCH master] New configuration option for the rbd user-id

2016-06-23 Thread 'Brian Foley' via ganeti-devel
On Thu, Jun 23, 2016 at 06:59:34AM -0700, David Mohr wrote: >Hi Brian, >this is the squashed commit of the actual code changes; without this >the documentation update is slightly misleading ;-) Woops. I guess I was a bit too quick off the mark! >Thanks for applying it! I'll be

Re: [PATCH master] New configuration option for the rbd user-id

2016-06-23 Thread 'Brian Foley' via ganeti-devel
On Thu, Jun 23, 2016 at 03:57:50PM +0200, David Mohr wrote: > The user id is used by ceph to determine the keyring to use for > authentication. By default the admin keyring is used, which may > not be desirable. Example usage: > > $ gnt-cluster modify -D rbd:user-id=foobar > > Signed-off-by:

Re: [PATCH master] New configuration option for the rbd user-id

2016-06-23 Thread David Mohr
Hi Brian, this is the squashed commit of the actual code changes; without this the documentation update is slightly misleading ;-) Thanks for applying it! I'll be back soon with more patches. ~David On Thursday, June 23, 2016 at 3:57:52 PM UTC+2, David Mohr wrote: > > The user id is used by

[PATCH master] New configuration option for the rbd user-id

2016-06-23 Thread David Mohr
The user id is used by ceph to determine the keyring to use for authentication. By default the admin keyring is used, which may not be desirable. Example usage: $ gnt-cluster modify -D rbd:user-id=foobar Signed-off-by: David Mohr --- lib/storage/bdev.py | 44

Re: [PATCH stable-2.17] Prevent the watcher from submitting too many jobs

2016-06-23 Thread 'Brian Foley' via ganeti-devel
On Thu, Jun 23, 2016 at 12:57:01PM +0100, 'Federico Morg Pareschi' via ganeti-devel wrote: > When the watcher runs on each node group, if it can obtain the group > lock, it submits a GROUP_VERIFY_DISKS job for each group. This happens > every 5 minutes due to a cron job. This patch stops the

Re: [PATCH master] Update documentation for rbd:user-id

2016-06-23 Thread 'Brian Foley' via ganeti-devel
On Thu, Jun 23, 2016 at 02:05:30PM +0200, David Mohr wrote: > > Signed-off-by: David Mohr Thanks. LGTM. I'll push it with some minor formatting tweaks. Cheers, Brian.

[PATCH master] Update documentation for rbd:user-id

2016-06-23 Thread David Mohr
Signed-off-by: David Mohr --- doc/design-ceph-ganeti-support.rst |9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/design-ceph-ganeti-support.rst b/doc/design-ceph-ganeti-support.rst index 7ec865c..9bd939c 100644 ---

[PATCH stable-2.17] Prevent the watcher from submitting too many jobs

2016-06-23 Thread 'Federico Morg Pareschi' via ganeti-devel
When the watcher runs on each node group, if it can obtain the group lock, it submits a GROUP_VERIFY_DISKS job for each group. This happens every 5 minutes due to a cron job. This patch stops the watcher from submitting unnecessary verify disks jobs if there are some already pending in the queue