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 |
|