On Mon, Mar 28, 2016 at 03:52:17PM -0400, Russell Bryant wrote: > Publish ovn-controller's local bridge mappings configuration > in the external_ids column of the Chassis table. Having this > information available for reading is useful to applications > integrating with OVN. > > Signed-off-by: Russell Bryant <russ...@ovn.org>
"external-ids" is usually a column that different applications should share. I think that's the intent here, because the code modifies the existing contents of the column rather than replacing it wholesale, but to ensure atomic transactional behavior, the code should ensure that the column hasn't changed since it was read, by calling sbrec_chassis_verify_externals_ids() before it sets it, e.g. just before the sbrec_chassis_set_external_ids() call below: > + const char *chassis_bridge_mappings > + = smap_get(&chassis_rec->external_ids, "ovn-bridge-mappings"); > + if (!chassis_bridge_mappings) { > + chassis_bridge_mappings = ""; > + } > + if (strcmp(bridge_mappings, chassis_bridge_mappings)) { > + struct smap new_ids; > + smap_clone(&new_ids, &chassis_rec->external_ids); > + smap_replace(&new_ids, "ovn-bridge-mappings", bridge_mappings); > + sbrec_chassis_set_external_ids(chassis_rec, &new_ids); > + smap_destroy(&new_ids); > + } > + Also, s/applicatoins/applications/ here: > + <column name="external_ids" key="ovn-bridge-mappings"> > + <code>ovn-controller</code> populates this key with the set of bridge > + mappings it has been configured to use. Other applicatoins should > treat > + this key as read-only. See <code>ovn-controller</code>(8) for more > + information. > + </column> _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev