Revision d0cb68cb
b/qa/ganeti-qa.py | ||
---|---|---|
363 | 363 |
if qa_config.TestEnabled('tags'): |
364 | 364 |
RunTest(qa_tags.TestClusterTags) |
365 | 365 |
|
366 |
if qa_config.TestEnabled('node-readd'): |
|
367 |
master = qa_config.GetMasterNode() |
|
368 |
pnode = qa_config.AcquireNode(exclude=master) |
|
369 |
try: |
|
366 |
pnode = qa_config.AcquireNode(exclude=qa_config.GetMasterNode()) |
|
367 |
try: |
|
368 |
if qa_config.TestEnabled('node-readd'): |
|
370 | 369 |
RunTest(qa_node.TestNodeReadd, pnode) |
371 |
finally: |
|
372 |
qa_config.ReleaseNode(pnode) |
|
370 |
|
|
371 |
if qa_config.TestEnabled("node-modify"): |
|
372 |
RunTest(qa_node.TestNodeModify, pnode) |
|
373 |
finally: |
|
374 |
qa_config.ReleaseNode(pnode) |
|
373 | 375 |
|
374 | 376 |
pnode = qa_config.AcquireNode() |
375 | 377 |
try: |
b/qa/qa-sample.json | ||
---|---|---|
55 | 55 |
"node-volumes": true, |
56 | 56 |
"node-readd": true, |
57 | 57 |
"node-storage": true, |
58 |
"node-modify": true, |
|
58 | 59 |
|
59 | 60 |
"# This test needs at least three nodes": null, |
60 | 61 |
"node-evacuate": false, |
b/qa/qa_node.py | ||
---|---|---|
219 | 219 |
utils.ShellQuoteArgs(cmd)).wait(), 0) |
220 | 220 |
finally: |
221 | 221 |
qa_config.ReleaseNode(node3) |
222 |
|
|
223 |
|
|
224 |
def TestNodeModify(node): |
|
225 |
"""gnt-node modify""" |
|
226 |
master = qa_config.GetMasterNode() |
|
227 |
|
|
228 |
for flag in ["master-candidate", "drained", "offline"]: |
|
229 |
for value in ["yes", "no"]: |
|
230 |
cmd = ["gnt-node", "modify", "--force", |
|
231 |
"--%s=%s" % (flag, value), node["primary"]] |
|
232 |
AssertEqual(StartSSH(master["primary"], |
|
233 |
utils.ShellQuoteArgs(cmd)).wait(), 0) |
|
234 |
|
|
235 |
cmd = ["gnt-node", "modify", "--master-candidate=yes", "--auto-promote", |
|
236 |
node["primary"]] |
|
237 |
AssertEqual(StartSSH(master["primary"], |
|
238 |
utils.ShellQuoteArgs(cmd)).wait(), 0) |
Also available in: Unified diff