On Mon, Mar 28, 2016 at 5:01 PM, Ben Pfaff <b...@ovn.org> wrote:
> 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:
Yes, that's the intent. and oops, I forgot verify(). Thanks for catching
that.
>
> > + 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>
>
Thanks,
--
Russell Bryant
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev