Revision 924e95f9

b/qa/ganeti-qa.py
311 311
      RunTest(qa_rapi.TestNode, pnode)
312 312

  
313 313
      if qa_config.TestEnabled("instance-add-plain-disk"):
314
        rapi_instance = RunTest(qa_rapi.TestRapiInstanceAdd, pnode)
315
        RunCommonInstanceTests(rapi_instance)
316
        RunTest(qa_rapi.TestRapiInstanceRemove, rapi_instance)
317
        del rapi_instance
314
        for use_client in [True, False]:
315
          rapi_instance = RunTest(qa_rapi.TestRapiInstanceAdd, pnode,
316
                                  use_client)
317
          RunCommonInstanceTests(rapi_instance)
318
          RunTest(qa_rapi.TestRapiInstanceRemove, rapi_instance, use_client)
319
          del rapi_instance
318 320

  
319 321
    if qa_config.TestEnabled('instance-add-plain-disk'):
320 322
      instance = RunTest(qa_instance.TestInstanceAddWithPlainDisk, pnode)
b/qa/qa_rapi.py
262 262
  rapi.client_utils.PollJob(_rapi_client, job_id, cli.StdioJobPollReportCb())
263 263

  
264 264

  
265
def TestRapiInstanceAdd(node):
265
def TestRapiInstanceAdd(node, use_client):
266 266
  """Test adding a new instance via RAPI"""
267 267
  instance = qa_config.AcquireInstance()
268 268
  try:
269
    body = {
270
      "name": instance["name"],
271
      "os": qa_config.get("os"),
272
      "disk_template": constants.DT_PLAIN,
273
      "pnode": node["primary"],
274
      "memory": utils.ParseUnit(qa_config.get("mem")),
275
      "disks": [utils.ParseUnit(size) for size in qa_config.get("disk")],
276
      }
277

  
278
    (job_id, ) = _DoTests([
279
      ("/2/instances", _VerifyReturnsJob, "POST", body),
280
      ])
269
    memory = utils.ParseUnit(qa_config.get("mem"))
270
    disk_sizes = [utils.ParseUnit(size) for size in qa_config.get("disk")]
271

  
272
    if use_client:
273
      disks = [{"size": size} for size in disk_sizes]
274
      nics = [{}]
275

  
276
      beparams = {
277
        constants.BE_MEMORY: memory,
278
        }
279

  
280
      job_id = _rapi_client.CreateInstance(constants.INSTANCE_CREATE,
281
                                           instance["name"],
282
                                           constants.DT_PLAIN,
283
                                           disks, nics,
284
                                           os=qa_config.get("os"),
285
                                           pnode=node["primary"],
286
                                           beparams=beparams)
287
    else:
288
      body = {
289
        "name": instance["name"],
290
        "os": qa_config.get("os"),
291
        "disk_template": constants.DT_PLAIN,
292
        "pnode": node["primary"],
293
        "memory": memory,
294
        "disks": disk_sizes,
295
        }
296

  
297
      (job_id, ) = _DoTests([
298
        ("/2/instances", _VerifyReturnsJob, "POST", body),
299
        ])
281 300

  
282 301
    _WaitForRapiJob(job_id)
283 302

  
......
287 306
    raise
288 307

  
289 308

  
290
def TestRapiInstanceRemove(instance):
309
def TestRapiInstanceRemove(instance, use_client):
291 310
  """Test removing instance via RAPI"""
292
  (job_id, ) = _DoTests([
293
    ("/2/instances/%s" % instance["name"], _VerifyReturnsJob, "DELETE", None),
294
    ])
311
  if use_client:
312
    job_id = _rapi_client.DeleteInstance(instance["name"])
313
  else:
314
    (job_id, ) = _DoTests([
315
      ("/2/instances/%s" % instance["name"], _VerifyReturnsJob, "DELETE", None),
316
      ])
295 317

  
296 318
  _WaitForRapiJob(job_id)
297 319

  

Also available in: Unified diff