Revision 97c61d46
b/lib/cmdlib.py | ||
---|---|---|
2499 | 2499 |
""" |
2500 | 2500 |
node = self.node = self.cfg.GetNodeInfo(self.op.node_name) |
2501 | 2501 |
|
2502 |
if (self.op.master_candidate is not None or |
|
2503 |
self.op.drained is not None or |
|
2504 |
self.op.offline is not None): |
|
2505 |
# we can't change the master's node flags |
|
2506 |
if self.op.node_name == self.cfg.GetMasterNode(): |
|
2507 |
raise errors.OpPrereqError("The master role can be changed" |
|
2508 |
" only via masterfailover") |
|
2509 |
|
|
2502 | 2510 |
if ((self.op.master_candidate == False or self.op.offline == True or |
2503 | 2511 |
self.op.drained == True) and node.master_candidate): |
2504 |
# we will demote the node from master_candidate |
|
2505 |
if self.op.node_name == self.cfg.GetMasterNode(): |
|
2506 |
raise errors.OpPrereqError("The master node has to be a" |
|
2507 |
" master candidate, online and not drained") |
|
2508 | 2512 |
cp_size = self.cfg.GetClusterInfo().candidate_pool_size |
2509 | 2513 |
num_candidates, _ = self.cfg.GetMasterCandidateStats() |
2510 | 2514 |
if num_candidates <= cp_size: |
Also available in: Unified diff