1. 16 Oct, 2016 2 commits
  2. 09 May, 2016 1 commit
  3. 04 May, 2016 1 commit
    • David Johnson's avatar
      Make VM and wfagent names appear as node names in the Capnet Protocol. · 9ef9388c
      David Johnson authored
      This was tonight's adventure.  Holy cow.  I feel like I need to go take
      a shower.  Apparently, despite the fact that Neutron and Nova have
      coexisted for many years, Nova VMs have a hostname that doesn't resolve
      to anything, and that Neutron knows nothing about.  This causes all
      kinds of local hangups (i.e., sudo, ssh UseDNS), but ok, whatever.
      Neutron has its own "DNS" names for the VMs; Nova has its own.  They
      don't share info.
      
      For us, it matters because we want the tenants to be able to create VMs
      and wfagents with meaningful names, and have those names returned to the
      Capnet Protocol as the node names.
      
      Well, Neutron and Nova do not share this information.  The real way to
      solve this is to ask Nova for the VM name from the Capnet Neutron agent,
      when said agent sees a port binding update.  But we want to process
      those pretty fast, and calling out to Keystone/Nova for a lookup on the
      hot path is quite undesirable.  So instead, since we already have a
      Capnet-specific binding update call that pushes local OVS dpid and
      ofportno from the local node to the controller (which distributes it to
      whichever Capnet agents are writing metadata files), if we can "find" a
      nova VM name locally, we add that to the binding, and then the Neutron
      server adds the name to the ports table in the DB.  Currently, we find
      this by whacking through the libvirt.xml until we find an instance who
      owns the device_name we are sending the binding update for.
      
      It seems that the Neutron people have already staged in db schema
      changes to support their pending new DNS feature.  This is coming, but
      it's not here yet.  So we can use the new table field, but the
      Neutron-Nova DNS thing doesn't exist in Liberty.  Eventually, Nova will
      tell Neutron the name of the port and other DNS information.
      9ef9388c
  4. 29 Apr, 2016 1 commit