We had retained but deprecated the use of the older 'managers' column in the
'Open vSwitch' table for compatibility with applications that might still use
it, but that created more problems than it solved. This commit removes the
'managers' column from the schema, and removes all references to it from the
code, init scripts, documentation, and tests.
% ovsdb-server /usr/local/etc/openvswitch/conf.db \
--remote=punix:/usr/local/var/run/openvswitch/db.sock \
% ovsdb-server /usr/local/etc/openvswitch/conf.db \
--remote=punix:/usr/local/var/run/openvswitch/db.sock \
- --remote=db:Open_vSwitch,managers \
+ --remote=db:Open_vSwitch,manager_options \
--private-key=db:SSL,private_key \
--certificate=db:SSL,certificate \
--bootstrap-ca-cert=db:SSL,ca_cert \
--private-key=db:SSL,private_key \
--certificate=db:SSL,certificate \
--bootstrap-ca-cert=db:SSL,ca_cert \
set -- "$@" --log-file=/var/log/openvswitch/ovsdb-server.log
set -- "$@" --detach --no-chdir --pidfile $monitor_opt
set -- "$@" --remote punix:/var/run/openvswitch/db.sock
set -- "$@" --log-file=/var/log/openvswitch/ovsdb-server.log
set -- "$@" --detach --no-chdir --pidfile $monitor_opt
set -- "$@" --remote punix:/var/run/openvswitch/db.sock
- set -- "$@" --remote db:Open_vSwitch,managers
set -- "$@" --remote db:Open_vSwitch,manager_options
set -- "$@" --private-key=db:SSL,private_key
set -- "$@" --certificate=db:SSL,certificate
set -- "$@" --remote db:Open_vSwitch,manager_options
set -- "$@" --private-key=db:SSL,private_key
set -- "$@" --certificate=db:SSL,certificate
[add-bond br0 bond0 eth0 eth1],
[set port bond0 bond_updelay=500 other-config:abc=def])],
[0], [], [], [OVS_VSCTL_CLEANUP])
[add-bond br0 bond0 eth0 eth1],
[set port bond0 bond_updelay=500 other-config:abc=def])],
[0], [], [], [OVS_VSCTL_CLEANUP])
-AT_CHECK([RUN_OVS_VSCTL([[wait-until Open_vSwitch . managers=[]]])],
+AT_CHECK([RUN_OVS_VSCTL([[wait-until Open_vSwitch . manager_options=[]]])],
[0], [], [], [OVS_VSCTL_CLEANUP])
AT_CHECK([RUN_OVS_VSCTL([[wait-until Open_vSwitch . bridges!=[]]])],
[0], [], [], [OVS_VSCTL_CLEANUP])
[0], [], [], [OVS_VSCTL_CLEANUP])
AT_CHECK([RUN_OVS_VSCTL([[wait-until Open_vSwitch . bridges!=[]]])],
[0], [], [], [OVS_VSCTL_CLEANUP])
.
.SS "Manager Connectivity"
.
.
.SS "Manager Connectivity"
.
-These commands manipulate the \fBmanagers\fR and \fBmanager_options\fR columns
-in the \fBOpen_vSwitch\fR table and rows in the \fBManagers\fR table. When
-\fBovsdb\-server\fR is configured to use those rows and columns for OVSDB
-connections, as described in \fBINSTALL.Linux\fR and in the startup scripts
-provided with Open vSwitch, this allows the administrator to use
+These commands manipulate the \fBmanager_options\fR column in the
+\fBOpen_vSwitch\fR table and rows in the \fBManagers\fR table. When
+\fBovsdb\-server\fR is configured to use the \fBmanager_options\fR column for
+OVSDB connections (as described in \fBINSTALL.Linux\fR and in the startup
+scripts provided with Open vSwitch), this allows the administrator to use
\fBovs\-vsctl\fR to configure database connections.
.
.IP "\fBget\-manager\fR"
\fBovs\-vsctl\fR to configure database connections.
.
.IP "\fBget\-manager\fR"
static void
pre_cmd_emer_reset(struct vsctl_context *ctx)
{
static void
pre_cmd_emer_reset(struct vsctl_context *ctx)
{
- ovsdb_idl_add_column(ctx->idl, &ovsrec_open_vswitch_col_managers);
ovsdb_idl_add_column(ctx->idl, &ovsrec_open_vswitch_col_manager_options);
ovsdb_idl_add_column(ctx->idl, &ovsrec_open_vswitch_col_ssl);
ovsdb_idl_add_column(ctx->idl, &ovsrec_open_vswitch_col_manager_options);
ovsdb_idl_add_column(ctx->idl, &ovsrec_open_vswitch_col_ssl);
const struct ovsrec_sflow *sflow, *next_sflow;
/* Reset the Open_vSwitch table. */
const struct ovsrec_sflow *sflow, *next_sflow;
/* Reset the Open_vSwitch table. */
- ovsrec_open_vswitch_set_managers(ctx->ovs, NULL, 0);
ovsrec_open_vswitch_set_manager_options(ctx->ovs, NULL, 0);
ovsrec_open_vswitch_set_ssl(ctx->ovs, NULL);
ovsrec_open_vswitch_set_manager_options(ctx->ovs, NULL, 0);
ovsrec_open_vswitch_set_ssl(ctx->ovs, NULL);
- ovsrec_open_vswitch_verify_managers(ovs);
ovsrec_open_vswitch_verify_manager_options(ovs);
for (i = 0; i < ovs->n_manager_options; ++i) {
ovsrec_open_vswitch_verify_manager_options(ovs);
for (i = 0; i < ovs->n_manager_options; ++i) {
static void
pre_manager(struct vsctl_context *ctx)
{
static void
pre_manager(struct vsctl_context *ctx)
{
- ovsdb_idl_add_column(ctx->idl, &ovsrec_open_vswitch_col_managers);
ovsdb_idl_add_column(ctx->idl, &ovsrec_open_vswitch_col_manager_options);
ovsdb_idl_add_column(ctx->idl, &ovsrec_manager_col_target);
}
ovsdb_idl_add_column(ctx->idl, &ovsrec_open_vswitch_col_manager_options);
ovsdb_idl_add_column(ctx->idl, &ovsrec_manager_col_target);
}
/* Print the targets in sorted order for reproducibility. */
svec_init(&targets);
/* Print the targets in sorted order for reproducibility. */
svec_init(&targets);
- /* First, add all targets found in deprecated 'managers' column. */
- for (i = 0; i < ovs->n_managers; i++) {
- svec_add(&targets, ovs->managers[i]);
- }
-
- /* Second, add all targets pointed to by 'manager_options' column. */
for (i = 0; i < ovs->n_manager_options; i++) {
svec_add(&targets, ovs->manager_options[i]->target);
}
for (i = 0; i < ovs->n_manager_options; i++) {
svec_add(&targets, ovs->manager_options[i]->target);
}
const struct ovsrec_open_vswitch *ovs = ctx->ovs;
size_t i;
const struct ovsrec_open_vswitch *ovs = ctx->ovs;
size_t i;
- /* Delete manager targets in deprecated 'managers' column. */
- ovsrec_open_vswitch_set_managers(ovs, NULL, 0);
-
/* Delete Manager rows pointed to by 'manager_options' column. */
for (i = 0; i < ovs->n_manager_options; i++) {
ovsrec_manager_delete(ovs->manager_options[i]);
/* Delete Manager rows pointed to by 'manager_options' column. */
for (i = 0; i < ovs->n_manager_options; i++) {
ovsrec_manager_delete(ovs->manager_options[i]);
struct ovsrec_manager **managers;
size_t i;
struct ovsrec_manager **managers;
size_t i;
- /* Store in deprecated 'manager' column. */
- ovsrec_open_vswitch_set_managers(ctx->ovs, targets, n);
-
/* Insert each manager in a new row in Manager table. */
managers = xmalloc(n * sizeof *managers);
for (i = 0; i < n; i++) {
/* Insert each manager in a new row in Manager table. */
managers = xmalloc(n * sizeof *managers);
for (i = 0; i < n; i++) {
struct shash targets;
size_t i;
struct shash targets;
size_t i;
- /* Collect all of the potential targets, as the union of the "managers"
- * column and the "targets" columns of the rows pointed to by
- * "manager_options", excluding any that are out-of-band. */
+ /* Collect all of the potential targets from the "targets" columns of the
+ * rows pointed to by "manager_options", excluding any that are
+ * out-of-band. */
- for (i = 0; i < ovs_cfg->n_managers; i++) {
- shash_add_once(&targets, ovs_cfg->managers[i], NULL);
- }
for (i = 0; i < ovs_cfg->n_manager_options; i++) {
struct ovsrec_manager *m = ovs_cfg->manager_options[i];
for (i = 0; i < ovs_cfg->n_manager_options; i++) {
struct ovsrec_manager *m = ovs_cfg->manager_options[i];
- "version": "1.3.1",
- "cksum": "557026156 15739",
+ "version": "2.0.0",
+ "cksum": "4107852581 15651",
"tables": {
"Open_vSwitch": {
"columns": {
"tables": {
"Open_vSwitch": {
"columns": {
"type": {"key": {"type": "uuid",
"refTable": "Bridge"},
"min": 0, "max": "unlimited"}},
"type": {"key": {"type": "uuid",
"refTable": "Bridge"},
"min": 0, "max": "unlimited"}},
- "managers": {
- "type": {"key": "string", "min": 0, "max": "unlimited"}},
"manager_options": {
"type": {"key": {"type": "uuid",
"refTable": "Manager"},
"manager_options": {
"type": {"key": {"type": "uuid",
"refTable": "Manager"},
connection should be configured. See the <ref table="Manager"/> table
for more information.
</column>
connection should be configured. See the <ref table="Manager"/> table
for more information.
</column>
-
- <column name="managers">
- <p>
- Remote database clients to which the Open vSwitch's database server
- should connect or to which it should listen. Adding an OVSDB target
- to this set is equivalent to adding it to <ref
- column="manager_options"/> with all of the default options.
- </p>
-
- <p>
- Use of this column is deprecated and may be removed sometime in the
- future. New applications should use and set <ref
- column="manager_options"/> instead.
- </p>
- </column>
: ${FORCE_COREFILES:=y}
# Config variables specific to ovsdb-server
: ${FORCE_COREFILES:=y}
# Config variables specific to ovsdb-server
-: ${OVSDB_SERVER_REMOTES:=punix:/var/run/openvswitch/db.sock db:Open_vSwitch,managers db:Open_vSwitch,manager_options}
+: ${OVSDB_SERVER_REMOTES:=punix:/var/run/openvswitch/db.sock db:Open_vSwitch,manager_options}
: ${OVSDB_SERVER_DB:=/etc/openvswitch/conf.db}
: ${OVSDB_SERVER_PIDFILE:=/var/run/openvswitch/ovsdb-server.pid}
: ${OVSDB_SERVER_RUN_DIR:=/var/xen/openvswitch}
: ${OVSDB_SERVER_DB:=/etc/openvswitch/conf.db}
: ${OVSDB_SERVER_PIDFILE:=/var/run/openvswitch/ovsdb-server.pid}
: ${OVSDB_SERVER_RUN_DIR:=/var/xen/openvswitch}
# OVSDB_SERVER_REMOTES: Space-separated list of methods on which to have
# ovsdb-server listen or connect for a JSON-RPC connection.
# OVSDB_SERVER_REMOTES: Space-separated list of methods on which to have
# ovsdb-server listen or connect for a JSON-RPC connection.
-# OVSDB_SERVER_REMOTES="punix:/var/run/openvswitch/db.sock db:Open_vSwitch,managers db:Open_vSwitch,manager_options"
+# OVSDB_SERVER_REMOTES="punix:/var/run/openvswitch/db.sock db:Open_vSwitch,manager_options"
# OVSDB_SERVER_DB: File for which ovsdb-server uses for storage.
# OVSDB_SERVER_DB=/etc/openvswitch/conf.db
# OVSDB_SERVER_DB: File for which ovsdb-server uses for storage.
# OVSDB_SERVER_DB=/etc/openvswitch/conf.db