gitlab-runner-tart-driver 0.3.5__py3-none-any.whl → 0.3.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gitlab_runner_tart_driver/__init__.py +1 -1
- gitlab_runner_tart_driver/commands/prepare.py +59 -37
- {gitlab_runner_tart_driver-0.3.5.dist-info → gitlab_runner_tart_driver-0.3.6.dist-info}/METADATA +1 -1
- {gitlab_runner_tart_driver-0.3.5.dist-info → gitlab_runner_tart_driver-0.3.6.dist-info}/RECORD +8 -8
- {gitlab_runner_tart_driver-0.3.5.dist-info → gitlab_runner_tart_driver-0.3.6.dist-info}/LICENSE.txt +0 -0
- {gitlab_runner_tart_driver-0.3.5.dist-info → gitlab_runner_tart_driver-0.3.6.dist-info}/WHEEL +0 -0
- {gitlab_runner_tart_driver-0.3.5.dist-info → gitlab_runner_tart_driver-0.3.6.dist-info}/entry_points.txt +0 -0
- {gitlab_runner_tart_driver-0.3.5.dist-info → gitlab_runner_tart_driver-0.3.6.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.3.
|
1
|
+
__version__ = "0.3.6"
|
@@ -235,14 +235,32 @@ def prepare(
|
|
235
235
|
for v in volumes:
|
236
236
|
volume_mounts.append(TartVolume.from_string(v))
|
237
237
|
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
238
|
+
max_retries = 3
|
239
|
+
retry_count = 0
|
240
|
+
while True:
|
241
|
+
try:
|
242
|
+
_create_vm(
|
243
|
+
tart_client=tart,
|
244
|
+
vm_name=tart_vm_name,
|
245
|
+
volume_mounts=volume_mounts,
|
246
|
+
params=p,
|
247
|
+
system_failure_exit_code=system_failure_exit_code,
|
248
|
+
)
|
249
|
+
_get_vm_ip(
|
250
|
+
tart_client=tart, vm_name=tart_vm_name, params=p, system_failure_exit_code=system_failure_exit_code
|
251
|
+
)
|
252
|
+
break
|
253
|
+
except Exception:
|
254
|
+
if retry_count < max_retries:
|
255
|
+
retry_count += 1
|
256
|
+
click.secho(
|
257
|
+
"[WARNING] VM Coult not be started. Retrying...",
|
258
|
+
fg="yellow",
|
259
|
+
)
|
260
|
+
else:
|
261
|
+
click.secho(f"[ERROR] VM '{tart_vm_name}' could not be started.")
|
262
|
+
sys.exit(system_failure_exit_code)
|
263
|
+
|
246
264
|
ssh_session = _create_ssh_session(
|
247
265
|
tart_client=tart, vm_name=tart_vm_name, params=p, system_failure_exit_code=system_failure_exit_code
|
248
266
|
)
|
@@ -288,37 +306,41 @@ def prepare(
|
|
288
306
|
|
289
307
|
|
290
308
|
def _create_vm(
|
291
|
-
tart_client, vm_name, volume_mounts, params, system_failure_exit_code, max_retries=3, retry_timeout_in_sec=
|
309
|
+
tart_client, vm_name, volume_mounts, params, system_failure_exit_code, max_retries=3, retry_timeout_in_sec=10
|
292
310
|
):
|
311
|
+
# ensure that the VM is not running
|
293
312
|
try:
|
294
|
-
tart_client.
|
295
|
-
# check if vm is listed
|
296
|
-
retry_count = 0
|
297
|
-
while True:
|
298
|
-
try:
|
299
|
-
vm = tart_client.get(vm_name)
|
300
|
-
if vm:
|
301
|
-
click.echo(f"[INFO] VM '{vm_name}' is running")
|
302
|
-
break
|
303
|
-
else:
|
304
|
-
raise Exception("VM not found")
|
305
|
-
except Exception:
|
306
|
-
if retry_count < max_retries:
|
307
|
-
retry_count += 1
|
308
|
-
click.secho(
|
309
|
-
f"[WARNING] Failed to get IP of VM '{vm_name}'. [{retry_count+1}/{max_retries}] Retrying in '{retry_timeout_in_sec}' seconds...",
|
310
|
-
fg="yellow",
|
311
|
-
)
|
312
|
-
time.sleep(retry_timeout_in_sec)
|
313
|
-
else:
|
314
|
-
click.secho(f"[ERROR] VM '{vm_name}' could not be started.")
|
315
|
-
sys.exit(system_failure_exit_code)
|
313
|
+
tart_client.delete(vm_name)
|
316
314
|
except Exception:
|
317
|
-
|
318
|
-
sys.exit(system_failure_exit_code)
|
315
|
+
pass
|
319
316
|
|
317
|
+
tart_client.run(vm_name, volume_mounts, no_graphics=params.headless, softnet=params.softnet_enabled)
|
318
|
+
time.sleep(10) # give the VM some time to start
|
320
319
|
|
321
|
-
|
320
|
+
# check if vm is listed
|
321
|
+
retry_count = 0
|
322
|
+
while True:
|
323
|
+
try:
|
324
|
+
vm = tart_client.get(vm_name)
|
325
|
+
if vm:
|
326
|
+
click.echo(f"[INFO] VM '{vm_name}' is running")
|
327
|
+
break
|
328
|
+
else:
|
329
|
+
raise Exception("VM not found")
|
330
|
+
except Exception:
|
331
|
+
if retry_count < max_retries:
|
332
|
+
retry_count += 1
|
333
|
+
click.secho(
|
334
|
+
f"[WARNING] VM with name '{vm_name}' was not found. Retrying in '{retry_timeout_in_sec}' seconds...",
|
335
|
+
fg="yellow",
|
336
|
+
)
|
337
|
+
time.sleep(retry_timeout_in_sec)
|
338
|
+
else:
|
339
|
+
click.secho(f"[ERROR] VM '{vm_name}' could not be started.")
|
340
|
+
raise Exception("VM not found")
|
341
|
+
|
342
|
+
|
343
|
+
def _get_vm_ip(tart_client, vm_name, params, system_failure_exit_code, max_retries=3, retry_timeout_in_sec=10):
|
322
344
|
retry_count = 0
|
323
345
|
while True:
|
324
346
|
try:
|
@@ -331,18 +353,18 @@ def _get_vm_ip(tart_client, vm_name, params, system_failure_exit_code, max_retri
|
|
331
353
|
if retry_count < max_retries:
|
332
354
|
retry_count += 1
|
333
355
|
click.secho(
|
334
|
-
f"[WARNING]
|
356
|
+
f"[WARNING] Failed to get IP of VM '{vm_name}'. [{retry_count+1}/{max_retries}] Retrying in '{retry_timeout_in_sec}' seconds...",
|
335
357
|
fg="yellow",
|
336
358
|
)
|
337
359
|
time.sleep(retry_timeout_in_sec)
|
338
360
|
else:
|
339
361
|
click.secho(f"[ERROR] Failed to get IP of VM '{vm_name}'.")
|
340
|
-
|
362
|
+
raise Exception("VM IP not found")
|
341
363
|
|
342
364
|
return vm_ip_address
|
343
365
|
|
344
366
|
|
345
|
-
def _create_ssh_session(tart_client, vm_name, params, system_failure_exit_code, max_retries=3, retry_timeout_in_sec=
|
367
|
+
def _create_ssh_session(tart_client, vm_name, params, system_failure_exit_code, max_retries=3, retry_timeout_in_sec=10):
|
346
368
|
ssh_session = None
|
347
369
|
retry_count = 0
|
348
370
|
while True:
|
{gitlab_runner_tart_driver-0.3.5.dist-info → gitlab_runner_tart_driver-0.3.6.dist-info}/RECORD
RENAMED
@@ -1,10 +1,10 @@
|
|
1
|
-
gitlab_runner_tart_driver/__init__.py,sha256=
|
1
|
+
gitlab_runner_tart_driver/__init__.py,sha256=W_9dCm49nLvZulVAvvsafxLJjVBSKDBHz9K7szFZllo,22
|
2
2
|
gitlab_runner_tart_driver/__main__.py,sha256=FiyMv64vDC-R8i3CGEP9QP48djZFHm7utyChwZJWCeY,107
|
3
3
|
gitlab_runner_tart_driver/cli.py,sha256=rCtFzi7i4JUX7VXteBHyII4sEbMzpn8SIpyjyKrQCBI,592
|
4
4
|
gitlab_runner_tart_driver/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
gitlab_runner_tart_driver/commands/cleanup.py,sha256=nFe7TGdxsVSXNR9onm-3iCjmUo6SzujV5LrA_y439fs,1422
|
6
6
|
gitlab_runner_tart_driver/commands/config.py,sha256=cacJ9ms5r3nZGZ_sS2d21Uoz7S-bMjB__lORUmeXZ-4,760
|
7
|
-
gitlab_runner_tart_driver/commands/prepare.py,sha256=
|
7
|
+
gitlab_runner_tart_driver/commands/prepare.py,sha256=hLybN4q-ppFeOs-DxJfv2Y4uVXJvTaJGNap_c7PZOeg,14488
|
8
8
|
gitlab_runner_tart_driver/commands/run.py,sha256=kXQxi8nxv6QQRFzGrlqifLtFtbjXAYgjCiMVqXkb2_A,3065
|
9
9
|
gitlab_runner_tart_driver/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
gitlab_runner_tart_driver/modules/gitlab_custom_command_config.py,sha256=XvE83QmQUcqtVMYZY3okGOgO86DBX6Y7xhXNenmKxFY,3086
|
@@ -12,9 +12,9 @@ gitlab_runner_tart_driver/modules/gitlab_custom_driver_config.py,sha256=ujxlzP1Z
|
|
12
12
|
gitlab_runner_tart_driver/modules/tart.py,sha256=rD6IPtpz57dwsPGVBWaeKeVoqI1MoBvdtkqozXgmAxA,9914
|
13
13
|
gitlab_runner_tart_driver/modules/utils.py,sha256=7ipKjy_5tC5iW67Na_A9XhF4o2lKcAqO8LRTTSJKNd0,923
|
14
14
|
gitlab_runner_tart_driver/scripts/install-gitlab-runner.sh.j2,sha256=-rBzxZ92w7lMrTCVcjMHhlZgqPIK1RJKVoOc2wjZvck,2533
|
15
|
-
gitlab_runner_tart_driver-0.3.
|
16
|
-
gitlab_runner_tart_driver-0.3.
|
17
|
-
gitlab_runner_tart_driver-0.3.
|
18
|
-
gitlab_runner_tart_driver-0.3.
|
19
|
-
gitlab_runner_tart_driver-0.3.
|
20
|
-
gitlab_runner_tart_driver-0.3.
|
15
|
+
gitlab_runner_tart_driver-0.3.6.dist-info/LICENSE.txt,sha256=TiYXQpEfbzcPBNGb7k1NslUngq_un-5cxGyT4W1S_f4,3303
|
16
|
+
gitlab_runner_tart_driver-0.3.6.dist-info/METADATA,sha256=Dnxtm1KtThyxjTt3AJsm2QVnFE2jGQ8NLCJWo-9ns9c,20705
|
17
|
+
gitlab_runner_tart_driver-0.3.6.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
18
|
+
gitlab_runner_tart_driver-0.3.6.dist-info/entry_points.txt,sha256=xmvpGQf1wvFPy5wqDWXu8k5FD_k9KkCNCkpuworTsr0,82
|
19
|
+
gitlab_runner_tart_driver-0.3.6.dist-info/top_level.txt,sha256=JjRzCs2sr24xG4SV_5tIBPpNC1Tec7I4AbK4IKMDqOc,26
|
20
|
+
gitlab_runner_tart_driver-0.3.6.dist-info/RECORD,,
|
{gitlab_runner_tart_driver-0.3.5.dist-info → gitlab_runner_tart_driver-0.3.6.dist-info}/LICENSE.txt
RENAMED
File without changes
|
{gitlab_runner_tart_driver-0.3.5.dist-info → gitlab_runner_tart_driver-0.3.6.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|