From patchwork Sun Apr 30 23:22:16 2017
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Ben Pfaff unknown
.
- A name for the logical switch. This name has no special meaning or purpose - other than to provide convenience for human interaction with the ovn-nb - database. There is no requirement for the name to be unique. The - logical switch's UUID should be used as the unique identifier. -
-The logical ports connected to the logical switch. @@ -134,6 +125,33 @@ QOS marking rules that apply to packets within the logical switch.
+ These columns provide names for the logical switch. From OVN's + perspective, these names have no special meaning or purpose other than + to provide convenience for human interaction with the database. + There is no requirement for the name to be unique. (For a unique + identifier for a logical switch, use its row UUID.) +
+ +
+ (Originally, was intended to serve the purpose of
+ a human-friendly name, but the Neutron integration used it to uniquely
+ identify its own switch object, in the format
+ neutron-uuid
. Later on, Neutron started
+ propagating the friendly name of a switch as . Perhaps this can be cleaned up someday.)
+
These options control automatic IP address management (IPAM) for ports @@ -1008,15 +1026,6 @@ Each row represents one L3 logical router.
-- A name for the logical router. This name has no special meaning or purpose - other than to provide convenience for human interaction with the ovn-nb - database. There is no requirement for the name to be unique. The - logical router's UUID should be used as the unique identifier. -
-+ These columns provide names for the logical router. From OVN's + perspective, these names have no special meaning or purpose other than + to provide convenience for human interaction with the northbound + database. There is no requirement for the name to be unique. (For a + unique identifier for a logical router, use its row UUID.) +
+ +
+ (Originally, was intended to serve the purpose of
+ a human-friendly name, but the Neutron integration used it to uniquely
+ identify its own router object, in the format
+ neutron-uuid
. Later on, Neutron started
+ propagating the friendly name of a router as . Perhaps this can be cleaned up someday.)
+
Additional options for the logical router. @@ -1168,8 +1204,8 @@
In addition to provide convenience for human interaction with the - ovn-nb database, this column is used as reference by its patch port in - or another logical router port in + northbound database, this column is used as reference by its patch port + in or another logical router port in .
diff --git a/ovn/utilities/ovn-nbctl.c b/ovn/utilities/ovn-nbctl.c index cfa1c525f77c..3cae7c548784 100644 --- a/ovn/utilities/ovn-nbctl.c +++ b/ovn/utilities/ovn-nbctl.c @@ -569,8 +569,14 @@ lb_by_name_or_uuid(struct ctl_context *ctx, const char *id, bool must_exist) static void print_lr(const struct nbrec_logical_router *lr, struct ds *s) { - ds_put_format(s, "router "UUID_FMT" (%s)\n", + ds_put_format(s, "router "UUID_FMT" (%s)", UUID_ARGS(&lr->header_.uuid), lr->name); + const char *neutron_name = smap_get(&lr->external_ids, + "neutron:router_name"); + if (neutron_name) { + ds_put_format(s, " (aka %s)", neutron_name); + } + ds_put_char(s, '\n'); for (size_t i = 0; i < lr->n_ports; i++) { const struct nbrec_logical_router_port *lrp = lr->ports[i]; @@ -606,13 +612,20 @@ print_lr(const struct nbrec_logical_router *lr, struct ds *s) static void print_ls(const struct nbrec_logical_switch *ls, struct ds *s) { - ds_put_format(s, "switch "UUID_FMT" (%s)\n", + ds_put_format(s, "switch "UUID_FMT" (%s)", UUID_ARGS(&ls->header_.uuid), ls->name); + const char *neutron_name = smap_get(&ls->external_ids, + "neutron:network_name"); + if (neutron_name) { + ds_put_format(s, " (aka %s)", neutron_name); + } + ds_put_char(s, '\n'); for (size_t i = 0; i < ls->n_ports; i++) { const struct nbrec_logical_switch_port *lsp = ls->ports[i]; ds_put_format(s, " port %s\n", lsp->name); + if (lsp->type[0]) { ds_put_format(s, " type: %s\n", lsp->type); } @@ -3057,14 +3070,16 @@ cmd_set_ssl(struct ctl_context *ctx) } static const struct ctl_table_class tables[NBREC_N_TABLES] = { - [NBREC_TABLE_LOGICAL_SWITCH].row_ids[0] - = {&nbrec_logical_switch_col_name, NULL, NULL}, + [NBREC_TABLE_LOGICAL_SWITCH].row_ids + = {{&nbrec_logical_switch_col_name, NULL, NULL}, + {&nbrec_logical_switch_col_external_ids, "neutron:network_name", NULL}}, [NBREC_TABLE_LOGICAL_SWITCH_PORT].row_ids[0] = {&nbrec_logical_switch_port_col_name, NULL, NULL}, - [NBREC_TABLE_LOGICAL_ROUTER].row_ids[0] - = {&nbrec_logical_router_col_name, NULL, NULL}, + [NBREC_TABLE_LOGICAL_ROUTER].row_ids + = {{&nbrec_logical_router_col_name, NULL, NULL}, + {&nbrec_logical_router_col_external_ids, "neutron:router_name", NULL}}, [NBREC_TABLE_LOGICAL_ROUTER_PORT].row_ids[0] = {&nbrec_logical_router_port_col_name, NULL, NULL},