--Apple-Mail=_89F8B2D6-58F8-414F-A85A-238907D35FA4
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
On 4 Apr 2017, at 12:10, Roy Golan <rgolan(a)redhat.com> wrote:
=20
=20
=20
On Tue, Apr 4, 2017 at 12:49 PM Yaniv Kaul <ykaul(a)redhat.com =
<mailto:ykaul@redhat.com>> wrote:
On Tue, Apr 4, 2017 at 12:29 PM, Roy Golan <rgolan(a)redhat.com =
<mailto:rgolan@redhat.com>> wrote:
I'm working on a POC lately on a change to stats collection and =
retrieval by VDSM. The moto is to cut all we can from host/vm stats =
(possibly caps) and report only core-business stuff to the engine. =
Engine will retrieve the rest through a 3rd party provider
(nevermind what is it atm)
I hope it=E2=80=99s the same one as for VM stats, collectd:)
=20
Being backward compatible by design, I have to support 2 API versions =
for
Host.getStats , '4.1' and '4.2'.
Except from supplying less parameters, I want VDSM to do less stuff.
=
It doesn't need to sample what it doesn't report. In other words I want =
'4.1-sampling' and '4.2-sampling'
=20
# Introducing 'configuration' Verb:
=20
As engine knows always(Hosted Engine as well) what cluster version =
this host
belongs to, it can configure VDSM to operate in cluster =
version mode.
why not running it in parallel for one version?
=20
Host.configure(config=3D{version: 4.2}
=20
Consider this verb, pre-activating using 'Host.getCaps' to set the =
context.
It will set the righjt sampling method, and other stuff if needed
then =
API endpoints will have the right permutation of the api to answer it.
=20
4.2 host can operate in 4.1 mode:
Host.configure(config=3D{version: 4.1}
=20
Issue: moving a 4.2 host from 4.2 cluster to 4.1 is a problem since =
engine needs
to know this is a new vdsm that has the verb available. One =
way to overcome that is to fire the verb for every host regardless of =
the version and disregard an error that implies the verb doesn't exist.
=20
Isn't it solved by host re-installation?
=20
We allow maintenance + change host cluster so not always. Was this =
changed?=20
=20
=20
# Engine:
Engine will have a handling of the verb per version.
Host/Vms monitoring should be changed - I suggest to move out of the =
monitoring
code the whole stats collection as it is a different task =
which is orthogonal to 'monitoring' and in 4.2 more than before.
=20
=20
I know configuration for VDSM has been discussed before and there are =
probably
tons of ways to do it. When you share your thoughts please =
remember that configuration is a by-product of the effort.
=20
How do we persist this level on VDSM? Or we don't, and if VDSM is =
restarted
it is again back to 4.1 mode until Engine tells it otherwise?
Y.
=20
Must persist it somehow otherwise there is a race when the engine will =
send send
a stats request and will get the wrong answer. I'm wondering =
if using differnt endpoints is the right solution here to prevent that =
from happening.=20
method: Host.getStats version: 4.1=20
would it be a problem? assuming that the code is easily started/stopped =
within vdsm, we can just change the behavior based on receiving one or =
the other verb for the first time after vdsm starts
Thanks,
michal
=20
=20
=20
Nevertheless it can be potentially beneficial to more functions in =
vdsm.
=20
Thanks,
Roy
=20
=20
_______________________________________________
Devel mailing list
Devel(a)ovirt.org <mailto:Devel@ovirt.org>
http://lists.ovirt.org/mailman/listinfo/devel =
<
http://lists.ovirt.org/mailman/listinfo/devel>
=20
_______________________________________________
Devel mailing list
Devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel
--Apple-Mail=_89F8B2D6-58F8-414F-A85A-238907D35FA4
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8
<html><head><meta http-equiv=3D"Content-Type"
content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D""><br class=3D""><div><blockquote
type=3D"cite" class=3D""><div =
class=3D"">On 4 Apr 2017, at 12:10, Roy Golan <<a =
href=3D"mailto:rgolan@redhat.com"
class=3D"">rgolan(a)redhat.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><div
class=3D""><div =
dir=3D"ltr" class=3D""><br class=3D""><br
class=3D""><div =
class=3D"gmail_quote"><div dir=3D"ltr"
class=3D"">On Tue, Apr 4, 2017 at =
12:49 PM Yaniv Kaul <<a href=3D"mailto:ykaul@redhat.com" =
class=3D"">ykaul(a)redhat.com</a>&gt; wrote:<br
class=3D""></div><blockquote=
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"
class=3D"gmail_msg"><div =
class=3D"gmail_extra gmail_msg"><div class=3D"gmail_quote
gmail_msg">On =
Tue, Apr 4, 2017 at 12:29 PM, Roy Golan <span dir=3D"ltr" =
class=3D"gmail_msg"><<a href=3D"mailto:rgolan@redhat.com"
=
class=3D"gmail_msg"
target=3D"_blank">rgolan(a)redhat.com</a>&gt;</span> =
wrote:<br class=3D"gmail_msg"><blockquote class=3D"gmail_quote =
gmail_msg" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"
class=3D"gmail_msg"><div =
class=3D"gmail_msg">I'm working on a POC lately on a change to stats =
collection and retrieval by VDSM. The moto is to cut all we can from =
host/vm stats (possibly caps) and report only core-business stuff to the =
engine. Engine will retrieve the rest through a 3rd party =
provider</div></div></blockquote></div></div></div></blockquote></div></di=
v></div></blockquote><blockquote type=3D"cite"
class=3D""><div =
class=3D""><div dir=3D"ltr" class=3D""><div =
class=3D"gmail_quote"><blockquote class=3D"gmail_quote"
style=3D"margin:0 =
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div
dir=3D"ltr" =
class=3D"gmail_msg"><div class=3D"gmail_extra
gmail_msg"><div =
class=3D"gmail_quote gmail_msg"><blockquote class=3D"gmail_quote =
gmail_msg" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"
class=3D"gmail_msg"><div =
class=3D"gmail_msg">(nevermind what is it atm)<br =
class=3D"gmail_msg"></div></div></blockquote></div></div></div></blockquot=
e></div></div></div></blockquote><div><br
class=3D""></div>I hope it=E2=80=
=99s the same one as for VM stats, collectd:)</div><div><br =
class=3D""><blockquote type=3D"cite"
class=3D""><div class=3D""><div =
dir=3D"ltr" class=3D""><div
class=3D"gmail_quote"><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"
class=3D"gmail_msg"><div =
class=3D"gmail_extra gmail_msg"><div class=3D"gmail_quote =
gmail_msg"><blockquote class=3D"gmail_quote gmail_msg"
style=3D"margin:0 =
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div
dir=3D"ltr" =
class=3D"gmail_msg"><div class=3D"gmail_msg"><br =
class=3D"gmail_msg"></div><div
class=3D"gmail_msg">Being backward =
compatible by design, I have to support 2 API versions for Host.getStats =
, '4.1' and '4.2'.<br
class=3D"gmail_msg"></div><div =
class=3D"gmail_msg">Except from supplying less parameters, I want VDSM =
to do less stuff. It doesn't need to sample what it doesn't report. In =
other words I want '4.1-sampling' and '4.2-sampling'<br =
class=3D"gmail_msg"><br
class=3D"gmail_msg"></div><div =
class=3D"gmail_msg"># Introducing 'configuration' Verb:<br =
class=3D"gmail_msg"><br
class=3D"gmail_msg"></div><div =
class=3D"gmail_msg">As engine knows always(Hosted Engine as well) what =
cluster version this host belongs to, it can configure VDSM to operate =
in cluster version mode.<br =
class=3D"gmail_msg"></div></div></blockquote></div></div></div></blockquot=
e></div></div></div></blockquote><div><br
class=3D""></div>why not =
running it in parallel for one version?</div><div><br =
class=3D""><blockquote type=3D"cite"
class=3D""><div class=3D""><div =
dir=3D"ltr" class=3D""><div
class=3D"gmail_quote"><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"
class=3D"gmail_msg"><div =
class=3D"gmail_extra gmail_msg"><div class=3D"gmail_quote =
gmail_msg"><blockquote class=3D"gmail_quote gmail_msg"
style=3D"margin:0 =
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div
dir=3D"ltr" =
class=3D"gmail_msg"><div class=3D"gmail_msg"><br =
class=3D"gmail_msg"> Host.configure(config=3D{version: 4.2}<br
=
class=3D"gmail_msg"></div><div
class=3D"gmail_msg"><br =
class=3D"gmail_msg"></div><div
class=3D"gmail_msg">Consider this verb, =
pre-activating using 'Host.getCaps' to set the context.<br =
class=3D"gmail_msg">It will set the righjt sampling method, and other =
stuff if needed then API endpoints will have the right permutation of =
the api to answer it.<br class=3D"gmail_msg"><br =
class=3D"gmail_msg"></div><div class=3D"gmail_msg">4.2
host can operate =
in 4.1 mode:<br class=3D"gmail_msg"> =
Host.configure(config=3D{version: 4.1}<br class=3D"gmail_msg"><br =
class=3D"gmail_msg"></div><div
class=3D"gmail_msg">Issue: moving a 4.2 =
host from 4.2 cluster to 4.1 is a problem since engine needs to know =
this is a new vdsm that has the verb available. One way to overcome that =
is to fire the verb for every host regardless of the version and =
disregard an error that implies the verb doesn't exist.<br =
class=3D"gmail_msg"></div></div></blockquote><div
class=3D"gmail_msg"><br =
class=3D"gmail_msg"></div></div></div></div><div
dir=3D"ltr" =
class=3D"gmail_msg"><div class=3D"gmail_extra
gmail_msg"><div =
class=3D"gmail_quote gmail_msg"><div
class=3D"gmail_msg">Isn't it solved =
by host
re-installation?</div></div></div></div></blockquote><div
=
class=3D""><br class=3D""></div><div
class=3D"">We allow =
maintenance + change host cluster so not always. Was this changed? =
<br class=3D""></div><blockquote class=3D"gmail_quote"
style=3D"margin:0 =
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div
dir=3D"ltr" =
class=3D"gmail_msg"><div class=3D"gmail_extra
gmail_msg"><div =
class=3D"gmail_quote gmail_msg"><div
class=3D"gmail_msg"><br =
class=3D"gmail_msg"></div><blockquote class=3D"gmail_quote
gmail_msg" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"
class=3D"gmail_msg"><div =
class=3D"gmail_msg"><br
class=3D"gmail_msg"></div><div =
class=3D"gmail_msg"># Engine:<br
class=3D"gmail_msg"></div><div =
class=3D"gmail_msg">Engine will have a handling of the verb per =
version.<br class=3D"gmail_msg"></div><div
class=3D"gmail_msg">Host/Vms =
monitoring should be changed - I suggest to move out of the monitoring =
code the whole stats collection as it is a different task which is =
orthogonal to 'monitoring' and in 4.2 more than before.<br =
class=3D"gmail_msg"><br class=3D"gmail_msg"><br =
class=3D"gmail_msg"></div><div class=3D"gmail_msg">I
know configuration =
for VDSM has been discussed before and there are probably tons of ways =
to do it. When you share your thoughts please remember that =
configuration is a by-product of the effort.<br =
class=3D"gmail_msg"></div></div></blockquote><div
class=3D"gmail_msg"><br =
class=3D"gmail_msg"></div></div></div></div><div
dir=3D"ltr" =
class=3D"gmail_msg"><div class=3D"gmail_extra
gmail_msg"><div =
class=3D"gmail_quote gmail_msg"><div class=3D"gmail_msg">How
do we =
persist this level on VDSM? Or we don't, and if VDSM is restarted it is =
again back to 4.1 mode until Engine tells it =
otherwise?</div></div></div></div></blockquote></div></div></div></blockqu=
ote><blockquote type=3D"cite" class=3D""><div
class=3D""><div dir=3D"ltr" =
class=3D""><div class=3D"gmail_quote"><blockquote
class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"
class=3D"gmail_msg"><div =
class=3D"gmail_extra gmail_msg"><div class=3D"gmail_quote =
gmail_msg"><div =
class=3D"gmail_msg">Y.</div></div></div></div></blockquote><div
=
class=3D""><br class=3D""></div><div
class=3D"">Must persist it somehow =
otherwise there is a race when the engine will send send a stats request =
and will get the wrong answer. I'm wondering if using differnt =
endpoints is the right solution here to prevent that from happening. <br =
class=3D""></div><div class=3D""> method:
Host.getStats version: =
4.1 <br
class=3D""></div></div></div></div></blockquote><div><br
=
class=3D""></div>would it be a problem? assuming that the code is
easily =
started/stopped within vdsm, we can just change the behavior based on =
receiving one or the other verb for the first time after vdsm =
starts</div><div><br =
class=3D""></div><div>Thanks,</div><div>michal</div><div><br
=
class=3D""></div><div><blockquote type=3D"cite"
class=3D""><div =
class=3D""><div dir=3D"ltr" class=3D""><div
class=3D"gmail_quote"><div =
class=3D""> <br
class=3D""></div><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"
class=3D"gmail_msg"><div =
class=3D"gmail_extra gmail_msg"><div class=3D"gmail_quote =
gmail_msg"><div class=3D"gmail_msg"><br
class=3D"gmail_msg"></div><div =
class=3D"gmail_msg"> </div><blockquote
class=3D"gmail_quote =
gmail_msg" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"></blockquote></div></div></div><div
dir=3D"ltr" =
class=3D"gmail_msg"><div class=3D"gmail_extra
gmail_msg"><div =
class=3D"gmail_quote gmail_msg"><blockquote class=3D"gmail_quote =
gmail_msg" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"
class=3D"gmail_msg"><div =
class=3D"gmail_msg">Nevertheless it can be potentially beneficial to =
more functions in vdsm.<br class=3D"gmail_msg"></div><div =
class=3D"gmail_msg"><br
class=3D"gmail_msg"></div><div =
class=3D"gmail_msg">Thanks,<br
class=3D"gmail_msg"></div><div =
class=3D"gmail_msg">Roy<br
class=3D"gmail_msg"></div><div =
class=3D"gmail_msg"><br
class=3D"gmail_msg"></div></div>
<br
class=3D"gmail_msg"></blockquote></div></div></div><div
dir=3D"ltr" =
class=3D"gmail_msg"><div class=3D"gmail_extra
gmail_msg"><div =
class=3D"gmail_quote gmail_msg"><blockquote class=3D"gmail_quote =
gmail_msg" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">_______________________________________________<br=
class=3D"gmail_msg">
Devel mailing list<br class=3D"gmail_msg">
<a href=3D"mailto:Devel@ovirt.org" class=3D"gmail_msg" =
target=3D"_blank">Devel(a)ovirt.org</a><br
class=3D"gmail_msg">
<a
href=3D"http://lists.ovirt.org/mailman/listinfo/devel" =
rel=3D"noreferrer" class=3D"gmail_msg" =
target=3D"_blank">http://lists.ovirt.org/mailman/listinfo/de...
=
class=3D"gmail_msg"></blockquote></div><br =
class=3D"gmail_msg"></div></div>
</blockquote></div></div>
_______________________________________________<br class=3D"">Devel =
mailing list<br class=3D""><a href=3D"mailto:Devel@ovirt.org"
=
class=3D"">Devel(a)ovirt.org</a><br =
class=3D"">http://lists.ovirt.org/mailman/listinfo/devel<...
</div><br class=3D""></body></html>=
--Apple-Mail=_89F8B2D6-58F8-414F-A85A-238907D35FA4--