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.
---
ovn/northd/ovn-northd.c | 12 ++++++++----
ovn/ovn-nb.xml | 11 ++++++++++-
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
index 5914988..d4c5f3a 100644
--- a/ovn/northd/ovn-northd.c
+++ b/ovn/northd/ovn-northd.c
@@ -1814,10 +1814,14 @@ 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");
- if (name && name[0]) {
- smap_add(&ids, "name", name);
+ struct smap_node *id;
+ SMAP_FOR_EACH (id, &op->nbsp->external_ids) {
+ if(!strcmp(id->key, "neutron:port_name")) {
+ if(id->value[0])
+ smap_add(&ids, "name", id->value);
+ }
+ else
+ smap_add(&ids, id->key, id->value);
}
sbrec_port_binding_set_external_ids(op->sb, &ids);
}
diff --git a/ovn/ovn-nb.xml b/ovn/ovn-nb.xml
index eb348fe..7bb322f 100644
--- a/ovn/ovn-nb.xml
+++ b/ovn/ovn-nb.xml
@@ -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>
--
1.8.3.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev