Revision b726aff0 lib/backend.py

b/lib/backend.py
189 189
  @rtype: None
190 190

  
191 191
  """
192
  ok = True
193 192
  master_netdev, master_ip, _ = GetMasterInfo()
194 193
  if not master_netdev:
195
    return False
194
    return False, "Cluster configuration incomplete, cannot read ssconf files"
196 195

  
196
  payload = []
197 197
  if utils.TcpPing(master_ip, constants.DEFAULT_NODED_PORT):
198 198
    if utils.OwnIpAddress(master_ip):
199 199
      # we already have the ip:
200
      logging.debug("Already started")
200
      logging.debug("Master IP already configured, doing nothing")
201 201
    else:
202
      logging.error("Someone else has the master ip, not activating")
203
      ok = False
202
      msg = "Someone else has the master ip, not activating"
203
      logging.error(msg)
204
      payload.append(msg)
204 205
  else:
205 206
    result = utils.RunCmd(["ip", "address", "add", "%s/32" % master_ip,
206 207
                           "dev", master_netdev, "label",
207 208
                           "%s:0" % master_netdev])
208 209
    if result.failed:
209
      logging.error("Can't activate master IP: %s", result.output)
210
      ok = False
210
      msg = "Can't activate master IP: %s" % result.output
211
      logging.error(msg)
212
      payload.append(msg)
211 213

  
212 214
    result = utils.RunCmd(["arping", "-q", "-U", "-c 3", "-I", master_netdev,
213 215
                           "-s", master_ip, master_ip])
......
218 220
    for daemon in 'ganeti-masterd', 'ganeti-rapi':
219 221
      result = utils.RunCmd([daemon])
220 222
      if result.failed:
221
        logging.error("Can't start daemon %s: %s", daemon, result.output)
222
        ok = False
223
  return ok
223
        msg = "Can't start daemon %s: %s" % (daemon, result.output)
224
        logging.error(msg)
225
        payload.append(msg)
226

  
227
  return not payload, "; ".join(payload)
224 228

  
225 229

  
226 230
def StopMaster(stop_daemons):

Also available in: Unified diff