Revision b726aff0
b/daemons/ganeti-masterd | ||
---|---|---|
520 | 520 |
try: |
521 | 521 |
# activate ip |
522 | 522 |
master_node = ssconf.SimpleConfigReader().GetMasterNode() |
523 |
if not rpc.RpcRunner.call_node_start_master(master_node, False): |
|
524 |
logging.error("Can't activate master IP address") |
|
523 |
result = rpc.RpcRunner.call_node_start_master(master_node, False) |
|
524 |
msg = result.RemoteFailMsg() |
|
525 |
if msg: |
|
526 |
logging.error("Can't activate master IP address: %s", msg) |
|
525 | 527 |
|
526 | 528 |
master.setup_queue() |
527 | 529 |
try: |
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): |
b/lib/bootstrap.py | ||
---|---|---|
271 | 271 |
|
272 | 272 |
# start the master ip |
273 | 273 |
# TODO: Review rpc call from bootstrap |
274 |
# TODO: Warn on failed start master |
|
274 | 275 |
rpc.RpcRunner.call_node_start_master(hostname.name, True) |
275 | 276 |
|
276 | 277 |
|
... | ... | |
444 | 445 |
cfg.Update(cluster_info) |
445 | 446 |
|
446 | 447 |
result = rpc.RpcRunner.call_node_start_master(new_master, True) |
447 |
if result.failed or not result.data: |
|
448 |
msg = result.RemoteFailMsg() |
|
449 |
if msg: |
|
448 | 450 |
logging.error("Could not start the master role on the new master" |
449 |
" %s, please check", new_master)
|
|
451 |
" %s, please check: %s", new_master, msg)
|
|
450 | 452 |
rcode = 1 |
451 | 453 |
|
452 | 454 |
return rcode |
b/lib/cmdlib.py | ||
---|---|---|
1425 | 1425 |
|
1426 | 1426 |
finally: |
1427 | 1427 |
result = self.rpc.call_node_start_master(master, False) |
1428 |
if result.failed or not result.data: |
|
1428 |
msg = result.RemoteFailMsg() |
|
1429 |
if msg: |
|
1429 | 1430 |
self.LogWarning("Could not re-enable the master role on" |
1430 |
" the master, please restart manually.")
|
|
1431 |
" the master, please restart manually: %s", msg)
|
|
1431 | 1432 |
|
1432 | 1433 |
|
1433 | 1434 |
def _RecursiveCheckIfLVMBased(disk): |
Also available in: Unified diff