* Faster initial database creation
Add db dumps to improve initial db migration
On my test system 13s -> 7s, a 46% reduction.
Should help out a lot on systems like RPi
* lnms schema:dump command
--snapshots saves db snapshots, otherwise it saves the yaml
* fix style
* fix timezones...
* not working with in-memory db yet
remove build.sql
* Shift HTTP kernel and middleware
* Shift service providers
* Shift console routes
* Shift to class based factories
* Namespace seeders
* Shift PSR-4 autoloading
* Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them. This allows you to review the commit
diff for once for customizations when you are done Shifting.
Moving forward, consider using ENV variables or create a separate
config file to allow the core config files to remain as default
as possible.
* Shift Laravel dependencies
* Shift return type of base TestCase methods
From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type:
- `setUpBeforeClass()`
- `setUp()`
- `assertPreConditions()`
- `assertPostConditions()`
- `tearDown()`
- `tearDownAfterClass()`
- `onNotSuccessfulTest()`
[1]: https://phpunit.de/announcements/phpunit-8.html
* Shift cleanup
* console routes
* composer update
* factories
* phpunit
* bootstrap pagination
* model factory
* wip
* Apply fixes from StyleCI (#12236)
* wip
* Apply fixes from StyleCI (#12238)
* wip
* wip
* wip
* wip
* Apply fixes from StyleCI (#12240)
* wip
* Apply fixes from StyleCI (#12242)
* composer update
* Bump to PHP 7.3 minimum
Co-authored-by: Laravel Shift <shift@laravelshift.com>
* Added new authalgo support for SNMPv3
* Update 2020_07_27_00522_alter_authalgo_column.php
Fixed case
* Update addhost.inc.php
Fixed case
* Update snmp.inc.php
Fixed case
* Update db_schema.yaml
Fixed case
* Fixed SHA-* order to ascending
* Update 2020_07_27_00522_alter_authalgo_column.php
Fixed space
* Update db_schema.yaml
Fixed line to be of type string
* Update config_definitions.json
Fixed sorting
* Fixed test file case sensitivity
* Fixed rollback function
* SourceDoctor code for checks
* Fixed indentation issues on Travis test
* Update to re-trigger testing stuck on CLA step
* Added crypto-algo updates
* Incorporated suggestions from Jellyfrog
* Added documentation entry
* Fixed travis spacing error
* Fixed validations
* Delete snmpv3_version_compare.patch
Sorry, this one was not supposed to be there.
* Added poller evaluation
* Added poller comparison
* Fixed merge-conflicts
* Fixed typo in test unit
* code refinements
only can check on webui that it supports the algorithms, hopefully, the eventlog is enough to notify users of distributed pollers.
* style fixes and remove openssl setting
* fix device access
* fix missing migration column
Co-authored-by: Tony Murray <murraytony@gmail.com>
* snmpwalk_cache_oid handle multiline strings
* remove useless function
* some output has no space after equals
* airos-af-ltu use hr processors
* don't try to append with empty strings
* fix changed test data due to fix
* revert smartax
* better regex
additional check
* split siteboss 530 and 550 into multiple OS
* add more sensors to siteboss550 and new Percent sensor
* fix contact closure event state values
* split os polling for siteboss to siteboss530 and siteboss550
* add test unit for siteboss550, rename test unit for siteboss to siteboss530
* refactor siteboss os polling to \Librenms\OS
* implement OSPolling to Sitebos550
* force save in pollOS() to keep custom sysName during polling
* updated unit test
* update device graphs
* remove pollOS and extra save()
* siteboss550 no longer extends OSPolling
* update siteboss550 test data
* update discoverOS() to match recent os discovery changes
* styleCI changes
* fix siteboss hardware discovery; add check to OS polling if os_group .inc file exists
* collapse siteboss to single OS, implement siteboss sensors in advanced discovery
* add siteboss unit tests
* removed unneeded OS disco defs
* styleCI changes
* more styleCI changes
* split siteboss os to siteboss530 and siteboss550
* split siteboss os to siteboss530 and siteboss550
* move php polling back into yaml
* keep original siteboss OS name
* resave snmp data for siteboss OS
* resave snmp data for siteboss550 OS
* initial support for DC-UPS-48 from algom
* add snmprec files for algcom-dc-ups
* rename MIB and create json test unit
* new MIB name, recapture test snmprec and json
* remove unnecessary OS matching
* Implement locks in the file cache
* Replace custom locks
* implement restore lock
Used when re-hydrating
* remove legacy use statements
* Add class descriptions
* Fix style
* Default to database cache driver
* missed cache_locks table
prevent chicken-egg issue
* style fixes
* Remove custom file lock implementation
* missed items from file cache
* Update schema definition
hmm, other schema noise must be from manual modification as this is generated from a freshly migrated db.
* require predis, it is pure python, so no harm in adding
* and set predis as the default client
* - make Eaton Gigabit Network Card (AKA M2) a separate OS
(this hardware shares the sysOID with an older product, but not much more than that.)
- add relevant and updated mib-files. This creates duplicates of the same mibfile in mibs/.
unsure if this can be avoided
* axed some old mibs again
* All os detection now uses Yaml
Move OS detection code into the Core module.
Defer all OS with snmp queries.
Add snmpwalk option.
Port ubnt and mobileiron to yaml.
* Silly ide refactor
* Ciena SAOS 8 device improvements
- improved interface polling for certain devices with broken ifXEntry and long ifEntry value caching
- added G.8032 virtual ring status sensors
- adjusted default alert threshold for a sensor because some devices provide a nonsensical value (more work to be done here)
* Style fixes
* missed whitespace
Co-authored-by: Tony Murray <murraytony@gmail.com>
* add freshtomato snmprec file
add freshtomato snmprec , generated from latest freshtomato release
* add freshtomato test data
add freshtomato test data, generated from latest freshtomato release
* add freshtomato os definition
add freshtomato os definition
* freshtomato discovery for version, hardware model
freshtomato discovery for version, hardware model
* update freshtomato.snmprec, extra oid
update freshtomato.snmprec, extra oid now showing since going to 1.68, from over night update.
LibreNMS can now show version and hardware (router model) correctly.
* update freshtomato.json, hardware is now populated
update freshtomato.json, hardware is now populated, since going to 1.68, definition discovery is working correctly it seems.
* Regenerate without lo ignored.
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Drop redundant sensors from eaton-mgeups. Prefer RFC1628-sensors. Keep stuff unique to the mge MIB.
Add snmprecs for two new variants.
* Rewrote these jsons files after the previous change. All tests passing.
* Mistake in ddmDiagnosisRXPower OID
Mistake in ddmDiagnosisRXPower OID (its same as ddmDiagnosisBias)
Right OID is .1.3.6.1.4.1.40418.7.100.30.1.1.17
* Update snr.json
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Added support for OS detection from NXOS and UCS
* Changed to SysObjectID instead of Hardware
* Move to YAML
* Rename test cases from nxos to ucos
* Update ucos_2.json
* Rename nxos.yaml to ucos.yaml
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Rewrite smokeping script to be an lnms command
* Add a default number of probes for smokeping
* Formatting fixes
* Refactor to simplify a couple of methods
* Fix a name collision when using more than 60 threads
* Simplify
* First pass at documentation
A few climate fixes too.
I'm a little dubious about the + LibreNMS fix - it could be included
in /etc/smokeping/config if it is really needed, but it sounds like
(looking at git blame) it's needed for if the script generates a broken
configuration file.
I'm thinking we should just not generate broken config.
* Improve testability and add some tests
* Load laravel to make translations available
* Second pass at documentation
* Fix brace
* Extend the device factory to include the type
Also adds a device group fake I created before I realised I didn't need it
* Mimic gen_smokeping.php a little more closely
* Update tests to properly verify old and new behaviour against each other
* Replace gen_smokeping with a wrapper
* Don't double whitespace
Render does this automatically.
Explicitly order by hostname too.
* Make faker less likely to generate duplicates
I tried adding a unique constraint here, but it didn't have the
intended effect.
Extending the hostname like this seems to work fine - I tried
generating 10 million hosts and got no duplicates, compared to
duplicates appearing with as few as 100 hosts without this
change.
A true fix would be to add an 'fqdn' fake upstream.
* Make the tests more robust
* Assorted bug fixes
* Style corrections
* Handle 'generic' devices
* Fix an issue that came up during rebase
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update sensatronics-em1.yaml
sysObjectID wasn't specific enough.
* Create sensatronics-ittm.yaml
Add support for 4/16 channel units
* Create sensatronics-ittm.yaml
Add support for 4/16 channel units
* Change name to be specific to ITTM
* Create sensatronics-ittm.snmprec
* Create sensatronics-ittm.json
* UBNT AF LTU: Fix incorrect eth0 status during discovery
* UBNT AF LTU: Update test data
* UBNT AF LTU: Remove eth0 if afLTUethConnected is not set
* UBNT AF LTU: Use require instead of require_once
* Add basic support for GE Galaxy Pulsar Plus Controllers
* Add basic support for GE Galaxy Pulsar Plus Controllers
* Add basic support for GE Galaxy Pulsar Plus Controllers
* Modified Gepulsar.php