* Refactor test for GitHub Actions
* Checkout pull request HEAD commit instead of merge commit
* Fetch changed files from API instead of git
* HEAD commit
* Origin
* Fix env
* force full unit checks on gh actions change
* Fix DB conn
* Update test.yml
* Also set port in PDO connection
* Exit with correct exit code
* Update CiHelper.php
* Update test.yml
* Update CiHelper.php
* Update Proc.php
* Cleanups
Remove extra unit test run on php 7.4
Add names that will hopefully show in github.
Remove redundant DB env variables.
* Fix
Shorter names
and DB_TEST env is required
* Change command for information purposes
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* remove unneeded semi-colons at end of line
* fix SC2206: Quote to prevent word splitting/globbing
* fix SC2164: Use 'cd ... || exit' in case cd fails
* fix SC2004: $/${} is unnecessary on arithmetic variables.
* fix SC2155: Declare and assign separately to avoid masking return values.
* fix SC2124: Assigning an array to a string! Assign as array, or use * instead of @ to concatenate.
* fix SC2059: Don't use variables in the printf format string. Use printf "..%s.." "$foo".
* fix SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
* fix SC1090: Can't follow non-constant source. Use a directive to specify location.
* fix SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
* SC2223: This default assignment may cause DoS due to globbing. Quote it.
* fix SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
* fix SC1117: Backslash is literal in "\n". Prefer explicit escaping: "\\n"
* better handling of branch comapre
* add missing local ver_73 from merge
* remove duplicate definition
* Update to Composer 2
No need to roll our own checks anymore since this is now built in.
Also limit the update check to once a week.
* update
* Make Composer wrapper report correct exit code
* Update composer_wrapper.php
* re-enable extension check
Co-authored-by: Tony Murray <murraytony@gmail.com>
* 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
* 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
* 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>
* Refactor pre-commit to class
* docs build
* dusk check
* ci mode for checks
* full checks
* other mysql
* make other lint checks actually work
fix pylint finding
* ci is a long opt
* fix undefined index
* dusk fully working
* ask for forgiveness, not permission
* fix whitespace
* skip dusk sometimes
* Handle 3com and other os with digits
* flags instead of if else spaghetti
* convert to command
* cleanup
* missed check
* fixes
* case
* self-check :D
* argument now
* fix bugs from refactors
* another fix
* adjust file change parsing
* refactor execut a bit
* fallback to global quiet when unknown type.
* allow quiet override for specific commands
* output cleanup
* check flow
* start of tests
* file categorizer tests and fixes
* fixes and cleanup
* skipable not implemented...
* more tests, fix bugs
* more tests and cleanup
* wrong command
* fix canCheck and set env properly
* full env fix
* don't allow dusk on user's run as it will erase their db.
* fix os option
* fix whitespace
* don't need to start server
* ci doesn't like that
* Ping only device doesn't display
if os was set to something, ping os wasn't loaded and we try to get overview graphs from it.
* Fix snmp_disable device page load error
When other os is set.
* Revamp os setting loading
the only safe way to access is Config::getOsSetting()
* Remove getOsSetting fallback behavior
Most instances don't use it and it can have unexpected results Config::getOsSetting('blah', 'group') == 'librenms'
* refactor and remove unneeded load_os/loadOs calls now since getOsSetting automatically loads it.
* restore unix overview graphs, they are different
small cleanups
* fix
* Python3 Modul Dependency Check
* code climate
* binary existance check
* move Python Modul Version Check
* .
* adding verbose argument
* args parser nicement
* enhance Validator for detailed approvements
* Update Python.php
* Update check_requirements.py
* python version to Version class
use Process
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Delete ports via eloquent event
Chunk delete during purge all operations so we don't use too much memory.
* protect against missing device
* fix whitespace
* fetch less from the database when deleting a device's ports
fix output
* Datastores to object oriented code, using the Laravel IoC container
Change instantiation
better DI
move OpenTSDB
Small re-orgs
remove unused stuff
Fix graphs and other scripts
Use DI for all except rrd
fix up connection error handling
Add tests, fix up a "few" things
Add Config::forget()
Style fixes
Don't reference legacy code
remove accidental code paste
Add datastores phpunit groups
some tests
* rebase fixes
* some test fixes
* shorter tests
* shorter tests
* Don't except when rrdtool can't be started.
* restore tests
* fix rrd tests
* fix iterable change upstream
* fix isValidDataset
* fix invalid data bug
* fix mysql incorrect ds
* fix issue with data that is too long
* use regular data_update()
* Use log facade
* OpenTSDB mis-ordered arguments fix
* Making a singleton with different options makes different singletons. Just use the global config settings to disable datastores.
* only filter tags for datastores that won't it don't modify the tags permanently
* Update copyrights to include original authors.
* Stats for all datastores
* Fix mysql sends different rrd / other ds names
* fix snmp last stats not initialized
remove unused function
* remove unused function and move single use function closer to its use
* InfluxDB does not need to update null or U values.
Skip write if all fields are empty
* Fix smart value checks
* fix style issues
* Make sure port data is stored the same way as before for Graphite and OpenTSDB
Add ifIndex tag to all to be compatible
* Missed rrdtool_tune() call
* Test update WIP
* OpenTSDB now includes tags
* fix style
* Datastores to object oriented code, using the Laravel IoC container
Change instantiation
better DI
move OpenTSDB
Small re-orgs
remove unused stuff
Fix graphs and other scripts
Use DI for all except rrd
fix up connection error handling
Add tests, fix up a "few" things
Add Config::forget()
Style fixes
Don't reference legacy code
remove accidental code paste
Add datastores phpunit groups
some tests
* rebase fixes
* some test fixes
* shorter tests
* shorter tests
* Don't except when rrdtool can't be started.
* restore tests
* fix rrd tests
* fix iterable change upstream
* fix isValidDataset
* fix invalid data bug
* fix mysql incorrect ds
* fix issue with data that is too long
* use regular data_update()
* Use log facade
* OpenTSDB mis-ordered arguments fix
* Making a singleton with different options makes different singletons. Just use the global config settings to disable datastores.
* only filter tags for datastores that won't it don't modify the tags permanently
* Update copyrights to include original authors.
* Stats for all datastores
* Fix mysql sends different rrd / other ds names
* fix snmp last stats not initialized
remove unused function
* remove unused function and move single use function closer to its use
* InfluxDB does not need to update null or U values.
Skip write if all fields are empty
* Fix smart value checks
* fix style issues
* space on type like "OOB Management" cause issue on smokeping, edit gen_smokeping script to replace dot and space
* create fonction for replace dot and space
* correct indentation
* moving function to functions.php
* correct function name
* Remove function
this should not be a function...
* Remove function
* Update gen_smokeping.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* GitHub - Add the ScreenShot hint in the PR Template
* revert the version
checking if the tests are now running correctly without this version constraints