Permalink
Browse files

Copy external_ids from Logical_Switch_Port to SB database

This patch makes ovn-northd copy all string-string pairs in
external_ids column of the Logical_Switch_Port table in Northbound
database to the equivalent column of the Port_Binding table in
Southbound database.

OpenStack Neutron will add some useful data to NB database that can be
later read by networking-ovn-metadata-agent without the need of
maintaining a connection to NB database. This data would include
the CIDR's of a port or the project and device ID's which are needed
when talking to Nova to request metadata.

Signed-off-by: Daniel Alvarez <dalvarez@redhat.com>
Signed-off-by: Russell Bryant <russell@ovn.org>
  • Loading branch information...
danalsan authored and russellb committed Jun 6, 2017
1 parent a8cb558 commit 37737b96e4686ab83e8d582afbaf58eb2b847332
Showing with 23 additions and 4 deletions.
  1. +3 −2 ovn/northd/ovn-northd.c
  2. +10 −1 ovn/ovn-nb.xml
  3. +10 −1 ovn/ovn-sb.xml
View
@@ -1814,12 +1814,13 @@ ovn_port_update_sbrec(const struct ovn_port *op,
op->nbsp->n_addresses);
struct smap ids = SMAP_INITIALIZER(&ids);
const char *name = smap_get(&op->nbsp->external_ids,
"neutron:port_name");
smap_clone(&ids, &op->nbsp->external_ids);
const char *name = smap_get(&ids, "neutron:port_name");
if (name && name[0]) {
smap_add(&ids, "name", name);
}
sbrec_port_binding_set_external_ids(op->sb, &ids);
smap_destroy(&ids);
}
}
View
@@ -848,7 +848,16 @@
<group title="Common Columns">
<column name="external_ids">
See <em>External IDs</em> at the beginning of this document.
<p>
See <em>External IDs</em> at the beginning of this document.
</p>
<p>
The <code>ovn-northd</code> program copies all these pairs into the
<ref column="external_ids"/> column of the
<ref table="Port_Binding"/> table in <ref db="OVN_Southbound"/>
database.
</p>
</column>
</group>
</table>
View
@@ -2179,7 +2179,16 @@ tcp.flags = RST;
<group title="Common Columns">
<column name="external_ids">
See <em>External IDs</em> at the beginning of this document.
<p>
See <em>External IDs</em> at the beginning of this document.
</p>
<p>
The <code>ovn-northd</code> program populates this column with
all entries into the <ref column="external_ids"/> column of the
<ref table="Logical_Switch_Port"/> table of the
<ref db="OVN_Northbound"/> database.
</p>
</column>
</group>
</table>

0 comments on commit 37737b9

Please sign in to comment.