Revision abb24834

b/qa/qa_node.py
232 232
  """gnt-node power"""
233 233
  master = qa_config.GetMasterNode()
234 234

  
235
  # Find first non master node for tests
236
  for node in qa_config.get('nodes'):
237
    if node != master:
238
      node_name = node["primary"]
239
      break
240

  
235 241
  (oob_path, verify_path,
236 242
   data_path, exit_code_path) = _CreateOobScriptStructure()
237 243

  
......
242 248
    # No data, exit 0
243 249
    _UpdateOobFile(exit_code_path, "0")
244 250

  
245
    AssertCommand(["gnt-node", "power", "on", master["primary"]])
246
    _AssertOobCall(verify_path, "power-on %s" % master["primary"])
251
    AssertCommand(["gnt-node", "power", "on", node_name])
252
    _AssertOobCall(verify_path, "power-on %s" % node_name)
247 253

  
248
    AssertCommand(["gnt-node", "power", "off", master["primary"]])
249
    _AssertOobCall(verify_path, "power-off %s" % master["primary"])
254
    AssertCommand(["gnt-node", "power", "off", node_name])
255
    _AssertOobCall(verify_path, "power-off %s" % node_name)
250 256

  
251
    AssertCommand(["gnt-node", "power", "cycle", master["primary"]])
252
    _AssertOobCall(verify_path, "power-cycle %s" % master["primary"])
257
    # Verify we can't transform back to online when not yet powered on
258
    AssertCommand(["gnt-node", "modify", "-O", "no", node_name],
259
                  fail=True)
260
    # Now reset state
261
    AssertCommand(["gnt-node", "modify", "-O", "no", "--node-powered", "yes",
262
                   node_name])
263

  
264
    AssertCommand(["gnt-node", "power", "cycle", node_name])
265
    _AssertOobCall(verify_path, "power-cycle %s" % node_name)
253 266

  
254 267
    # This command should fail as it expects output which isn't provided yet
255 268
    # But it should have called the oob helper nevermind
256
    AssertCommand(["gnt-node", "power", "status", master["primary"]],
269
    AssertCommand(["gnt-node", "power", "status", node_name],
257 270
                  fail=True)
258
    _AssertOobCall(verify_path, "power-status %s" % master["primary"])
271
    _AssertOobCall(verify_path, "power-status %s" % node_name)
259 272

  
260 273
    # Data, exit 0
261 274
    _UpdateOobFile(data_path, serializer.DumpJson({ "powered": True }))
262 275

  
263
    AssertCommand(["gnt-node", "power", "status", master["primary"]])
264
    _AssertOobCall(verify_path, "power-status %s" % master["primary"])
276
    AssertCommand(["gnt-node", "power", "status", node_name])
277
    _AssertOobCall(verify_path, "power-status %s" % node_name)
265 278

  
266
    AssertCommand(["gnt-node", "power", "on", master["primary"]], fail=True)
267
    _AssertOobCall(verify_path, "power-on %s" % master["primary"])
279
    AssertCommand(["gnt-node", "power", "on", node_name], fail=True)
280
    _AssertOobCall(verify_path, "power-on %s" % node_name)
268 281

  
269
    AssertCommand(["gnt-node", "power", "off", master["primary"]], fail=True)
270
    _AssertOobCall(verify_path, "power-off %s" % master["primary"])
282
    try:
283
      AssertCommand(["gnt-node", "power", "off", node_name], fail=True)
284
      _AssertOobCall(verify_path, "power-off %s" % node_name)
285
    finally:
286
      AssertCommand(["gnt-node", "modify", "-O", "no", node_name])
271 287

  
272
    AssertCommand(["gnt-node", "power", "cycle", master["primary"]], fail=True)
273
    _AssertOobCall(verify_path, "power-cycle %s" % master["primary"])
288
    AssertCommand(["gnt-node", "power", "cycle", node_name], fail=True)
289
    _AssertOobCall(verify_path, "power-cycle %s" % node_name)
274 290

  
275 291
    # Data, exit 1 (all should fail)
276 292
    _UpdateOobFile(exit_code_path, "1")
277 293

  
278
    AssertCommand(["gnt-node", "power", "on", master["primary"]], fail=True)
279
    _AssertOobCall(verify_path, "power-on %s" % master["primary"])
294
    AssertCommand(["gnt-node", "power", "on", node_name], fail=True)
295
    _AssertOobCall(verify_path, "power-on %s" % node_name)
280 296

  
281
    AssertCommand(["gnt-node", "power", "off", master["primary"]], fail=True)
282
    _AssertOobCall(verify_path, "power-off %s" % master["primary"])
297
    try:
298
      AssertCommand(["gnt-node", "power", "off", node_name], fail=True)
299
      _AssertOobCall(verify_path, "power-off %s" % node_name)
300
    finally:
301
      AssertCommand(["gnt-node", "modify", "-O", "no", node_name])
283 302

  
284
    AssertCommand(["gnt-node", "power", "cycle", master["primary"]], fail=True)
285
    _AssertOobCall(verify_path, "power-cycle %s" % master["primary"])
303
    AssertCommand(["gnt-node", "power", "cycle", node_name], fail=True)
304
    _AssertOobCall(verify_path, "power-cycle %s" % node_name)
286 305

  
287
    AssertCommand(["gnt-node", "power", "status", master["primary"]],
306
    AssertCommand(["gnt-node", "power", "status", node_name],
288 307
                  fail=True)
289
    _AssertOobCall(verify_path, "power-status %s" % master["primary"])
308
    _AssertOobCall(verify_path, "power-status %s" % node_name)
290 309

  
291 310
    # No data, exit 1 (all should fail)
292 311
    _UpdateOobFile(data_path, "")
293
    AssertCommand(["gnt-node", "power", "on", master["primary"]], fail=True)
294
    _AssertOobCall(verify_path, "power-on %s" % master["primary"])
312
    AssertCommand(["gnt-node", "power", "on", node_name], fail=True)
313
    _AssertOobCall(verify_path, "power-on %s" % node_name)
295 314

  
296
    AssertCommand(["gnt-node", "power", "off", master["primary"]], fail=True)
297
    _AssertOobCall(verify_path, "power-off %s" % master["primary"])
315
    try:
316
      AssertCommand(["gnt-node", "power", "off", node_name], fail=True)
317
      _AssertOobCall(verify_path, "power-off %s" % node_name)
318
    finally:
319
      AssertCommand(["gnt-node", "modify", "-O", "no", node_name])
298 320

  
299
    AssertCommand(["gnt-node", "power", "cycle", master["primary"]], fail=True)
300
    _AssertOobCall(verify_path, "power-cycle %s" % master["primary"])
321
    AssertCommand(["gnt-node", "power", "cycle", node_name], fail=True)
322
    _AssertOobCall(verify_path, "power-cycle %s" % node_name)
301 323

  
302
    AssertCommand(["gnt-node", "power", "status", master["primary"]],
324
    AssertCommand(["gnt-node", "power", "status", node_name],
303 325
                  fail=True)
304
    _AssertOobCall(verify_path, "power-status %s" % master["primary"])
326
    _AssertOobCall(verify_path, "power-status %s" % node_name)
305 327

  
306 328
    # Different OOB script for node
307 329
    verify_path2 = qa_utils.UploadData(master["primary"], "")
......
311 333

  
312 334
    try:
313 335
      AssertCommand(["gnt-node", "modify", "--node-parameters",
314
                     "oob_program=%s" % oob_path2, master["primary"]])
315
      AssertCommand(["gnt-node", "power", "on", master["primary"]])
316
      _AssertOobCall(verify_path2, "power-on %s" % master["primary"])
336
                     "oob_program=%s" % oob_path2, node_name])
337
      AssertCommand(["gnt-node", "power", "on", node_name])
338
      _AssertOobCall(verify_path2, "power-on %s" % node_name)
317 339
    finally:
318 340
      AssertCommand(["gnt-node", "modify", "--node-parameters",
319
                     "oob_program=default", master["primary"]])
341
                     "oob_program=default", node_name])
320 342
      AssertCommand(["rm", "-f", oob_path2, verify_path2])
321 343
  finally:
322 344
    AssertCommand(["gnt-cluster", "modify", "--node-parameters",

Also available in: Unified diff