Disk full - then hell broke loose

I downloaded the ubuntu-based VM to our VMware cluster and everything worked fine for a while. I had problems with disk space a couple of months ago but implemented the usual suggestions to purge rrd and what not. Everything worked fine until a few days ago when the disk was 100% full again. RRDs and MySQL are the sinners here.

I deleted a 5 gig librenms logfile and was able to have a somewhat funtioning system again. LibreNMS doesn’t work though:

librenms@librenms:~$ ./validate.php 
PHP Fatal error:  Uncaught Error: Class "LibreNMS\Validator" not found in /opt/librenms/validate.php:110
Stack trace:
#0 {main}
  thrown in /opt/librenms/validate.php on line 110
PHP Fatal error:  Uncaught Error: Class "LibreNMS\Util\Version" not found in /opt/librenms/validate.php:162
Stack trace:
#0 /opt/librenms/validate.php(83): print_header()
#1 [internal function]: {closure}()
#2 {main}
  thrown in /opt/librenms/validate.php on line 162

Fatal error: Uncaught Error: Class "LibreNMS\Util\Version" not found in /opt/librenms/validate.php:162
Stack trace:
#0 /opt/librenms/validate.php(83): print_header()
#1 [internal function]: {closure}()
#2 {main}
  thrown in /opt/librenms/validate.php on line 162

Also composer.json and composer.lock was 0 byte files. So I ended up deleting them both and downloading them manually from git.

I did some research and it seemed like somehow fixing the source was the way to go.

librenms@librenms:~$ git status
HEAD detached at a7aaaac103
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
....... a LOT of files deleted

Untracked files:
  (use "git add <file>..." to include in what will be committed)
.. a few files, look normal to me..

no changes added to commit (use "git add" and/or "git commit -a")
librenms@librenms:~$ git checkout – composer.lock
error: pathspec '–' did not match any file(s) known to git
librenms@librenms:~$ ./scripts/composer_wrapper.php install --no-dev
> LibreNMS\ComposerHelper::preInstall
Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Package operations: 1 install, 0 updates, 0 removals
  - Downloading librenms/plugin-interfaces (1.0)
  - Installing librenms/plugin-interfaces (1.0): Extracting archive
Package influxdb/influxdb-php is abandoned, you should avoid using it. No replacement was suggested.
Package web-token/jwt-key-mgmt is abandoned, you should avoid using it. Use web-token/jwt-library instead.
Package web-token/jwt-signature is abandoned, you should avoid using it. Use web-token/jwt-library instead.
Package web-token/jwt-signature-algorithm-ecdsa is abandoned, you should avoid using it. Use web-token/jwt-library instead.
Package web-token/jwt-util-ecc is abandoned, you should avoid using it. Use web-token/jwt-library instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

In trustedproxy.php line 28:
                                             
  Class "LibreNMS\Util\EnvHelper" not found  
                                             

Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

The EnvHelper.php is present in the LibreNMS/Util dir. So that’s not the problem.

And now I’m stuck. Any ideas? I have a very limited knowledge on PHP so I feel kinda lost.

Thanks!

/klaus

This will lose any local code changes you might have made but try git reset —hard origin/master

Thanks, that did the job. If anyone who’s just as git illiterate as I am, comes across this in the future, here’s exactly what I did:

user@librenms:~$ sudo su - librenms
librenms@librenms:~$ git reset --hard origin/master
librenms@librenms:~$ git pull

et voilá! Everything works again!

Have a great day and thanks for the help again!

3 Likes