diff --git a/LibreNMS/Util/Snmpsim.php b/LibreNMS/Util/Snmpsim.php index eac7ef9ec9..8577239f3f 100644 --- a/LibreNMS/Util/Snmpsim.php +++ b/LibreNMS/Util/Snmpsim.php @@ -25,6 +25,7 @@ namespace LibreNMS\Util; +use Illuminate\Support\Facades\Log; use Symfony\Component\Process\Process; class Snmpsim extends Process @@ -75,15 +76,25 @@ class Snmpsim extends Process $snmpsim_venv_path = $this->getVenvPath(); if (! $this->isVenvSetUp()) { - \Log::info('Setting up snmpsim virtual env in ' . $snmpsim_venv_path); + Log::info('Setting up snmpsim virtual env in ' . $snmpsim_venv_path); $setupProcess = new Process(['python', '-m', 'venv', $snmpsim_venv_path]); $setupProcess->setTty($print_output); $setupProcess->run(); + if (! $setupProcess->isSuccessful()) { + Log::info($setupProcess->getOutput()); + Log::error($setupProcess->getErrorOutput()); + } + $installProcess = new Process([$snmpsim_venv_path . '/bin/pip', 'install', 'snmpsim']); $installProcess->setTty($print_output); $installProcess->run(); + + if (! $installProcess->isSuccessful()) { + Log::info($installProcess->getOutput()); + Log::error($installProcess->getErrorOutput()); + } } } diff --git a/scripts/save-test-data.php b/scripts/save-test-data.php index 12b0003651..d4aff00caf 100755 --- a/scripts/save-test-data.php +++ b/scripts/save-test-data.php @@ -102,6 +102,12 @@ if (isset($os_name) && isset($variant)) { $os_list = ModuleTestHelper::findOsWithData($modules); } +if (empty($os_list)) { + echo "No matching snmprec(s) found.\n"; + + exit(1); +} + if (isset($options['f'])) { if (count($os_list) != 1) { echo "Failed to create test data, -f/--file option can be used with one os/variant combination.\n"; @@ -113,7 +119,7 @@ if (isset($options['f'])) { // Now use the saved data to update the saved database data $snmpsim = new Snmpsim(); -$snmpsim->setupVenv(); +$snmpsim->setupVenv(true); $snmpsim->start(); echo "Waiting for snmpsim to initialize...\n"; $snmpsim->waitForStartup();