Re: [vdsm] flowID schema

2012-02-15 Thread Simon Grinberg
Hi Ayal,

   actual use case where someone would have actually
   benefited
   from
   this.


Sorry joining that late into the discussion.

Forget the automatic analyses/past issues recognition that may or may not be 
possible if we do have flow ID. (Personally I believe it's possible for known 
issues)

Think of large setups, not the few hosts setups that are running in the labs.
Dozens of hosts, hundreds of VMs and tasks, running for few months. 
--- Huge logs (yes we even got 50G sized logs)

Now try to do what you and Saggy are suggesting said, yes it will work!!! 
Sometimes it is the only approach that will be possible.

But what about efficiency?

Some times I found myself spending 30 minutes just getting to the files that I 
need to view and to the approximate location of the error. 
If you have a flow ID you can have a tool that will extract all the relevant 
information from all the hosts participating in that flow and correlate that 
with the rhevm.log as the anchor.

(Valdik actually wrote a tool that follows the SPM and creates an SPM log no 
matter on which host it resides - this allowed tracking flows and proved itself 
useful and time saving, especially since when storage issues begin SPM tends to 
move around :))

In addition to that think about skill levels, 
For you it's very easy to go and debug, you wrote the code, you know what to 
expect and what is the normal behavior (most of the time). But what about 
others?
When encountering an issue within a flow for a front line or a customer self 
debug the easiest way will be to actually compare it to the same flow that 
succeed (if exist) and understand what was supposed to happen next (or before) 
and did not. I actually used that technique a lot. Again a flow ID will save 
time. All you have to do is extract an identical flow that worked using the 
flow-extractor utility and then compare.


I agree that when you get to the really tough cases, they will span across 
flows and your only alternative may be just to dig in. However for many others, 
flows tracking will save support calls, support escalations and will 
considerably help with education. For 2.2 we had Marina going into the code and 
documenting flows, so support people can learn what to expect and what to look 
for in the logs.

I believe it will also help engineering, lot's of times I had to gather 3 
engineers and sat together just to understand a flow in order to debug an issue 
or understand what to expect if someone complained about a weird behavior. 
Since each of them only new what his part is doing - all had to go into their 
code and discuss. With flow ID you can just extract the flow and easily see 
what is being done (you may find out as happened before that it's not exactly 
what they meant to do) 

In short, if we aim to look at RHEV as a system, flows are helpful in many 
aspects. Instead of having discrete components and requiring a high level of 
expertise and spending a lot of time (finding the right spot) to debug even 
minor issues you can look at a system and easily get (most of the time), 
understand what to expect and get to the most relevant logs fairly fast.

Simon.










- Original Message -
 From: Dan Yasny dya...@redhat.com
 To: Ayal Baron aba...@redhat.com
 Cc: Simon Grinberg si...@redhat.com, vdsm-devel@lists.fedorahosted.org
 Sent: Friday, February 10, 2012 4:01:01 PM
 Subject: Re: [vdsm] flowID schema
 
 
 
 - Original Message -
  From: Ayal Baron aba...@redhat.com
  To: Dan Yasny dya...@redhat.com
  Cc: Simon Grinberg si...@redhat.com,
  vdsm-devel@lists.fedorahosted.org
  Sent: Friday, 10 February, 2012 3:51:01 PM
  Subject: Re: [vdsm] flowID schema
  
  
  
  - Original Message -
   
   
   - Original Message -
From: Ayal Baron aba...@redhat.com
To: Dan Yasny dya...@redhat.com
Cc: Simon Grinberg si...@redhat.com,
vdsm-devel@lists.fedorahosted.org
Sent: Friday, 10 February, 2012 2:55:46 PM
Subject: Re: [vdsm] flowID schema



- Original Message -
 
 
 - Original Message -
  From: Ayal Baron aba...@redhat.com
  To: Dan Yasny dya...@redhat.com
  Cc: Simon Grinberg si...@redhat.com,
  vdsm-devel@lists.fedorahosted.org
  Sent: Friday, 10 February, 2012 12:50:04 AM
  Subject: Re: [vdsm] flowID schema
  
  
  
  - Original Message -
From: Saggi Mizrahi smizr...@redhat.com
To: Keith Robertson krobe...@redhat.com
Cc: VDSM Project Development
vdsm-devel@lists.fedorahosted.org
Sent: Thursday, February 9, 2012 2:24:44 PM
Subject: Re: [vdsm] flowID schema
   
-1
   
I agree that for messaging environment having a Message
ID
is
a
must
because you sometimes don't have a particular target so
when
you
get
a response you need to know what this node is actually

Re: [vdsm] VDSM host network configuration

2012-02-15 Thread Dan Kenigsberg
On Thu, Feb 16, 2012 at 12:05:16AM +0800, Lei Li wrote:
 Hi,
 
 We are working on VDSM network REST APIs, to support the functions we need to 
 get
 the list of configured networks. I found that VDSM network has a function
 'listNetworks' in configNetwork.py. It can get and display the current 
 configured
 network like this:
 
 # python configNetwork.py list
 Networks: ['bridge_one', 'bridge_three', 'bridge_two']
 Vlans: []
 Nics: ['eth0']
 Bondings: []
 
 But there are some problems with it. It can not display the defined networks 
 after
 host restart, but the created config file are still 
 there(/etc/sysconfig/network-scripts/..).
 Did I miss anything? Or Is there some way to avoid this?
 
 Your suggestion and thoughts would be appreciated.

Could you describe how you reproduce the problem (with as much details)?
You define a network, persist it, and restart the host?

Did Vdsm restart after boot? What is reported by getVdsCaps ?

Regards,
Dan.
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] VDSM host network configuration

2012-02-15 Thread Adam Litke
On Wed, Feb 15, 2012 at 06:36:48PM +0200, Dan Kenigsberg wrote:
 On Thu, Feb 16, 2012 at 12:05:16AM +0800, Lei Li wrote:
  Hi,
  
  We are working on VDSM network REST APIs, to support the functions we need 
  to get
  the list of configured networks. I found that VDSM network has a function
  'listNetworks' in configNetwork.py. It can get and display the current 
  configured
  network like this:
  
  # python configNetwork.py list
  Networks: ['bridge_one', 'bridge_three', 'bridge_two']
  Vlans: []
  Nics: ['eth0']
  Bondings: []
  
  But there are some problems with it. It can not display the defined 
  networks after
  host restart, but the created config file are still 
  there(/etc/sysconfig/network-scripts/..).
  Did I miss anything? Or Is there some way to avoid this?
  
  Your suggestion and thoughts would be appreciated.

Lei, on my vdsm host, running python /usr/share/vdsm/configNetwork.py list gives
me the following output:

Networks: ['ovirtmgmt']
Vlans: []
Nics: ['eth1', 'eth0']
Bondings: ['bond4', 'bond0', 'bond1', 'bond2', 'bond3']

and python /usr/share/vdsm/configNetwork.py show ovirtmgmt gives:

Bridge ovirtmgmt: vlan=None, bonding=None, nics=['eth0']

These results are what I would expect to see.

 Could you describe how you reproduce the problem (with as much details)?
 You define a network, persist it, and restart the host?

Hi Dan.  As I understand it there is not a problem with vdsm in this regard.
Lei is trying to model the current networking APIs in REST.  To do this you
might have something like:

/vdsm-api/networks/ ..Get a list of bridges configured for vdsm
/vdsm-api/networks/confirmMark the current network config as safe
/vdsm-api/networks/addAdd a new network
/vdsm-api/networks/ovirtmgmt/.View details of the ovirtmgmt network
/vdsm-api/networks/ovirtmgmt/edit.Edit the ovirtmgmt network
/vdsm-api/networks/ovirtmgmt/delete...Delete the ovirtmgmt network

The current vdsm API lacks a facility to display the /vdsm-api/networks/ URI
because there is no function to get such a list.  To create such an API, one
might call out to 'configNetwork.py list'.  Is there support for adding such an
API to API.py?  How about an API to fetch network info via 
configNetwork.py show?  

Also, I think the networking APIs should be organized into a Network class 
within API.py.

 
 Did Vdsm restart after boot? What is reported by getVdsCaps ?

-- 
Adam Litke a...@us.ibm.com
IBM Linux Technology Center

___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] VDSM host network configuration

2012-02-15 Thread Shu Ming

On 2012-2-16 0:05, Lei Li wrote:

Hi,

We are working on VDSM network REST APIs, to support the functions we 
need to get

the list of configured networks. I found that VDSM network has a function
'listNetworks' in configNetwork.py. It can get and display the current 
configured

network like this:

# python configNetwork.py list
Networks: ['bridge_one', 'bridge_three', 'bridge_two']
Vlans: []
Nics: ['eth0']
Bondings: []

But there are some problems with it. It can not display the defined 
networks after
host restart, but the created config file are still 
there(/etc/sysconfig/network-scripts/..).

Did I miss anything? Or Is there some way to avoid this?


Lei,
  How about the real network configurations after the host reboot?
You can run brctl show and ifconfig all to get those.  Also, service 
log can be checked to know if there

is any failure in the boot process





Your suggestion and thoughts would be appreciated.



Lei

___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel



--
Shu Mingshum...@linux.vnet.ibm.com
IBM China Systems and Technology Laboratory


___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] VDSM host network configuration

2012-02-15 Thread Lei Li

On 02/16/2012 07:22 AM, Adam Litke wrote:

On Wed, Feb 15, 2012 at 06:36:48PM +0200, Dan Kenigsberg wrote:

On Thu, Feb 16, 2012 at 12:05:16AM +0800, Lei Li wrote:

Hi,

We are working on VDSM network REST APIs, to support the functions we need to 
get
the list of configured networks. I found that VDSM network has a function
'listNetworks' in configNetwork.py. It can get and display the current 
configured
network like this:

# python configNetwork.py list
Networks: ['bridge_one', 'bridge_three', 'bridge_two']
Vlans: []
Nics: ['eth0']
Bondings: []

But there are some problems with it. It can not display the defined networks 
after
host restart, but the created config file are still 
there(/etc/sysconfig/network-scripts/..).
Did I miss anything? Or Is there some way to avoid this?

Your suggestion and thoughts would be appreciated.

Lei, on my vdsm host, running python /usr/share/vdsm/configNetwork.py list gives
me the following output:

Networks: ['ovirtmgmt']
Vlans: []
Nics: ['eth1', 'eth0']
Bondings: ['bond4', 'bond0', 'bond1', 'bond2', 'bond3']

and python /usr/share/vdsm/configNetwork.py show ovirtmgmt gives:

Bridge ovirtmgmt: vlan=None, bonding=None, nics=['eth0']

These results are what I would expect to see.

Hi Adam,

That's strange...did you reboot your host?
I get this after the host reboot:

#python configNetwork.py list
Networks: []
Vlans: []
Nics: ['eth0']
Bondings: []

I guess maybe I miss something...:(




Could you describe how you reproduce the problem (with as much details)?
You define a network, persist it, and restart the host?

Hi Dan,

Yes, that is what I do. My step is just add a network(like bridge_one), I did 
not
do the persistence action, the added config file is still there but not for the
output of 'configNetwork.py list' after host reboot.
How can I persist the defined network?


Hi Dan.  As I understand it there is not a problem with vdsm in this regard.
Lei is trying to model the current networking APIs in REST.  To do this you
might have something like:

/vdsm-api/networks/ ..Get a list of bridges configured for vdsm
/vdsm-api/networks/confirmMark the current network config as safe
/vdsm-api/networks/addAdd a new network
/vdsm-api/networks/ovirtmgmt/.View details of the ovirtmgmt network
/vdsm-api/networks/ovirtmgmt/edit.Edit the ovirtmgmt network
/vdsm-api/networks/ovirtmgmt/delete...Delete the ovirtmgmt network

The current vdsm API lacks a facility to display the /vdsm-api/networks/ URI
because there is no function to get such a list.  To create such an API, one
might call out to 'configNetwork.py list'.  Is there support for adding such an
API to API.py?  How about an API to fetch network info via
configNetwork.py show?

Also, I think the networking APIs should be organized into a Network class 
within API.py.


Yes, we need to get a list of configured networks as Adam said. and we are
wondering If function 'listNetworks' in configNetwork.py can support it.


Did Vdsm restart after boot? What is reported by getVdsCaps ?


___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] VDSM host network configuration

2012-02-15 Thread Dan Kenigsberg
On Thu, Feb 16, 2012 at 10:55:16AM +0800, Lei Li wrote:
 On 02/16/2012 07:22 AM, Adam Litke wrote:
 On Wed, Feb 15, 2012 at 06:36:48PM +0200, Dan Kenigsberg wrote:
 On Thu, Feb 16, 2012 at 12:05:16AM +0800, Lei Li wrote:
 Hi,
 
 We are working on VDSM network REST APIs, to support the functions we need 
 to get
 the list of configured networks. I found that VDSM network has a function
 'listNetworks' in configNetwork.py. It can get and display the current 
 configured
 network like this:
 
 # python configNetwork.py list
 Networks: ['bridge_one', 'bridge_three', 'bridge_two']
 Vlans: []
 Nics: ['eth0']
 Bondings: []
 
 But there are some problems with it. It can not display the defined 
 networks after
 host restart, but the created config file are still 
 there(/etc/sysconfig/network-scripts/..).
 Did I miss anything? Or Is there some way to avoid this?
 
 Your suggestion and thoughts would be appreciated.
 Lei, on my vdsm host, running python /usr/share/vdsm/configNetwork.py list 
 gives
 me the following output:
 
 Networks: ['ovirtmgmt']
 Vlans: []
 Nics: ['eth1', 'eth0']
 Bondings: ['bond4', 'bond0', 'bond1', 'bond2', 'bond3']
 
 and python /usr/share/vdsm/configNetwork.py show ovirtmgmt gives:
 
 Bridge ovirtmgmt: vlan=None, bonding=None, nics=['eth0']
 
 These results are what I would expect to see.
 Hi Adam,
 
 That's strange...did you reboot your host?
 I get this after the host reboot:
 
 #python configNetwork.py list
 Networks: []
 Vlans: []
 Nics: ['eth0']
 Bondings: []
 
 I guess maybe I miss something...:(
 
 
 Could you describe how you reproduce the problem (with as much details)?
 You define a network, persist it, and restart the host?
 Hi Dan,
 
 Yes, that is what I do. My step is just add a network(like bridge_one), I did 
 not
 do the persistence action, the added config file is still there but not for 
 the
 output of 'configNetwork.py list' after host reboot.
 How can I persist the defined network?

You should call the verb setSafeNetConfig in order to keep your current
network configuration for next reboot.

 
 Hi Dan.  As I understand it there is not a problem with vdsm in this regard.
 Lei is trying to model the current networking APIs in REST.  To do this you
 might have something like:
 
 /vdsm-api/networks/ ..Get a list of bridges configured for 
 vdsm
 /vdsm-api/networks/confirmMark the current network config as safe
 /vdsm-api/networks/addAdd a new network
 /vdsm-api/networks/ovirtmgmt/.View details of the ovirtmgmt network
 /vdsm-api/networks/ovirtmgmt/edit.Edit the ovirtmgmt network
 /vdsm-api/networks/ovirtmgmt/delete...Delete the ovirtmgmt network
 
 The current vdsm API lacks a facility to display the /vdsm-api/networks/ URI
 because there is no function to get such a list.  To create such an API, one
 might call out to 'configNetwork.py list'.  Is there support for adding such 
 an
 API to API.py?  How about an API to fetch network info via
 configNetwork.py show?

Among a lot of other stuff, getVdsCaps returns a dictionary named
'networks'. Hey, I can even see me mentioning this verb down below!
I believe this is what you are looking for.

 
 Also, I think the networking APIs should be organized into a Network class 
 within API.py.
 
 Yes, we need to get a list of configured networks as Adam said. and we are
 wondering If function 'listNetworks' in configNetwork.py can support it.
 
 Did Vdsm restart after boot? What is reported by getVdsCaps ?
 
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel