diff options
author | Kevin Vigor <kvigor@fb.com> | 2017-01-06 14:34:27 -0800 |
---|---|---|
committer | Kevin Vigor <kvigor@fb.com> | 2017-01-06 16:13:26 -0800 |
commit | c5145b464e6ebc77021fe4ebef4aaf8312a323aa (patch) | |
tree | 4e1e085cae37c928ccb4576ecd92a285c60ed0a7 | |
parent | 0706095ec443853050de970a76ccb2e713a2ab33 (diff) |
Repair more cluster tests in FB IPv6 environment
Summary:
'transport.address-family' option is not universally supported,
which leads to woe using the IPV4 only cluster tests in FB IPv6
default build.
Two fixes here: first, pass transport.address-family to brick
deamons on startup; and second, honor the option when attaching
to management deamon.
Test Plan:
./tests/basic/mgmt_v3-locks.t in FB environment.
Previously failed every time, now succeeds
Reviewers:
Subscribers:
Tasks:
Blame Revision:
Change-Id: I2918004ff9f9d962d10684e3d3d0783eae6cb838
Signed-off-by: Kevin Vigor <kvigor@fb.com>
Reviewed-on: http://review.gluster.org/16353
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Shreyas Siravara <sshreyas@fb.com>
-rw-r--r-- | glusterfsd/src/glusterfsd-mgmt.c | 14 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 8 |
2 files changed, 21 insertions, 1 deletions
diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c index 556b82742cb..a7c96d1e7a0 100644 --- a/glusterfsd/src/glusterfsd-mgmt.c +++ b/glusterfsd/src/glusterfsd-mgmt.c @@ -2140,6 +2140,7 @@ glusterfs_mgmt_init (glusterfs_ctx_t *ctx) int ret = -1; int port = GF_DEFAULT_BASE_PORT; char *host = NULL; + char *addr_family = NULL; cmd_args = &ctx->cmd_args; GF_VALIDATE_OR_GOTO (THIS->name, cmd_args->volfile_server, out); @@ -2156,8 +2157,19 @@ glusterfs_mgmt_init (glusterfs_ctx_t *ctx) !strcmp (cmd_args->volfile_server_transport, "unix")) { ret = rpc_transport_unix_options_build (&options, host, 0); } else { + xlator_cmdline_option_t *cmd_option = NULL; + + list_for_each_entry (cmd_option, + &cmd_args->xlator_options, cmd_args) { + if (!strcmp(cmd_option->key, + "transport.address-family")) { + addr_family = cmd_option->value; + break; + } + } + ret = rpc_transport_inet_options_build (&options, host, port, - NULL); + addr_family); } if (ret) goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index de5fce5a965..bd394fc31ba 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -1791,6 +1791,7 @@ glusterd_volume_start_glusterfs (glusterd_volinfo_t *volinfo, int port = 0; int rdma_port = 0; char *bind_address = NULL; + char *addr_family = NULL; char socketpath[PATH_MAX] = {0}; char glusterd_uuid[1024] = {0,}; char valgrind_logfile[PATH_MAX] = {0}; @@ -1913,6 +1914,13 @@ retry: bind_address); } + if (dict_get_str (this->options, "transport.address-family", + &addr_family) == 0) { + runner_add_arg (&runner, "--xlator-option"); + runner_argprintf (&runner, "*.transport.address-family=%s", + addr_family); + } + if (volinfo->transport_type == GF_TRANSPORT_RDMA) runner_argprintf (&runner, "--volfile-server-transport=rdma"); else if (volinfo->transport_type == GF_TRANSPORT_BOTH_TCP_RDMA) |