<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 07/23/2012 11:02 AM, Dan Wendlandt wrote:
<blockquote
cite="mid:CA+0XJm9DSUEsAujKC8V-Op1OGfgm-Yp+yfuGS6w79Qg9YLsSKA@mail.gmail.com"
type="cite"><br>
<br>
<div class="gmail_quote">On Sun, Jul 22, 2012 at 5:51 AM, Gary
Kotton <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:gkotton@redhat.com" target="_blank">gkotton@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000">
<div class="im"><br>
<blockquote type="cite">
<div class="gmail_quote"> </div>
</blockquote>
<br>
</div>
This is an interesting idea. In addition to the creation we
will also need the update. I would prefer that the agents
would have one topic - that is for all updates. When an
agent connects to the plugin it will register the type of
operations that are supported on the specific agent. The
agent operations can be specific as bit masks.<br>
<br>
I have implemented something similar in <a
moz-do-not-send="true"
href="https://review.openstack.org/#/c/9591"
target="_blank">https://review.openstack.org/#/c/9591</a><br>
<br>
This can certainly be improved and optimized. What are your
thoughts?<br>
</div>
</blockquote>
<div><br>
</div>
<div>Based on your follow-up emails, I think we're now thinking
similarly about this. Just to be clear though, for updates I
was talking about a different topic for each entity that has
its own UUID (e.g., topic
port-update-f01c8dcb-d9c1-4bd6-9101-1924790b4b45) <br>
</div>
</div>
</blockquote>
<br>
Printout from the rabbit queues (this is for linux bridge where at
the moment the port update and network deletion are of interest
(unless we decide to change the way in which the agent is
implemented))<br>
<br>
openstack@openstack:~/devstack$ sudo rabbitmqctl list_queues<br>
Listing queues ...<br>
q-agent-network-update 0<br>
q-agent-network-update.10351797001a4a231279 0<br>
q-plugin 0<br>
q-agent-port-update.10351797001a4a231279 0<br>
<br>
10351797001a4a231279 == IP and MAC of the host<br>
<br>
<blockquote
cite="mid:CA+0XJm9DSUEsAujKC8V-Op1OGfgm-Yp+yfuGS6w79Qg9YLsSKA@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> <br>
In addition to this we have a number of issues where the
plugin does not expose the information via the standard
API's - for example the VLAN tag (this is being addressed
via extensions in the provider networks feature)<br>
</div>
</blockquote>
<div><br>
</div>
<div>Agreed. There are a couple options here: direct DB access
(no polling, just direct fetching), admin API extensions, or
custom RPC calls. Each has pluses and minuses. Perhaps my
real goal here would be better described as "if there's an
existing plugin agnostic way to doing X, our strong bias
should be to use it until presented with concrete evidence to
the contrary". For example, should a DHCP client create a
port for the DHCP server via the standard API, or via a custom
API or direct DB access? My strong bias would be toward using
the standard API. <br>
</div>
</div>
</blockquote>
<br>
Good question. I think that if the standard API's can be used then
we should go for it. Problem is that these require additional
configurations. <br>
<br>
<blockquote
cite="mid:CA+0XJm9DSUEsAujKC8V-Op1OGfgm-Yp+yfuGS6w79Qg9YLsSKA@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> 3. Logging. At the
moment the agents do not have a decent logging mechanism.
This makes debugging the RPC code terribly difficult. This
was scheduled for F-3. I'll be happy to add this if there
are no objections.<br>
</div>
</blockquote>
<div><br>
</div>
<div>That sounds valuable. <br>
</div>
</div>
</blockquote>
<br>
Hopefully I'll be able to find some time for this.<br>
<blockquote
cite="mid:CA+0XJm9DSUEsAujKC8V-Op1OGfgm-Yp+yfuGS6w79Qg9YLsSKA@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> 4. We need to discuss
the notifications that Yong added and how these two methods
can interact together. More specifically I think that we
need to address the configuration files.<br>
</div>
</blockquote>
<div><br>
</div>
<div>Agreed. I think we need to decide on this at monday's IRC
meeting, so we can move forward. Given F-3 deadlines, I'm
well aware that I'll have to be pragmatic here :) </div>
<div> </div>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> <br>
The RPC code requires that the eventlet monkey patch be set.
This cause havoc when I was using the events from pyudev for
new device creation. At the moment I have moved the event
driven support to polling (if anyone who reads this is
familiar with the issue or has an idea on how to address it
any help will be great)</div>
</blockquote>
<div><br>
</div>
<div>Sorry, wish I could help, but I'm probably in the same boat
as you on this one. <br>
</div>
</div>
</blockquote>
<br>
I have a solution that works. In the long term it would be better if
this was event driven. This all depends on how the discussions above
play out.<br>
<blockquote
cite="mid:CA+0XJm9DSUEsAujKC8V-Op1OGfgm-Yp+yfuGS6w79Qg9YLsSKA@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div> </div>
<div>I'm going to make sure we have a good chunk of time to
discuss this during the IRC meeting on monday (sorry, I know
that's late night for you...). <br>
</div>
</div>
</blockquote>
<br>
:). Tomorrow is jet lag day!<br>
<blockquote
cite="mid:CA+0XJm9DSUEsAujKC8V-Op1OGfgm-Yp+yfuGS6w79Qg9YLsSKA@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div><br>
</div>
<div>Dan</div>
<div><br>
</div>
<div><br>
</div>
<div> </div>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> <br>
Thanks<span class="HOEnZb"><font color="#888888"><br>
Gary</font></span>
<div class="im"><br>
<blockquote type="cite">
<div class="gmail_quote">
<div>Dan</div>
<div><br>
</div>
<div><br>
</div>
<div> </div>
</div>
~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
Dan Wendlandt
<div>Nicira, Inc: <a moz-do-not-send="true"
href="http://www.nicira.com" target="_blank">www.nicira.com</a><br>
<div>twitter: danwendlandt<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
</div>
</div>
<br>
</blockquote>
<br>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
Dan Wendlandt
<div>Nicira, Inc: <a moz-do-not-send="true"
href="http://www.nicira.com" target="_blank">www.nicira.com</a><br>
<div>twitter: danwendlandt<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
</div>
</div>
<br>
</blockquote>
<br>
</body>
</html>