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