1
1

Provide a better help message when we are unable to complete a connection due to a firewall.

cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32743.
Этот коммит содержится в:
Ralph Castain 2014-09-16 16:28:29 +00:00
родитель ff10b25e7d
Коммит a74428513d
3 изменённых файлов: 22 добавлений и 10 удалений

Просмотреть файл

@ -64,4 +64,16 @@ value will be ignored.
Local host: %s
Value: %s
Message: %s
#
[firewall]
A process or daemon is unable to complete a TCP connection
to another process:
Local host: %s
Local proc: %s
Remote host: %s
Remote proc: %s
This is usually caused by a firewall on the remote host. Please
check that any firewall (e.g., iptables) has been disabled and
try again.

Просмотреть файл

@ -60,6 +60,7 @@
#include "opal/mca/event/event.h"
#include "orte/util/name_fns.h"
#include "orte/util/show_help.h"
#include "orte/mca/state/state.h"
#include "orte/runtime/orte_globals.h"
#include "orte/mca/errmgr/errmgr.h"
@ -254,12 +255,11 @@ void mca_oob_tcp_peer_try_connect(int fd, short args, void *cbdata)
/* no address succeeded, so we cannot reach this peer */
peer->state = MCA_OOB_TCP_FAILED;
host = orte_get_proc_hostname(&(peer->name));
opal_output_verbose(OOB_TCP_DEBUG_CONNECT, orte_oob_base_framework.framework_output,
"%s orte_tcp_peer_try_connect: "
"Connection to proc %s on node %s failed",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&peer->name),
(NULL == host) ? "NULL" : host);
orte_show_help("help-oob-tcp.txt", "firewall",
orte_process_info.nodename,
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(NULL == host) ? "NULL" : host,
ORTE_NAME_PRINT(&peer->name));
/* let the TCP component know that this module failed to make
* the connection so it can do some bookkeeping and fail back
* to the OOB level so another component can try. This will activate

Просмотреть файл

@ -507,14 +507,15 @@ char* orte_get_proc_hostname(orte_process_name_t *proc)
opal_list_t myvals;
opal_value_t *kv;
/* don't bother error logging any not-found situations
* as the layer above us will have something to say
* about it */
if (ORTE_PROC_IS_DAEMON || ORTE_PROC_IS_HNP) {
/* look it up on our arrays */
if (NULL == (proct = orte_get_proc_object(proc))) {
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
return NULL;
}
if (NULL == proct->node || NULL == proct->node->name) {
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
return NULL;
}
return proct->node->name;
@ -526,7 +527,6 @@ char* orte_get_proc_hostname(orte_process_name_t *proc)
(opal_identifier_t*)proc,
OPAL_DSTORE_HOSTNAME,
&myvals))) {
ORTE_ERROR_LOG(rc);
OPAL_LIST_DESTRUCT(&myvals);
return NULL;
}