ttafsir / evengsdk

Open source Python library and command line utilities for EVE-NG API
https://ttafsir.github.io/evengsdk/
MIT License
65 stars 15 forks source link

[ERROR] Exception seen with lock file when creating topology from YAML #168

Open UchihaItachiSama opened 2 years ago

UchihaItachiSama commented 2 years ago

Describe the bug

Using https://ttafsir.github.io/evengsdk/topology_builder/ when we create a topology from YAML file, occasionally we keep running into the following exception

Type: ErrorException
Code: 2
Message: unlink(/opt/unetlab/labs/himanshu/AVD_ASYM_AA_MH.unl.lock): No such file or directory
File: /opt/unetlab/html/includes/functions.php
Line: 793
Trace

#0 : Slim\Slim::handleErrors(2, 'unlink(/opt/une...', '/opt/unetlab/ht...', 793,
Array)
#1 /opt/unetlab/html/includes/functions.php(793): unlink('/opt/unetlab/la...')
#2 /opt/unetlab/html/api.php(922): unlockFile('/opt/unetlab/la...')
#3 : {closure}(Array)
#4
/opt/unetlab/html/includes/Slim/Route.php(468): call_user_func_array(Object(Closure), Array)
#5 /opt/unetlab/html/includes/Slim/Slim.php(1357): Slim\Route->dispatch()
#6
/opt/unetlab/html/includes/Slim/Middleware/Flash.php(85): Slim\Slim->call()
#7 /opt/unetlab/html/includes/Slim/Middleware/MethodOverride.php(92): Slim\Middleware\Flash->call()
#8
/opt/unetlab/html/includes/Slim/Middleware/PrettyExceptions.php(67): Slim\Middleware\MethodOverride->call()
#9 /opt/unetlab/html/includes/Slim/Slim.php(1302): Slim\Middleware\PrettyExceptions->call()
#10
/opt/unetlab/html/api.php(1339): Slim\Slim->run()
#11 {main}

The same run of the lab runs successfully other times. The issue is majorly intermittent.

This is mostly seen when creating p2p links between nodes. One more thing noticed is this is not seen for smaller scale labs (i.e less nodes.)

Thus wanted to check if this is a possible bug on the eve-ng api end?

Also, enabling debugging does not seems to work, can you please help me with the same?

(source .env && eve-ng --debug -v lab create-from-topology -t templates/eve-ng-topology.yaml)