Ok, understood, thanks !

So if I try to run the balancer in the current compat mode, should this
define the weight-set also for the new OSDs ?
But if I try to create a balancer plan, I get an error [*] (while it worked
before adding the new OSDs).



[*]

[root@c-mon-01 balancer]# ceph balancer status
{
    "active": false,
    "plans": [],
    "mode": "crush-compat"
}
[root@c-mon-01 balancer]# ceph balancer optimize plan-xyz
Error EINVAL: Traceback (most recent call last):
  File "/usr/lib64/ceph/mgr/balancer/module.py", line 335, in handle_command
    r, detail = self.optimize(plan)
  File "/usr/lib64/ceph/mgr/balancer/module.py", line 659, in optimize
    return self.do_crush_compat(plan)
  File "/usr/lib64/ceph/mgr/balancer/module.py", line 798, in
do_crush_compat
    weight = best_ws[osd]
KeyError: (19,)

[root@c-mon-01 balancer]#


On Thu, Mar 14, 2019 at 7:34 AM Konstantin Shalygin <k0...@k0ste.ru> wrote:

> On 3/14/19 1:11 PM, Massimo Sgaravatto wrote:
> > Thanks
> >
> > I will try to set the weight-set for the new OSDs
> >
> > But I am wondering what I did wrong to be in such scenario.
>
> You don't. You just use legacy. But why? Jewel clients? Old kernels?
>
> >
> > Is it normal that a new created OSD has no weight-set defined ?
>
> Of course.
>
> > Who is supposed to initially set the weight-set for a OSD ?
>
> Balancer by compat mode.
>
>
>
> k
>
>
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to