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