ytti/oxidized

View on GitHub
TODO.md

Summary

Maintainability
Test Coverage
# To Do

## refactor core

* move state from memory to disk, sqlite probably
* allows us to retain stats etc over restart
* simplifies code
* keep only running nodes in memory
* negligible I/O cost, as majority is I/O wait getting config

## separate login to own package

* oxidized-script is not only use-case
* it would be good to have minimal package used to login to routers
* oxidized just one consumer of that functionality
* what to do with models, we need model to know how to login. Should models be separated to another package? oxidized-core, oxidized-models and oxidized-login?
* how can we allow interactive login in oxidized-login? With functional VTY etc? REPL loop in input/ssh and input/telnet?

## thread number

* think about algo
* if job ended later than now-iteration have rand(node.size) == 0 to add thread
* if now is less than job_ended+iteration same chance to remove thread?
* should we try to avoid max threads from being hit? (like maybe non-success thread is pulling average?)

## docs, testing

* yard docs
* minitest tests