* feature: allow validate.php to be run from any working directory
* remove redundant realpath() call
* re-add realpath() to remove symbolic links
* realpath() isn't needed...
* chdir() in all php scripts in ./ and ./scripts/
* update-sql.php clearly is not used, as it was broken.
* Change some scripts to executable
Remove extra chdir() call in snmp-scan.php
* Missed console-ui.php
Kind of fixed console-ui.php help output
* Re-add newline
* more pre-commit.php improvements
do not check influx-db on hhvm
Use parallel-lint to increase lint check speed and improve output
Add option to print out the commands that would be executed, makes it easier to modify them and run by hand
Fixed a couple of bugs
* Integrate the environment check
Flip it so we don't interfere with command line users
* Implement an autoloader
When cleaning up classes for psr2, things got a bit unwieldy, so I implemented a class autoloader.
I created a PSR-0 compliant LibreNMS directory and moved all classes there that made sense.
Implemented LibreNMS\ClassLoader which supports adding manual class mappings
This reduces the file includes needed and only loads classes when needed.
* Add teh autoloader to graph.php
* Add a small bit of docs
Fix incomplete class in includes/discovery/functions.inc.php
By default libreNMS used the ifIndex to associate ports just found via SNMP
with ports discoverd/polled before and stored in the database. On Linux boxes
this is a problem as ifIndexes are rather likely to be unstable between reboots
or (re)configuration of tunnel interfaces (think: GRE/OpenVPN/Tinc/...), bridges,
Vlan interfaces, Bonding interfaces, etc.
This patch adds a »port association mode« configuration option per device which
allows to map discovered and known ports by their ifIndex, ifName, ifDescr, or
maybe other means in the future.
The default port association mode still is ifIndex for compatibility reasons.
As port RRD files were stored by their ifIndex before, they are now identified
by their unique and stable port_id to ensure a stable and unique mapping and
allow future port association modes to be added without requireing any further
internal changes. Existing RRD files are renamend accordingly in discovery and
poller tools to ensure stability of port associations in both modules as we
don't know which might run first after an update.
Signed-off-by: Maximilian Wilhelm <max@rfc2324.org>
On Arch systems, /etc/lsb-release contains the placeholder version string
"rolling".
Prevent parsing /etc/lsb-release on Arch systems to the script won't report the
distribution "Arch rolling".
This reverts commit d048e5e616a3d50efbc1c41d2fdd926c08dd2ad2.
The detection logic for Ubuntu (and perhaps other distributions) relies on
/etc/lsb-release.