Revision 9d4bfc96 lib/backend.py
b/lib/backend.py | ||
---|---|---|
206 | 206 |
success, message = _GetSshRunner().VerifyNodeHostname(node) |
207 | 207 |
if not success: |
208 | 208 |
result['nodelist'][node] = message |
209 |
if 'node-net-test' in what: |
|
210 |
result['node-net-test'] = {} |
|
211 |
my_name = utils.HostInfo().name |
|
212 |
my_pip = my_sip = None |
|
213 |
for name, pip, sip in what['node-net-test']: |
|
214 |
if name == my_name: |
|
215 |
my_pip = pip |
|
216 |
my_sip = sip |
|
217 |
break |
|
218 |
if not my_pip: |
|
219 |
result['node-net-test'][my_name] = ("Can't find my own" |
|
220 |
" primary/secondary IP" |
|
221 |
" in the node list") |
|
222 |
else: |
|
223 |
port = ssconf.SimpleStore().GetNodeDaemonPort() |
|
224 |
for name, pip, sip in what['node-net-test']: |
|
225 |
fail = [] |
|
226 |
if not utils.TcpPing(pip, port, source=my_pip): |
|
227 |
fail.append("primary") |
|
228 |
if sip != pip: |
|
229 |
if not utils.TcpPing(sip, port, source=my_sip): |
|
230 |
fail.append("secondary") |
|
231 |
if fail: |
|
232 |
result['node-net-test'][name] = ("failure using the %s" |
|
233 |
" interface(s)" % |
|
234 |
" and ".join(fail)) |
|
235 |
|
|
209 | 236 |
return result |
210 | 237 |
|
211 | 238 |
|
Also available in: Unified diff