<!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>