CHANGES
=======

v0.17.11
--------

* release 0.17.11
* Worker upgrade (networkml et al)
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.21
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.21
* Update grafana/grafana Docker tag to v8.0.6
* Update dependency faucetconfrpc to v0.22.21
* Update iqtlabs/network\_tap Docker tag to v0.11.23
* Update dependency texttable to v1.6.4
* move from requests to httpx
* Update dependency requests to v2.26.0
* don't need token for public repo
* Update grafana/grafana Docker tag to v8.0.5
* Update dependency cmd2 to v2.1.2
* Update prom/prometheus Docker tag to v2.28.1
* Update grafana/grafana Docker tag to v8.0.4
* Update dependency urllib3 to v1.26.6
* Update prom/prometheus Docker tag to v2.28.0
* Update dependency cmd2 to v2.1.1
* Update grafana/grafana Docker tag to v8.0.3
* Switch to 11.dev

v0.17.10
--------

* v0.17.10
* switch to dev to cause tests to run, update networkml
* update frpc
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.20
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.20
* Update dependency cmd2 to v2.1.0
* Update grafana/grafana Docker tag to v8.0.2
* Update dependency cmd2 to v2
* Update grafana/grafana Docker tag to v8.0.1
* Update codecov/codecov-action action to v1.5.2
* Update grafana/grafana Docker tag to v8
* Update dependency urllib3 to v1.26.5
* Update dependency flask to v2.0.1

v0.17.9
-------

* release v0.17.9

v0.17.8
-------

* release v0.17.8

v0.17.7
-------

* missing )
* release v0.17.7
* Update iqtlabs/network\_tap Docker tag to v0.11.22
* Update grafana/grafana Docker tag to v7.5.7
* Update faucet/gauge Docker tag to v1.9.54
* Update faucet/faucet Docker tag to v1.9.54
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.54
* ensure min 1s sleep always between var polls
* docker lib needs six
* Update prom/prometheus Docker tag to v2.27.1
* Update prom/prometheus Docker tag to v2.27.0
* Update precommit hook pre-commit/pre-commit-hooks to v4
* Update dependency flask to v2
* Update dependency falcon to v3.0.1
* Update grafana/grafana Docker tag to v7.5.6
* Update dependency greenlet to v1.1.0
* Update python Docker tag to v3.9
* Update dependency faucetconfrpc to v0.22.19
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.19
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.19
* master -> main
* Update codecov/codecov-action action to v1.5.0
* Update precommit hook pre-commit/mirrors-autopep8 to v1.5.7
* Update grafana/grafana Docker tag to v7.5.5
* fix falcon warnings
* Update dependency pbr to v5.6.0
* Update precommit hook asottile/reorder\_python\_imports to v2.5.0
* Update dependency falcon to v3
* Update codecov/codecov-action action to v1.4.1
* Update codecov/codecov-action action to v1.4.0
* Update grafana/grafana Docker tag to v7.5.4
* remove crviz
* Update dependency schedule to v1.1.0
* Update grafana/grafana Docker tag to v7.5.3
* Update dependency transitions to v0.8.8
* Update dependency docker to v5
* Update codecov/codecov-action action to v1.3.2
* fix missing attribute
* try adding back pytype
* Update prom/prometheus Docker tag to v2.26.0
* Update grafana/grafana Docker tag to v7.5.2
* Update dependency gunicorn to v20.1.0
* Update grafana/grafana Docker tag to v7.5.1
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.18
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.18
* Update dependency faucetconfrpc to v0.22.18
* Update grafana/grafana Docker tag to v7.4.5
* Update precommit hook pre-commit/mirrors-autopep8 to v1.5.6
* Update prom/prometheus Docker tag to v2.25.2
* Update codecov/codecov-action action to v1.3.1
* Update codecov/codecov-action action to v1.3.0
* Update dependency urllib3 to v1.26.4
* Update prom/prometheus Docker tag to v2.25.1
* Update precommit hook pre-commit/mirrors-autopep8 to v1.5.5
* Update codecov/codecov-action action to v1.2.2
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.17
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.17
* switch to dev

v0.17.6
-------

* Release v0.17.6
* switch to 0.17.6.dev to cause tests to run
* Update iqtlabs/network\_tap Docker tag to v0.11.21
* Update dependency faucetconfrpc to v0.22.17
* Update dependency eventlet to v0.30.2
* Update iqtlabs/crviz Docker tag to v0.3.27
* Update dependency docker to v4.4.4
* Update grafana/grafana Docker tag to v7.4.3
* Update dependency docker to v4.4.3
* Update prom/prometheus Docker tag to v2.25.0
* Update grafana/grafana Docker tag to v7.4.2
* Update dependency docker to v4.4.2
* Update dependency transitions to v0.8.7

v0.17.5
-------

* v0.17.5
* Upgrade networkml, network\_tap, rabbitmq
* Update iqtlabs/network\_tap Docker tag to v0.11.20
* Update grafana/grafana Docker tag to v7.4.1
* Update precommit hook asottile/reorder\_python\_imports to v2.4.0
* Update dependency pika to v1.2.0
* Update grafana/grafana Docker tag to v7.4.0
* update copyright years
* Update dependency eventlet to v0.30.1
* Update dependency cmd2 to v1.5.0
* Update dependency schedule to v1
* dev

v0.17.4
-------

* Upgrades
* Upgrades
* changelog
* Update iqtlabs/network\_tap Docker tag to v0.11.19
* better fix
* tool is one level up, there is no results key
* Update iqtlabs/crviz Docker tag to v0.3.26
* Update dependency urllib3 to v1.26.3
* log exception fully
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.16
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.16
* Update dependency faucetconfrpc to v0.22.16
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.15
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.15
* Update dependency faucetconfrpc to v0.22.15
* Update prom/prometheus Docker tag to v2.24.1
* dev PR

v0.17.3
-------

* release
* dev
* Remove obsolete "-r" flag to select rabbit

v0.17.2
-------

* release v0.17.2
* release v0.17.2
* Update grafana/grafana Docker tag to v7.3.7
* Update iqtlabs/network\_tap Docker tag to v0.11.18
* Update dependency greenlet to v1
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.14
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.14
* Update dependency faucetconfrpc to v0.22.14
* placeholder code
* force recreate so network is always right
* path changed with pbr packages
* Update prom/prometheus Docker tag to v2.24.0
* Update codecov/codecov-action action to v1.2.1
* preserve config file
* missing quotes
* || exit
* fix install script for pbr
* bandaid
* monitor -> method
* more imports
* fix self
* more imports
* fix more imports
* fix imports
* more restructuring
* Update codecov/codecov-action action to v1.2.0
* remove more helper functions
* restructure helpers
* cleanup tests
* fix more coverage
* fix coverage
* remove unused import
* pika exceptions are being handled, so only log critical
* cleanup logging
* port should be an int, better error handling
* better error handling
* remove parser
* move DEFAULT\_CONFIG\_FILE
* fix missing funcs
* simplify
* shouldn't be plural
* Update dependency transitions to v0.8.6
* fix call, remove extra network
* more restructuring
* shouldn't be None
* fix bool
* move to pyhton3.9, cleanup, disable pytype
* remove unused code
* Local/Remote conf get setter, move to test class
* restructure operations
* don't include core for versioning issues
* lax version
* missing =
* cleanup formatting
* consistent usage of constants
* closes #2088
* Need all tags
* fetch depth 0
* \_\_version\_\_ instead of VERSION in most places
* operating -> operate
* Update dependency docker to v4.4.1
* update to operating
* missed a few instances
* missed trailing ]
* move mirror and reinvestigate states to operate
* remove shutdown and apply\_routes as not used
* bump back to dev

v0.17.1
-------

* 0.17.1
* use eventlet instead of gevent
* still needs ffi, apparently
* Drop ignored messages right away, don't consider them events
* use deb package
* needs to be latest until released
* add back api dockerfile, add ffi-dev for arm
* update pip, remove api from build
* Update codecov/codecov-action action to v1.1.1
* dev

v0.17.0
-------

* README
* Need custom dist dirs
* sdist needs a README
* 3.7 not supported ubuntu 20
* 0.17.0
* fix up codacy issues
* fix cli call
* fix cli call
* try with sudo
* restructure into 3 packages, use pbr versioning
* latest
* compatible changes for new RBQ wrapper
* Update codecov/codecov-action action to v1.1.0
* Update grafana/grafana Docker tag to v7.3.6
* coverage
* Generic merge of metadata from tools, so future tools can send results by MAC or IP
* Update dependency pytype to v2020.12.16
* reset to dev

v0.16.0
-------

* v0.16.0
* Update dependency requests to v2.25.1
* check if ipv4 is an empty string and ignore
* handle NO\_DATA from previous missing prom values, filter bad prev\_state values, workaround bad ignore label
* refactor, make result order from prometheus deterministic
* static
* state time
* NO\_DATA filtering
* prom decode test
* pcap\_labels
* Update precommit hook pre-commit/pre-commit-hooks to v3.4.0
* simplify scraper
* simplify scraper
* is now none
* fix vlan in api and prev\_state
* remove debugging
* fix api
* Update dependency pytest to v6.2.1
* Basic test for CLI output
* Fix ipv4 os/CLI roles
* Fix role/confidence setting poseidon\_endpoint\_metadata
* placate pytype
* not plural
* variable scope
* missing import
* fix prev\_state
* Remove inactive state
* Remove PORT\_CHANGE/inactive
* PORT\_CHANGE not necessary
* Need to cleanup existing prometheus state
* move api to prometheus
* prom active/inactive
* Remove remove inactives handler, and activate/deactivate
* expose prom 9304
* check for source\_mac
* remove check for SetDpInterfaces
* Update dependency pytest to v6.2.0
* fix cli tests
* missed one os
* classifications -> classification
* fix cli
* fix cli and prom updates
* remove debugging logs
* fix os
* simplify, and logging
* unexpected key
* more debugging
* strange
* more debugging
* more logging
* log message
* Update dependency mock to v4.0.3
* fix variables
* fix items iterator
* logging and item -> items
* might learn from different capture, have to check mac
* more debugging
* ensure keys exist
* remove timestamp from tests
* remove timestamps
* more logging
* check if labels
* one level too many
* no timestamp
* update prom when endpoint updates
* ensure mac and ip address dicts exist
* rogue colon
* store results from p0f and networkml
* more debug
* debug logging
* Update iqtlabs/crviz Docker tag to v0.3.24
* remove redis calls
* missing s
* remove redis
* fix updating metrics
* Update grafana/grafana Docker tag to v7.3.5
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.13
* fix confusion of mirror counts on ports/mirror ports, causing ports not to be unmirrored
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.13
* change back
* more test tweaks
* remove function calls
* fix tests
* remove more of redis
* add prometheus config options
* default if keys don't exist
* only retrieve endpoints when instantiating class
* dump prom var on failure
* untabify
* Update faucet/gauge Docker tag to v1.9.53
* Update faucet/faucet Docker tag to v1.9.53
* bad copy/pasta
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.53
* forgot closing }
* missed a couple
* unmatched [
* retrieve role and os data from prom
* gets stored endpoints from prom instead of redis
* common labels
* lint
* track/timeout observation timeout
* comment out until ready
* extra checks for fields
* add import
* more refactoring for move to prometheus
* get metrics from prometheus placeholder for endpoints
* remove extra labels
* missing plural
* add extra metrics for better queries
* More pytype confusion
* pytype should be happy with bytes as well as str
* Update dependency pytype to v2020.12.2
* check for keys first
* fix tests
* missing name for role confidences
* no more python3.6
* store endpoint info in prometheus
* more debug logging
* cleanup queue after it's processed
* update name
* make metrics more consistent
* ignore proxy ports for learning
* remove erroneous set
* process/sleep
* fix info metric
* fix prom registry for test
* missing info in update
* fix test
* missing import
* fix test
* Remove signal handler, add instrumentation, fix slow mirror transition
* move redis func to prom metric
* different dict
* remove from tests
* create enum if it doesn't exist
* one more time
* one more level down
* forgot name key
* next attempt
* it's a global..
* cleaner global
* move out of if
* extra unneeded global
* use global in set\_status
* rework for tests
* ordering for global
* initialize metrics
* can't use minus perhaps?
* fix tests, simplify worker types
* remove test that is no longer needed
* forgot dangling arg
* missed closing )
* move workers to prometheus from redis for status
* Skip unnecessary refresh endpoints
* Update prom/prometheus Docker tag to v2.23.0
* bump back to dev

v0.15.9
-------

* release v0.15.9
* Create codeql-analysis.yml
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.12
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.12
* Update dependency faucetconfrpc to v0.22.12
* Only refresh endpoints in redis, if anything actually changed
* remove behavior metric
* pre-commit cleanup
* Update grafana/grafana Docker tag to v7.3.4
* Update precommit hook pre-commit/pre-commit-hooks to v3.3.0
* Update precommit hook pre-commit/mirrors-autopep8 to v1.5.4
* Update precommit hook asottile/reorder\_python\_imports to v2.3.6
* Update dependency pytype to v2020.11.23
* pytype
* Move more to endpoint
* copy
* reactivate
* default
* queue, default state
* Maintain p\_prev\_state
* add no-install-recommends
* Update dependency docker to v4.4.0
* exit
* not ignored
* handler
* sys.exit()
* Remove faucet\_event
* Move refresh to shutdown
* poll faucet events immediately
* check endpoints
* Hide queue\_name
* hide rabbit implementation details
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.52
* dev

v0.15.8
-------

* release
* missed a few paths
* fix paths
* move tests under tests dir
* self is annoying
* fix tests
* fix more tests
* fix tests
* more cleanup
* fix tests
* simplify storing previous states in redis
* Move Monitor to own file
* SDNConnect() moved to own file
* Update faucet/gauge Docker tag to v1.9.52
* Update faucet/faucet Docker tag to v1.9.52
* more cleanup
* some cleanup
* Update grafana/grafana Docker tag to v7.3.3
* Update codecov/codecov-action action to v1.0.15
* Update prom/prometheus Docker tag to v2.22.2
* Update dependency prometheus\_client to v0.9.0
* Update dependency pytype to v2020.11.12
* Update dependency urllib3 to v1.26.2
* Update dependency cmd2 to v1.4.0
* Update grafana/grafana Docker tag to v7.3.2
* Update dependency requests to v2.25.0
* Update dependency urllib3 to v1.26.1
* Update dependency urllib3 to v1.26.0
* syntax
* Instructions for standalone Faucet
* Update dependency transitions to v0.8.5
* Add coverage pragama for methods tested in integration tests
* Move to add/remove/clear mirror RPC calls, and don't stop mirroring on a port if captures still in progress
* Update prom/prometheus Docker tag to v2.22.1
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.11
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.11
* Update dependency faucetconfrpc to v0.22.11
* Update test.yml
* Update dependency pytype to v2020.11.3
* Update grafana/grafana Docker tag to v7.3.1
* dev

v0.15.7
-------

* 0.15.7
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.10
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.10
* Update dependency faucetconfrpc to v0.22.10
* Update dependency pytest to v6.1.2
* Update grafana/grafana Docker tag to v7.3.0
* Update dependency httmock to v1.4.0
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.51
* Update faucet/gauge Docker tag to v1.9.51
* Update faucet/faucet Docker tag to v1.9.51
* Back to dev

v0.15.6
-------

* Fix faucetconfrpc\_client default
* Relase 0.15.6
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.9
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.9
* Update dependency faucetconfrpc to v0.22.9
* create and use faucetconfrpc key for poseidon
* Update grafana/grafana Docker tag to v7.2.2
* Allow configuration of faucetconfrpc client key
* Make sure faucetconfrpc prometheus counters work
* Update iqtlabs/network\_tap Docker tag to v0.11.17
* Update codecov/codecov-action action to v1.0.14
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.8
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.8
* Update dependency faucetconfrpc to v0.22.8
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.7
* use new buildx
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.7
* scrape faucetconfrpc into prometheus
* Update dependency faucetconfrpc to v0.22.7
* Update dependency urllib3 to v1.25.11
* Implement parallel DNS resolver using socket (dnspython blocks)
* Update prom/prometheus Docker tag to v2.22.0
* Update dependency transitions to v0.8.4
* Update dependency pytype to v2020.10.8
* set to dev

v0.15.5
-------

* Skip e2e tests unless :latest
* rel 0.15.5
* Update grafana/grafana Docker tag to v7.2.1
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.6
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.6
* Update dependency faucetconfrpc to v0.22.6
* Upgrade to FAUCET 1.9.50, and more methodical e2e test
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.50
* Update faucet/gauge Docker tag to v1.9.50
* Update dependency pytest to v6.1.1
* Update dependency cmd2 to v1.3.11
* Keep endpoints active so they are reported, prefetch worker images, disable ipv6 on switch so poseidon only sees pcap
* Update dependency pytype to v2020.9.29
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.5
* Ratelimit replay for more reliable p0f
* Update dependency faucetconfrpc to v0.22.5
* Reduce sizes of poseidon and poseidon-api containers
* Update dependency pytest to v6.1.0
* Update dependency transitions to v0.8.3
* link bounce after switch comes up, to ensure Poseidon notices hosts
* pytype
* Use dnspython so can tune timeout and access future async resolver
* satisfy building dependencies for arm
* Update dependency pytype to v2020.9.24
* whitespace
* Allow install from local tarfile for testing. Workaround for docker-api broken by same issue as https://github.com/googleapis/google-cloud-cpp/issues/5123
* Log seconds spent calling job queue
* e2e test to ensure networkml and p0f return results
* Update grafana/grafana Docker tag to v7.2.0
* sum
* Check endpoints are detected
* Poll prometheus to make sure Poseidon, faucet and gauge come up, and that Poseidon is receiving events from faucet
* need pty
* prune
* Add skeleton of e2e test (will push test traffic to ensure learning and networkml are called successfully)
* bump back to dev

v0.15.4
-------

* Revert "Revert "0.15.4.""
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.4
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.4
* Update dependency faucetconfrpc to v0.22.4
* Update dependency cmd2 to v1.3.10
* Revert "0.15.4."
* 0.15.4
* Update iqtlabs/faucetconfrpc Docker tag to v0.22.3
* Poseidon needs yaml-dev for faucetconfrpc C client
* Update iqtlabs/faucet-certstrap Docker tag to v0.22.3
* Update dependency faucetconfrpc to v0.22.3
* Update dependency pytype to v2020.9.16
* missed one reference
* fix variable name
* Update dependency pytype to v2020.9.14
* Update dependency pytest to v6.0.2
* update dependencies
* have to check remote read as well as local
* earlier check for None
* yaml can set to None
* extra check
* check if faucet config is empty
* move certstrap to faucetconfrpc
* Update prom/prometheus Docker tag to v2.21.0
* Update dependency texttable to v1.6.3
* Update dependency ruamel.yaml to v0.16.12
* Update dependency faucetconfrpc to v0.22.1
* Update dependency cmd2 to v1.3.9
* 0.15.4.dev

v0.15.3
-------

* changelog
* 0.15.3
* Update iqtlabs/faucetconfrpc Docker tag to v0.22
* Update dependency faucetconfrpc to v0.22
* Update iqtlabs/faucetconfrpc Docker tag to v0.21
* Update dependency faucetconfrpc to v0.21
* Update dependency pytype to v2020.8.28
* Update dependency cmd2 to v1.3.8
* Update dependency cmd2 to v1.3.7
* Update dependency cmd2 to v1.3.6
* bump back to dev

v0.15.2
-------

* release v0.15.2
* Update iqtlabs/faucetconfrpc Docker tag to v0.20
* Update iqtlabs/faucetconfrpc Docker tag to v0.19
* Update dependency faucetconfrpc to v0.20
* Update dependency cmd2 to v1.3.5
* Update grafana/grafana Docker tag to v7.1.5
* Update dependency faucetconfrpc to v0.18
* Update iqtlabs/faucetconfrpc Docker tag to v0.18
* Update dependency pylint to v2.6.0
* Update dependency docker to v4.3.1
* Update dependency cmd2 to v1.3.4
* Update grafana/grafana Docker tag to v7.1.4
* Update dependency pytype to v2020.8.17
* Update iqtlabs/faucetconfrpc Docker tag to v0.17
* Update dependency faucetconfrpc to v0.17
* Update faucet/gauge Docker tag to v1.9.49
* Update faucet/faucet Docker tag to v1.9.49
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.49
* Fix test
* Move more redundant config read/writes out of Poseidon
* Update dependency pytest-cov to v2.10.1
* dev

v0.15.1
-------

* rel
* Update dependency cmd2 to v1.3.3
* Poseidon now writes updates to individual ports and switches rather than replacing the entire config file
* fix new cert requirements
* update to golang 1.15
* match certstrap
* Update iqtlabs/faucetconfrpc Docker tag to v0.16
* Update dependency faucetconfrpc to v0.16
* Update iqtlabs/network-tap Docker tag to v0.11.15
* Update dependency pytype to v2020.8.10
* Update iqtlabs/network-tap Docker tag to v0.11.14
* Update iqtlabs/faucetconfrpc Docker tag to v0.15
* closes #1685
* Update dependency faucetconfrpc to v0.15
* Update dependency docker to v4.3.0
* Update dependency cmd2 to v1.3.2
* allow rpc to be used remotely
* Update dependency cmd2 to v1.3.1
* Update grafana/grafana Docker tag to v7.1.3
* dev

v0.15.0
-------

* cert location
* 0.15.0
* Test controller
* Test config helper
* Don't catch Exception connecting to FAUCET at startup, so a connection failure will cause poseidon to be restarted by docker
* facuetconfrpc
* update dependencies moved to iqtlabs
* Update prom/prometheus Docker tag to v2.20.1
* Update dependency faucetconfrpc to v0.14
* Update grafana/grafana Docker tag to v7.1.2
* Update faucet/gauge Docker tag to v1.9.48
* Update faucet/faucet Docker tag to v1.9.48
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.48
* Update dependency cmd2 to v1.3.0
* wrong volume
* make faucetconfrpc more versatile
* sudo required
* cyberreboot -> iqtlabs
* Update dependency pytype to v2020.7.30
* 0.14.4 dev

v0.14.3
-------

* 0.14.3
* Update dependency pytest to v6.0.1
* Update dependency pytest to v6
* Update dependency pytype to v2020.7.24
* Update grafana/grafana Docker tag to v7.1.1
* Update cyberreboot/faucetconfrpc Docker tag to v0.13
* Update dependency faucetconfrpc to v0.13
* Update cyberreboot/faucetconfrpc Docker tag to v0.12
* Update dependency faucetconfrpc to v0.12
* Update prom/prometheus Docker tag to v2.20.0
* Update cyberreboot/faucetconfrpc Docker tag to v0.11
* Update dependency faucetconfrpc to v0.11
* Update dependency urllib3 to v1.25.10
* Remove diag assert
* Remove diag assert
* Remote conf getsetter needs '', not None, fix incorrect DP setting, tests
* Update dependency pytype to v2020.7.20
* shim switch/port conf calls
* dev

v0.14.2
-------

* Update faucetconfrpc, crviz
* Update cyberreboot/crviz Docker tag to v0.3.22
* 0.14.2.dev

v0.14.1
-------

* Update grafana/grafana Docker tag to v7.1.0
* Update cyberreboot/faucetconfrpc Docker tag to v0.9
* Update dependency faucetconfrpc to v0.9
* v0.14.1
* Update cyberreboot/network-tap Docker tag to v0.11.12
* pytype upset at dict comprehension
* disambiguate read/read existing
* pytype
* first\_entry
* Simplify ACL processing
* Update dependency cmd2 to v1.2.1
* addresses
* simplify ACLs
* Update dependency cmd2 to v1.2.0
* move around to make happier
* Update cyberreboot/faucetconfrpc Docker tag to v0.8
* Update dependency faucetconfrpc to v0.8
* don't use cache
* Update grafana/grafana Docker tag to v7.0.6
* try again
* rename dup jobs
* it still goofs with cache
* fix trailing &
* break up docker buildx builds
* Update dependency faucetconfrpc to v0.7
* Update cyberreboot/faucetconfrpc Docker tag to v0.7
* Update dependency netaddr to v0.8.0
* bump back to dev

v0.14.0
-------

* Release 0.14.0
* Update cyberreboot/faucetconfrpc Docker tag to v0.6
* python38 slim changed python3 path to local
* Update dependency faucetconfrpc to v0.6
* v5 of faucetconfrpc
* update test docker image to debian based
* switch to debian based docker images
* Update cyberreboot/network-tap Docker tag to v0.11.11
* remove need for controller config file, add ability proxy-mirror switches
* better logging for mirroring errors
* Update dependency docker to v4.2.2
* Update grafana/grafana Docker tag to v7.0.5
* chown fix cert perms
* Implement config management via RPC
* Update faucet/gauge Docker tag to v1.9.47
* Update cyberreboot/faucetconfrpc Docker tag to v0.4
* Update faucet/faucet Docker tag to v1.9.47
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.47
* Update cyberreboot/faucetconfrpc Docker tag to v0.3
* Update dependency pytype to v2020.6.26
* Update dependency transitions to v0.8.2
* Update prom/prometheus Docker tag to v2.19.2
* Remove FAUCET log parsing and config ssh transport (obsolete with faucetrpcconf)
* shell quotes
* Add gen shell script to shellcheck
* helpers
* Add note that release script does not yet know how to update helpers
* helpers/faucet/certstrap
* path to certstrap
* Move faucet CS/RPC to helpers
* Run faucetconfrpc server, and automatically create keys if not already present
* Update grafana/grafana Docker tag to v7.0.4
* Create/preserve contents of /opt/poseidon/local directory on start/upgrade. This directory will be used to store local config
* Revert "Install gNMI tools for future faucetagent support."
* Update dependency netaddr to v0.7.20
* update to dev

v0.13.0
-------

* Update prom/prometheus Docker tag to v2.19.1
* release v0.13.0
* Update dependency requests to v2.24.0
* Use common ACL manager class for Volos/tunneling, including handling merging existing rules
* remove user and pw
* remove bcf
* Update faucet/gauge Docker tag to v1.9.46
* Update faucet/faucet Docker tag to v1.9.46
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.46
* Update faucet/event-adapter-faucetagent Docker tag to v1.9.46
* Provision tunnel ACL/config for stacking
* Update dependency pytest-cov to v2.10.0
* Update prom/prometheus Docker tag to v2.19.0
* Update faucet/gauge Docker tag to v1.9.45
* Update faucet/faucet Docker tag to v1.9.45
* Update faucet/event-adapter-faucetagent Docker tag to v1.9.45
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.44
* update GA for buildx
* Update dependency pylint to v2.5.3
* Update dependency cmd2 to v1.1.0
* tests
* Need to check faucet.yaml exists
* Consolidate mirror/config change logic to support future faucetagent
* Update faucet/event-adapter-faucetagent Docker tag to v1.9.43
* must have label
* cleanup services and add initial faucetagent
* need sudo to change file
* bump back to dev

v0.12.3
-------

* Fix update\_workers\_json for latest github API
* Changelog
* 0.12.3
* Install gNMI tools for future faucetagent support
* Update cyberreboot/network-tap Docker tag to v0.11.10
* Update grafana/grafana Docker tag to v7.0.3
* Update dependency pytest to v5.4.3
* Update dependency docker to v4.2.1
* fix shellcheck; add back pytype; deprecrate bcf
* Update dependency redis to v3.5.3
* ignore SC2038
* cleaner way
* check if swarm
* cleanup poseidon network
* fix restart policy
* fixes for swarm mode
* comment out pytype for now
* there is no 3.7
* update to python3.8
* update python, alpine, actions
* experimental swarm support for workers
* Ignore learns/events on stack ports (so we learn only on edge ports), and fix test flakes due to temporary files in tests directory
* Update faucet/gauge Docker tag to v1.9.43
* Update faucet/faucet Docker tag to v1.9.43
* Update grafana/grafana Docker tag to v7.0.1
* Update dependency prometheus\_client to v0.8.0
* Update dependency pytest-cov to v2.9.0
* update buildx gha to 1.6.2
* reload gauge config too!
* Stage dev

v0.12.2
-------

* Release 0.12.2
* Update grafana/grafana Docker tag to v7
* install via pip
* tweak pip
* ensure setuptools is installed
* Update dependency pytype to v2020.5.13
* Fix Poseidon API for new p0f/networkml data and add tests
* Update faucet/gauge Docker tag to v1.9.42
* Update faucet/faucet Docker tag to v1.9.42
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.42
* pytype
* Fix not ignoring non-L2\_LEARN messages. Don't queue FAUCET events that are only going to be ignored to avoid a backlog
* Revert "Update dependency redis to v3.5.1"
* Add test for ignore functions
* Update dependency redis to v3.5.1
* Update redis Docker tag to v6
* Update dependency pytest to v5.4.2
* dev

v0.12.1
-------

* network-tools
* networkml version
* Let NetworkML know it can return predictions for multiple hosts per pcap
* 0.12.1
* fix version
* update buildx
* Update dependency pytype to v2020.5.7
* Update prom/prometheus Docker tag to v2.18.1
* Update cyberreboot/network-tap Docker tag to v0.11.9
* check for empty files
* Dev version
* Atomic replace when outputting yaml
* Incremental refactor of store/retrieve endpoint metadata
* Update prom/prometheus Docker tag to v2.18.0
* Update dependency pylint to v2.5.2
* update to faucet 1.9.41
* Update faucet/faucet Docker tag to v1.9.40
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.40
* Update dependency redis to v3.5.0

v0.12.0
-------

* Release 0.12.0
* Update faucet/gauge Docker tag to v1.9.39
* Update faucet/faucet Docker tag to v1.9.39
* Example controller\_mirror\_ports should be quoted
* Add logging, and fix leak of mirror status going from networkml mirror direct to unknown, speed up rabbit message processing
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.39
* ensure nic attribute and check for it
* fix log
* update versions
* Poseidon should store NetworkML results plus refactoring
* Update cyberreboot/network-tap Docker tag to v0.11.8
* Update dependency pylint to v2.5.0
* worker needs Poseidon queue name
* pytype fixes
* pytype fixes
* new version of docker buildx
* new version of codecov
* Update cyberreboot/network-tap Docker tag to v0.11.7
* include networkml
* Update grafana/grafana Docker tag to v6.7.3
* Update dependency pytype to v2020.4.22
* prep for networkml release
* Revert "Update dependency gevent to v20"
* Update dependency gevent to v20
* Update faucet/gauge Docker tag to v1.9.38
* Update faucet/faucet Docker tag to v1.9.38
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.38
* cleanup formatting
* Update prom/prometheus Docker tag to v2.17.2
* Update dependency urllib3 to v1.25.9
* change environment from redis to rabbit
* comment out networkml for now
* store results using worker instead of directly from tools
* add @anarkiwi to maintainers
* rolling back to gevent 1.4.0
* wrong dockerfile
* explicitly add libffi-dev
* Update dependency gevent to v1.5.0
* add @rashley-iqt as a maintainer
* dev release

v0.11.2
-------

* v0.11.2
* update worker versions
* Update cyberreboot/network-tap Docker tag to v0.11.6
* update worker versions
* Update cyberreboot/network-tap Docker tag to v0.11.5
* Need alpine workaround for entire pip install
* Update dependency pytype to v2020.4.1
* Update dependency cmd2 to v1.0.2
* Update dependency flask to v1.1.2
* Update dependency transitions to v0.8.1
* Update grafana/grafana Docker tag to v6.7.2
* Update faucet/gauge Docker tag to v1.9.37
* Update faucet/faucet Docker tag to v1.9.37
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.37
* 0.11.2.dev
* Update prom/prometheus Docker tag to v2.17.1

v0.11.1
-------

* Release v0.11.1
* Update cyberreboot/crviz Docker tag to v0.3.21
* Update prom/prometheus Docker tag to v2.17.0
* Update dependency transitions to v0.8.0
* Update grafana/grafana Docker tag to v6.7.1
* Update grafana/grafana Docker tag to v6.7.0
* Update dependency pyyaml to v5.3.1
* Update faucet/gauge Docker tag to v1.9.36
* Update faucet/faucet Docker tag to v1.9.36
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.36
* Update dependency cmd2 to v1.0.1
* Update dependency pytest to v5.4.1
* Update dependency pytest to v5.4.0
* wrong date
* Update dependency mock to v4.0.2
* broke out into more functions
* refactor and add config options for future tunnel
* address issues
* reduce complexity
* Update faucet/gauge Docker tag to v1.9.35
* Update faucet/faucet Docker tag to v1.9.35
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.35
* Update dependency cmd2 to v1
* 0.11.1.dev

v0.11.0
-------

* Update cyberreboot/crviz Docker tag to v0.3.20
* Changelog
* 0.11.0
* poseidon-api -> poseidon\_api
* Release 0.10.4
* Update faucet/gauge Docker tag to v1.9.34
* Update faucet/faucet Docker tag to v1.9.34
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.34
* fix endpoint
* fix initial copro state
* fix tests
* catch a couple missed from namespace
* namespacish of coprocessor states
* fix ninja
* upload codecov on push and pr
* use env
* nosec on wrong line
* Add script that updates to workers.json automatically
* Stage 0.10.4.dev

v0.10.3
-------

* add git to bin/poseidon dependencies
* Missed 'latest'
* remove unused dependency
* Add more release notes
* Stage v0.10.3 (new networkml and network-tools)
* Update grafana/grafana Docker tag to v6.6.2
* Update dependency requests to v2.23.0
* Update cyberreboot/network-tap Docker tag to v0.11.4
* comment out flaking tests
* add KEEPIMAGES env var
* Update dependency cmd2 to v0.10.1
* remove reference from coprocessor config
* remove unused fake client mac parameter
* cleanup for shellcheck
* quoting to make shellcheck happy
* added volos and acl config and pipette starting capability
* Update faucet/gauge Docker tag to v1.9.33
* Update faucet/faucet Docker tag to v1.9.33
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.33
* remove debugging code
* fix config directory
* remove pull/ run pipette in pooseidon container
* move pipette run to poseidon shell script
* Update prom/prometheus Docker tag to v2.16.0
* Stage latest

0.10.2
------

* v
* Update tools to 0.11.3
* Stage 0.10.2
* corrected directory creation logic and added pipette startup

v0.10.1
-------

* Add arm7/64 support note
* Correct version
* Add v0.10.1 changelog
* Update workers.json
* Remove build sections
* coprocessor to start/stop Pipette
* Stage 0.10.1
* Update cyberreboot/crviz Docker tag to v0.3.19
* Update cyberreboot/network-tap Docker tag to v0.11.2
* fix test
* add some output
* add gen\_pcap\_manifest to install process
* Set non interactive
* Set noninteractive
* Workflows need tshark too
* Check tshark is installed
* Move tshark to test dependencies
* Revert "Need tshark for manifest generator."
* Need tshark for manifest generator
* netaddr
* Parse longer headers
* Generate pcap manifest
* Generate CSV manifest from pcapdirs
* update pip
* update pip
* make sure to pull updated images in case
* missed copy pasta
* fix codecov
* extra [
* remove rest of travis
* use tee
* try sudo
* fix for redis
* move to github actions
* ensure creation of acl\_directory
* correct typo
* added ability to specify ports in  workers.json
* fix running make run\_tests
* cleanup of copro state transitions
* Update dependency cmd2 to v0.10.0
* fixed typo
* Update dependency pytype to v2020.2.6
* config parsing, acl writing port mapping added
* Update dependency mock to v4.0.1
* Update grafana/grafana Docker tag to v6.6.1
* Update dependency docker to v4.2.0
* Update dependency mock to v4
* add acl file cleanup
* added acl file writing
* Update faucet/gauge Docker tag to v1.9.32
* Update faucet/faucet Docker tag to v1.9.32
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.32
* move networkml farther up the capture
* Update dependency redis to v3.4.1
* added forced removal of acls
* Update dependency redis to v3.4.0
* scaffolding for coprocessor control
* Update dependency pytest to v5.3.5
* Update faucet/gauge Docker tag to v1.9.31
* Update faucet/faucet Docker tag to v1.9.31
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.31
* Update grafana/grafana Docker tag to v6.6.0
* Update dependency cmd2 to v0.9.25
* Update dependency pytype to v2020.1.24
* Update dependency urllib3 to v1.25.8
* Update dependency cmd2 to v0.9.24
* who knows
* pytype's fault?
* apparently we have another dep
* try bionic
* Update faucet/gauge Docker tag to v1.9.30
* Update faucet/faucet Docker tag to v1.9.30
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.30
* Update dependency pytest to v5.3.4
* Update dependency pytest to v5.3.3
* Prepare 0.10.1

v0.10.0
-------

* drop v
* Release v0.10.0
* ensure datasource is added to grafana
* add faucet rules
* update versions
* Update cyberreboot/network-tap Docker tag to v0.11.1
* wrong context!
* sudo it
* Update cyberreboot/crviz Docker tag to v0.3.18
* Update grafana/grafana Docker tag to v6.5.3
* Spurious chmod 777
* Use array expansion
* remove remaining vent bits
* also update bin/poseidon on update
* Update faucet/gauge Docker tag to v1.9.29
* Update faucet/faucet Docker tag to v1.9.29
* Update faucet/event-adapter-rabbitmq Docker tag to v1.9.29
* Add back -u option should refresh poseidon script
* More shell check
* shellcheck
* Remove xxx diagnostic
* Install type checking
* Remove explicit refs to docker-compose
* Last tarfile reference
* Check required commands are installed. Use dynamic temporary directory
* Typos
* Don't need depends\_on faucet, it will retry
* Add minimum config
* docker based installation with option not to start Faucet/Prometheus/Grafana
* Update dependency transitions to v0.7.2
* Update dependency cmd2 to v0.9.23
* Update dependency pytype to v2020.1.8
* Remove netifaces check for now in favor of installer
* More generic checking of poseidon.config. Check that controller\_nic is a valid interface. Default logger\_level if not specified
* Update dependency pytype to v2020
* Update dependency pyyaml to v5.3
* Update prom/prometheus Docker tag to v2.15.2
* bump back to dev

v0.9.0
------

* release v0.9.0
* release v0.9.0
* removed unused code
* more test coverage
* more test coverage
* don't need pcap\_inputs
* catch redis exceptions
* fix quotes
* explicitly encode
* make body a str
* test callback
* forgot import
* test load\_workers
* add requirements
* add test file
* add basic test for worker
* ignore SC2016
* auto add grafana dashboards
* auto install grafana dashboards
* missed one
* no more run
* more test fixings
* fix another test
* fix another test
* fix tests
* fix tests
* remove vent
* fix tests
* move config, cleanup
* codacy
* simplify status
* remove containers after finishing
* fix last pieces for compose to work
* add workers
* Update prom/prometheus Docker tag to v2.15.1
* dict not list
* more tests
* fix stages
* maintain covered lines
* fix deprecated warn
* other way
* let's try something else
* empty str
* more tests
* some more tests
* force test
* add ()
* remove call to removed func
* remove unused func; add tests
* more tests
* more tests
* make float, extra checks
* exta check
* better checks
* match switch name
* make a real endpoint
* fix rules path
* remove unused test pieces
* fix up code base linting and tests
* more tests
* add sample faucet config
* add test case
* add delivery tag
* fix test
* ack messages so they don't get replayed
* fix up buffering and paths
* fix test
* preserve original compose helper file
* don't chnage the config for show comms
* fix versions
* don't init everything for cli
* testing
* Update prom/prometheus Docker tag to v2.15.0
* add blog post with how to video
* Update alpine Docker tag to v3.11

v0.8.1
------

* release v0.8.1
* Update cyberreboot/crviz Docker tag to v0.3.17
* Update dependency pytype to v2019.12.17
* Update dependency pytest to v5.3.2
* Update grafana/grafana Docker tag to v6.5.2
* Update dependency cmd2 to v0.9.22
* bump back to dev
* Update dependency pytype to v2019.12.6

v0.8.0
------

* release v0.8.0
* Update cyberreboot/vent-redis Docker tag to v0.10.1
* Update cyberreboot/vent-rabbitmq Docker tag to v0.10.1
* Update dependency pyyaml to v5.2
* Update grafana/grafana Docker tag to v6.5.1
* initial offering for docker-compose
* Update dependency pytype to v2019.11.27
* cleanup
* Update dependency gunicorn to v20.0.4
* Update dependency cmd2 to v0.9.21
* Update dependency pytest to v5.3.1
* Update dependency gunicorn to v20.0.3
* Update grafana/grafana Docker tag to v6.5.0
* update to latest version
* Update dependency gunicorn to v19.10.0
* Update grafana/grafana Docker tag to v6.4.5
* bump back to dev

v0.7.9
------

* release v0.7.9
* Add note to explain logging
* Update dependency pytest to v5.3.0
* fix up readmes
* Missing \`\`\`
* Troubleshooting tips
* Add test for parsing metadata from Redis
* Update dependency pytest to v5.2.4
* Update dependency pytest to v5.2.3
* Separate redis metadata parsing so can be tested
* Log ml\_info
* Use decode
* Key is a str
* Need ASCII decode for AST eval (misplaced ")", need more Redis retrieval test coverage)
* new\_endpoints
* lint
* Remove mac\_addresses diag
* Add tests for update history
* redis timestamps are sortable non-numeric
* Update dependency pylint to v2.4.4
* Update dependency cmd2 to v0.9.20
* pylint
* Move to handler pattern so can validate received RabbitMQ messages more easily
* More efficient newest timestamp filter for display
* Fix missing event\_data in update\_acl\_history() Fix tuple in automated ACL change Reduce code duplication when mirroring/unmirroring. Minor lint
* add endcolor
* Update prom/prometheus Docker tag to v2.14.0
* Update dependency urllib3 to v1.25.7
* Add preinst check for jq
* Document workaround for jq
* bump back to dev

v0.7.8
------

* release v0.7.8
* release v0.7.8
* Add jq to Pre-Depends in template
* Installer needs jq first
* bump back to dev

v0.7.7
------

* release v0.7.7
* fix up templates for release
* fix issue with readme template
* revert vent volume, causing git issues
* Adds history of property changes for IPv4 and IPv6 properties
* Placate shellchecker
* Check that FAUCET mirror port specification is actually a JSON object
* iterate over timestamps
* Add jq dependency
* added some debugging code to see object structure
* Update grafana/grafana Docker tag to v6.4.4
* Fix missing pytype checks on remainder of Poseidon code
* Fix missing IPv6 reference revealed by missing pytype check
* remove duplicate class
* readding code lost in merge
* rookie of the year page has been deleted
* bump back to dev; support eoan

v0.7.6
------

* release v0.7.6
* Update dependency pytest to v5.2.2
* persist vent info
* safety check
* send all endpoints
* uppercase name
* typo
* get first ip match
* switch from ip to id
* ensure that vlan is a str
* minor cleanup
* fixing unpack error
* fix copy/paste error
* corrected testing data
* correcting null checks
* clean up multiline ifs
* addressing comments from @cglewis
* added unit tests
* add some null checks
* fixing errors
* add ability to apply ACLS with rabbit message
* Update dependency pylint to v2.4.3
* Update dependency pytype to v2019.10.17
* Update prom/prometheus Docker tag to v2.13.1
* Update grafana/grafana Docker tag to v6.4.3
* clean up based on codacy comments
* add API endpoint to retrieve data by IP address
* Update dependency cmd2 to v0.9.19
* ignore extra files; add volume for UDS
* Update dependency redis to v3.3.11

v0.7.5
------

* release v0.7.5
* Fixed minor typos
* Update dependency redis to v3.3.10
* Update dependency redis to v3.3.9
* More factory fixes
* Fix test\_actions
* Fix use of factory for pytype --protocols
* Need to save exit code
* Handle normal termination from gunicorn
* Run pytype in test Docker on both Poseidon and the API server. Use factory pattern for Endpoint creation to make pytype happy
* closes #1370
* Update grafana/grafana Docker tag to v6.4.2
* More case insensitive field comparison
* Filter on actual field names case insensitively
* More efficient delete of rows/colums with NO\_DATA
* Pass through fields if not any ipv4/ipv6/and options set
* Test for display filters
* Separate function for show IP fields
* Add API smoke test and fix missing constants import
* Remove duplicate unmirror/shutdown code, move endpoint defaulting to SDNC
* Protect redis access with a lock, as pmain.process() and background can both mutate the endpoints dict potentially at the same time
* make it backwards compatible
* fix tests
* remove unused imports
* closes #1297; closes #1295; closes #1294
* import constants
* Syntax
* Use NO\_DATA consistently everywhere
* rdns lookup needs a string
* Fix filter by IP/OS
* Add test for IP merge
* Should be "NO DATA"
* Incremental move to ipaddress library
* Initial move to ipaddress library
* Update dependency pytest to v5.2.1
* Update dependency pytest-cov to v2.8.1
* Update dependency pytest-cov to v2.8.0
* Update prom/prometheus Docker tag to v2.13.0

v0.7.4
------

* release v0.7.4
* check keys

v0.7.3
------

* release v0.7.3
* Use unidiff not bespoke
* Handle IP address being 'None'
* codeacity
* Add gitignore
* Smarter diff again
* put back clobbered viz command
* option to set the frequency
* reset collector\_nics if not used
* use self
* Log/recount investigations/mirroring
* Update grafana/grafana Docker tag to v6.4.1
* Fix handling of message from ncapture
* Endpoint list should be a dict keyed on name, so not possible to add endpoints with duplicate names
* Update dependency cmd2 to v0.9.18
* Update grafana/grafana Docker tag to v6.4.0
* Update dependency pylint to v2.4.2
* Update dependency pytest to v5.2.0
* convert to using PROPERTY\_CHANGE from History Types and add history to redis
* Update dependency pylint to v2.4.1
* Trigger only on 'queued' events specifically when investigating
* use auto revert
* Update dependency urllib3 to v1.25.6
* Update dependency pylint to v2.4.0
* Update dependency cmd2 to v0.9.17
* Update grafana/grafana Docker tag to v6.3.6
* Update dependency pytest to v5.1.3
* Update dependency urllib3 to v1.25.5
* Update dependency urllib3 to v1.25.4
* bump back to dev

v0.7.2
------

* release v0.7.2
* add logic to make history entries for OS/Role changes
* check if 'data' exists in the response
* force trigger transition when ncaptures complete
* fix member instances
* wrong ip
* fixes #1327
* bump back to dev

v0.7.1
------

* release v0.7.1
* move from enum to constants because redis can't serialize enums
* fix history types and add unit tests - convert history types to enum - add unit testing
* Update dependency transitions to v0.7.1
* add line breaks to history string
* add History to list of all fields
* Add type entries to history
* fixes #1321
* check sadds to prevent duplicates
* cleanup debug statements
* typo
* fix removing acls
* fix status array
* fix acls\_in
* start adding acls to cli
* debug process
* retrieving is needed
* creates duplicates
* debugging
* extras is a list not a dict
* get from redis
* adding some debugging
* fix multi runs
* add datasource for grafana
* closes #1248; improve run script
* helper for running faucet and poseidon together
* Doc updates for Faucet RabbitMQ adapter
* corrections to json output
* correct bugs in generating output
* clean up imports and add to unit tests
* forgot colon
* add ability to display CLI results as CSV or JSON
* CRViz integration fix
* typo
* another check
* fixing yaml silliness
* check paths
* store acls results back to main
* start logs with uppercase
* cleanup; remove acl files that no longer are applied
* write out acls file to where the faucet config dir
* better logging, checks that acl names exist
* cleanup more checks for automated actions
* bump back to dev
* Update dependency pytest to v5.1.2

v0.7.0
------

* release v0.7.0
* fix index
* remove old acls
* minimally working
* more bad variables
* bad variable
* cleanup
* remove dups
* logging
* break all the things!
* logging
* check matches
* insert acls into faucet.yaml
* logging
* check for empties
* revenge of the types part II
* revenge of the types
* rule logic
* dedup acl names
* ok how about that
* ugh
* yup, definitely yaml
* i blame yaml
* exceptions make things angry
* why
* so weird
* weird
* hmm
* stubbing
* fix test
* enable by default
* make automated acls optional
* cleanup; ensure endpoints are saved; todos
* fixed
* something is really goofy with apply\_acl
* more logging
* not self
* what is going on
* more logging
* adjust output; todos
* fix tests
* cleanup message passing
* indent
* improve update\_acl to only happen when things change
* strange
* more debugging
* re-enable
* commenting out for now
* is transitions busted?
* add messages arg
* don't need to log endpoints
* cleanup
* remove unneeded variables
* wrong object reference
* there is no specific endpoint
* debugging
* more stubbing
* testing out rules.yaml
* add stubs for automating acl/route actions
* increase timeout for poseidon-api
* bump back to dev
* fix precommit

v0.6.7
------

* release v0.6.7
* release v0.6.7
* Update dependency pytest to v5.1.1
* Update dependency transitions to v0.7.0
* Update dependency redis to v3.3.8
* bump back to dev

v0.6.6
------

* release 0.6.6
* remove Ubuntu 18.10 (Cosmic Cuttlefish) from the list of supported distros
* Update dependency pytest to v5.1.0
* Update dependency redis to v3.3.7
* Update dependency cmd2 to v0.9.16
* update to the latest pip
* fix test; try python3.7
* fix test
* update for new networkml message format
* Update dependency redis to v3.3.6
* bump back to dev, add EOL
* Update dependency redis to v3.3.5
* add eol

v0.6.5
------

* fixed spacing
* release v0.6.5
* release 0.6.5
* fix release script issues
* Revert "release v0.6.5"
* release v0.6.3
* Update dependency pyyaml to v5.1.2
* Update dependency redis to v3.3.4
* Update dependency redis to v3.3.3
* Update dependency redis to v3.3.2
* Update dependency redis to v3.3.0
* updated naming for cmd2
* Update dependency cmd2 to v0.9.15
* Adds scripts for release process
* Update dependency pika to v1.1.0
* bump back to the proper dev version
* bump back to dev

v0.6.4
------

* release 0.6.4
* release v0.6.4
* Update dependency flask to v1.1.1
* Update dependency pytest to v5.0.1
* Update dependency flask to v1.1.0
* Update dependency texttable to v1.6.2
* Update dependency cmd2 to v0.9.14
* Update dependency pytest to v5

v0.6.3
------

* release v0.6.3
* add sudo
* Update dependency prometheus\_client to v0.7.1
* Update alpine Docker tag to v3.10
* change to 19.04
* Update dependency cmd2 to v0.9.13

v0.6.2
------

* release v0.6.2
* fix tests
* fix tests
* fix up differences
* update badge with newer release
* Add poseidon.namespace labels to dockerfiles for unique identification Have the shell prereqs look for poseidon.namespace=primary to identify the poseidon container to allow the shell to be run from a fork/branch
* change tenant to vlan for faucet and make API match CLI
* fix linting issues
* fix for unit test
* string conversion and remove debug code
* add vlan to list of endpoint data for bcf
* make comparison case insensitive
* move PoseidonML to NetworkML
* Report vlan instead of tenanant as VLAN for BCF controller types
* Update dependency pytest to v4.6.3
* Update dependency pyyaml to v5.1.1
* Update dependency prometheus\_client to v0.7.0
* Update dependency pytest to v4.6.2
* Update dependency pytest to v4.6.1
* Update dependency pytest to v4.6.0
* typo

v0.6.1
------

* release v0.6.1
* closes #1210
* Update dependency urllib3 to v1.25.3
* allow major versions for docker
* add videos related to Poseidon
* Add renovate.json
* there are a lot of those
* more encoding
* url encode brackets
* Update flask from 1.0.2 to 1.0.3
* Update flask from 1.0.2 to 1.0.3
* Update requests from 2.21.0 to 2.22.0
* bump back to dev

v0.6.0
------

* release v0.6.0
* closes #780
* count captures
* Update pytest from 4.4.2 to 4.5.0
* force trunk to include mac
* force to str
* set arg, remove logging
* logging
* make trunk ports smarter about endpoints
* fix wording
* check dp\_name in the right place
* cleanup logging
* convert strings to objs
* more logging
* forgot )
* more logging
* more fine grained error checking
* have to try evaling collector\_nic
* debugging issues
* remove stringifying
* output config
* set fields for override
* closes #1146
* missed one
* fix tests
* closes #510
* Update pytest from 4.4.1 to 4.4.2
* Update mock from 3.0.3 to 3.0.5
* bump back to dev
* forgot version
* closes #1189

v0.5.9
------

* don't print fields
* release v0.5.9
* print fields
* Update pytest-cov from 2.6.1 to 2.7.1
* forgot to add autocomplete for verison
* closes #1181
* bump pip version
* Update mock from 2.0.0 to 3.0.3
* Update urllib3 from 1.24.1 to 1.25.2
* Update falcon from 1.4.1 to 2.0.0
* Revert "Update urllib3 to 1.24.2"
* add spacing between images
* use logo with word
* update logo
* Update cmd2 from 0.9.11 to 0.9.12
* not needed
* snap breaks docker for some reason
* actually bump back to new dev version
* header and grammar
* closes #1139
* bump back to dev
* typo

v0.5.8
------

* release v0.5.8
* Update urllib3 from 1.24.1 to 1.24.2
* allow flag for shell too
* list the mapped things
* map all the things
* remove duplicate rows if unique
* remove duplicate rows
* fix tests
* closes #1039
* closes #1064
* remove unused commands
* more tweaks
* get rid of cruft to see if it helps
* import for decorator
* try a decorator
* fix tests
* let's try something else
* more tweaks for cmd2
* fix up cmd2 changes
* tweaks
* try out onecmd
* ensure file exists
* fix poutputs
* use vent template for poseidon shell history
* tweaks
* not all things can be poutput
* switch to poutput
* missed one self
* add dependency
* missing )
* attempt persistent history
* revert terrible idea
* fix up class objects
* debugging
* test first word capture
* debugging
* when does this get called
* tweaks
* order
* simple completer test
* try rlcompleter
* check completion key
* make it a number
* test newer parts of the api
* couple extra checks
* Update pytest from 4.4.0 to 4.4.1
* add more test coverage
* Update pika from 1.0.0 to 1.0.1
* fix test
* force it to be a string
* fixes #1152
* closes #971
* update help
* update header too
* store results in the matix for output
* closes #963
* better checks
* fix tests
* fix tests
* closes #1133
* incorrect assumption about this causing perf issues
* extra newline for conformity
* using printf instead
* SC1066
* closes #1003
* closes #1141
* bump back to dev

v0.5.7
------

* release v0.5.7
* release v0.5.7
* forgot to change to false
* closes #1136
* update readme for no sdn and pcap options
* resolve ip bug, make pcap option always available
* recommended shell changes
* only do extras if no sdn
* wrong placement
* no value, just an exit code
* typo
* bashify
* extra brackets
* bash uses elif
* should only use the pcap option without sdn
* keep name as None
* only set to known if it's not already
* set correct state when no controller
* use boolean
* fix check for valid
* extra check
* tweaks
* progress on #958
* check for more exception types
* progress on #1131
* add test without an sdn controller for actions
* update tests
* remove debug log
* debugging
* progress on #720
* actually store log level for demo mode
* closes #798
* progress on #720
* clean up controller directory structure
* fix up dockerfiles
* get rid of no\_ack
* change order for pika 1.0.0
* Update pytest from 4.3.1 to 4.4.0
* Update pika from 0.13.1 to 1.0.0
* bump back to dev

v0.5.6
------

* release v0.5.6
* Update scp from 0.13.1 to 0.13.2
* mark as experimental for now
* Update redis from 3.2.0 to 3.2.1
* Update redis from 3.2.0 to 3.2.1
* Update pyyaml from 3.13 to 5.1
* no need to duplicate
* sleep somewhere else
* try sleeping
* change ctrl-c after clearing filters
* remove complicated test
* more tweaks
* tweaks and logging
* another missing member
* make call in the signal handler
* add member
* remove unused function overrides
* add tests
* add blog post
* graceful exit
* closes #998
* closes #1024
* Update pytest from 4.3.0 to 4.3.1
* fix args for pcap flag
* Update scp from 0.13.0 to 0.13.1
* Update scp from 0.13.0 to 0.13.1
* fix up a couple items
* ignore looping find for now
* let's try that again
* fix quoting
* progress for #958
* bump back to dev

v0.5.5
------

* forgot some
* release v0.5.5
* in case no images exist to remove
* use versioning for startup
* last one hopefully
* missed one
* typo
* use released versions
* closes #969
* Update pika from 0.13.0 to 0.13.1
* Update pika from 0.13.0 to 0.13.1
* fix quoting
* fix for versioning
* nevermind, bad idea
* add vent name for poseidon-api as well
* cleanup images when upgrading/reseting
* line break
* add vent name for container inspection
* fix subnet for case of ip being 'None'
* another typo
* fix conditional
* copy pasta typo
* typo
* extra checks
* forgot import
* add an endpoint for better testing
* more test coverage
* don't overwrite the test file :o
* fix formatting
* fix formatting
* add help descriptions
* more tests
* add more tests
* more tests
* call more functions in tests
* add ip fields
* add endpoint data for test
* add tests
* pass if publish fails
* more tests
* fix another test
* fix test
* add more tests
* more tests
* extra 'id' oversight
* fix test
* more tests
* add more tests
* update to latest pip; add tests
* Update pylint from 2.3.0 to 2.3.1
* simplify boolean flags
* closes #1061
* closes #1059
* wrong fields list
* no newlines
* add additional lookups
* testing out #1059
* add extra fields to full network
* fix field checks
* logging
* need ast now that it's the right key
* fix wrong name
* try other prev\_states key
* logging
* no need to use ast
* fix copy pasta
* implement first and last seen in api
* fix subnet names
* implement ignored for api
* closes #1066
* remove active from the list
* fix up attributes
* progress for #1055
* remove old TODO
* closes #1075
* Update pylint from 2.2.2 to 2.3.0
* fix test
* add test
* fix tests
* fix things
* fix loop
* fix flags
* logging
* indent
* fix all
* fix args and tests
* fix show types
* add back history, what, and where
* add extra line
* stubbing
* add extra show completions
* extra error checking and output
* parse out task commands
* another tweak
* a couple tweaks
* test single key press
* fix show completions
* more testing
* fix help
* try out restructuring
* return first words
* more testing
* remove self
* test multilevel completion
* try overriding with readline
* test overridding completekey
* fix tests
* closes #1070
* bump back to dev

v0.5.4
------

* release v0.5.4
* hide commands that don't need to be seen
* more logging
* logging
* override completenames; fix all
* logging
* logging
* test overriding tab
* fill in functions; add ID to API
* remove broken tests
* more progress on #1058
* update the authors
* make blue
* remove is/of
* try underscores
* make consistent
* should be under show authors
* remove first 4 lines of authors print out
* fix dockerignore
* missed another one
* intro
* remove trailing slash
* add authors easteregg
* missed one closing
* fix
* one more dash
* misspelled :(
* space it out
* fix up
* add colors
* less is more
* trying to escape instead
* extra new lines
* extra lines
* cleanup
* fix tests
* progress on #1058
* a few more
* more progress on #1053
* missed one
* closes #1057; closes #1056
* try out differnet default fields
* don't use extend
* use extend
* test additional args
* more fixes
* couple fixes
* add queued commands to subcommands
* call init on self
* fix defaults
* fix args
* forgot self
* pass in file and prompt
* remove file from sub
* more cleanup
* couple fixes
* fix ? and eof
* add EOF, check for ?
* test out subcommand
* add new fields to api
* add extra checks
* fix tests
* cleanup
* debugging
* more tweaking
* logging
* cleanup
* extra check in case mac lookup fails
* no need for timeout
* fix mac lookup, add rdns lookup
* move call to more logical place
* uppercase and logging
* update cli for #1047
* closes #1047
* Update prometheus\_client from 0.5.0 to 0.6.0
* Update prometheus\_client from 0.5.0 to 0.6.0
* Update pytest from 4.2.1 to 4.3.0
* Update redis from 3.1.0 to 3.2.0
* Update redis from 3.1.0 to 3.2.0
* Update redis from 3.1.0 to 3.2.0
* Update texttable from 1.6.0 to 1.6.1
* Update texttable from 1.6.0 to 1.6.1
* help is getting stripped out of the arg
* character width
* keep original help functionality
* closes #1031
* closes #1033
* closes #1035
* closes #1040; closes #1032; closes #1030
* Update pytest from 4.2.0 to 4.2.1
* ensure tmp variable exists
* cleanup style and unused code
* bump back to dev

v0.5.3
------

* release v0.5.3
* release v0.5.3
* fix test for now
* switch and interface are nested in endpoint
* if empty list, should return true
* debugging
* increase timeouts for bcf
* simplify
* updates and unit tests for converting mac to port/switch
* closes #1019
* remove logging
* test logging
* extra checks
* fix ml info
* next attempt
* trying single quote
* escape
* tweaks
* use quotes
* forgotten pipe
* allows for forks for syslog
* Use mac address as a way to get interface/switch to unmirror
* add spaces
* closes #978
* debugging length of kill\_list
* fix verbs
* error checking
* check
* more debugging statements
* closes #956
* cleanup
* reduce info message from pika
* define endpoints array
* closes #852
* fix tests
* use the right name
* closes #1010
* progress towards #1010
* attempt removal with rabbit message
* add pika import
* just the name
* test rabbit messages from cli
* fix tests
* cleanup logging
* closes #991
* check for behavior too
* special case for unknown
* missed one
* closes #987
* typo
* filter show devices
* debug level logging for put request to unmirror
* fix tests
* remove extra period
* closes #993; closes #992
* no self
* logging
* closes #979
* fix usage
* closes #1001
* remove debug statements
* get updates from redis
* data is getting corrupted by multiple processes
* confirm number of endpoints
* closes #997
* extra checks
* fixes #999
* remove readthedocs
* Updated some more BCF requirements
* sleep one
* try no sleep
* cleanup debug statements
* get stored endpoints while in main loop
* Added more BCF details
* logging
* cleanup
* override
* add session
* add missing attributes
* tests
* use mock
* add member
* fix tests
* fix tests
* get the actual switch and interface
* typo
* extra checks
* test mirror
* get endpoint values
* logging
* fix tests; add call
* logging
* extra logging
* fix return status for bcf mirror/unmirror
* fix tests
* forgot to rejoin list
* stubs for #963
* closes #983
* fix types; closes #981
* closes #957
* fix loop and gt check
* print results of behavior
* ensure state changes get stored
* more utf-8 stuff
* missed one noisy one
* quiet the logs
* apparently it wants a string
* even more encoding
* more encoding fixes
* logging and checks
* more encoding fixes
* utf-8 encode the hash\_id
* verify check
* more logging
* log metadata
* add some b's
* testing input/output encodings
* call with self
* update field lookups for stubbed functions
* stub extra fields; add metadata to endpoint
* Update pytest from 4.1.1 to 4.2.0
* invert
* retry doesn't take verify
* set verify for retry as well
* declare the variable up front
* add trust\_self\_signed\_cert envvar
* fix last test
* fix tests
* closes #341
* update to the latest pip
* Update redis from 3.0.1 to 3.1.0
* Update redis from 3.0.1 to 3.1.0
* Update redis from 3.0.1 to 3.1.0
* closes #966; closes #964
* Update httmock from 1.2.6 to 1.3.0
* bump back to dev

v0.5.2
------

* release v0.5.2
* additional test
* fix test
* add tests
* only return previous states for history
* implement first seen and last seen
* add exception handling
* account for whitespace
* split out values in array
* lowercase it all
* add flags
* fix array
* change it up
* extra check
* can't split an array
* split again
* logging
* let's try something else
* extra check
* fix infinite loop
* fix not flags
* add history
* account for spaces in flags
* test flags
* try max width
* improve output of previous states
* forgot delta returns a tuple
* output all previous states
* formatting previous states
* change output for what and where
* fix up a couple things
* remove duplication
* flush out some stubs
* more staticmethods
* forgot to get stored endpoints before showing
* try updating travis
* make staticmethods
* missed one
* cleanup; pin pip
* store updates to state on start
* typo
* wrong split check
* implement remove
* Update schedule from 0.5.0 to 0.6.0
* Update schedule from 0.5.0 to 0.6.0
* account for whitespace
* get stored version before overwriting
* update the actual object
* clear ignored, show ignored
* typo
* implement ignore
* stub commands
* add todo notes
* extra checks; all option
* check for results and state
* only use show devices
* break up commands
* Update pika from 0.12.0 to 0.13.0
* Update pika from 0.12.0 to 0.13.0
* add show completions
* logging
* Update texttable from 1.5.0 to 1.6.0
* Update texttable from 1.5.0 to 1.6.0
* add tests
* use insert to prepend
* sort tweak
* test out sorting rows
* cleanup vlan output
* explicitly set column types
* ensure that IDs are cast to strings for printing
* check name
* don't wrap cells
* more cleanup of output
* cleanup output
* typo
* fix tests
* WIP cli work
* fix tests
* add shell command
* test against all endpoints
* testing connection to posiedon
* forgot to update answer assert
* wrong order
* forgot how partition worked
* fix test
* add tests
* more stubbing
* add tests
* fixed
* adding stub towards #854, #853, #851
* markdown
* add note about poseidon-net
* Update pytest from 4.1.0 to 4.1.1
* bump back to dev

v0.5.1
------

* release v0.5.1
* logging
* make error message more clear
* Update pytest-cov from 2.6.0 to 2.6.1
* Update pytest from 4.0.2 to 4.1.0
* don't remove dist now that there's more than one
* make sed more stable
* set control file for net version
* check for files, otherwise pull the images
* closes #758
* closes #922
* bump back to dev
* Update gevent from 1.3.7 to 1.4.0
* fix wording

v0.5.0
------

* release v0.5.0
* updating api checks
* no need to check for state specifically
* fix lingering bugs
* simplify
* prev\_states is a list not a dict
* another redis tweak
* tweak for redis
* fix endpoint\_data being stored in redis
* forgot self
* cleanup unused functions
* explicitly make staticmethods
* closes #861; closes #881
* extra test check
* add check for container\_id
* simplify state
* test stopping
* closes #835
* check for interfaces
* fix paths
* make it a staticmethod
* fix test
* refactor
* closes #897
* fix another prom label
* fix case where ip is already an int
* tweaks
* fix more prom labels
* fix prom metric labels
* fix check for ip-address
* fix tests
* fix tests
* fix tests
* fix prom and ip null
* closes #664
* use func instead of self
* closes #859
* return the actual array
* typo
* fix codacy issues
* fix travis
* closes #893; closes #877; closes #876; closes #850
* closes #784
* closes #887
* closes #889
* closes #886
* add extra transitions for #886
* typo
* should be mounting the directory instead
* setup for checking mirror before setting state
* add test
* fixes #883
* default to learn everything; add poseidon images
* reduce images sizes; fix typo
* closes #879
* cleanup
* forgot import
* fix redis for travis
* more coverage
* add tests
* forgot import
* ascii decode
* convert list to string for storing
* write encoder and decoder
* actually call custom encoder
* encode from within the class
* missing r
* attempt to fix circular reference
* simplify
* create custom classes
* tweak
* convert to list
* store as a string, eval on retrieval
* test serializing with json
* not necessary, vent takes care of it
* fix
* closes #832
* closes #833
* update badge
* remaining test coverage for api
* fix tests
* fix up endpoint\_data
* more test coverage
* ip -> mac fix tests
* use mocked out function
* fix tests
* more tests
* remove unused code
* bump back to dev

v0.4.0
------

* release v0.4.0
* cleanup codacy
* Update pytest from 4.0.1 to 4.0.2
* Update pytest from 4.0.1 to 4.0.2
* fixing redis test for 3.0.1
* cleanup codacy issues
* add more test coverage to main
* fix tests for prometheus
* update travis test dir
* don't initialize prom explicitly
* wrong place to initialize
* fix config for tests
* cleanup config
* fix prometheus
* fix api
* logging
* get rid of set\_state
* fix setting state explicitly
* get out of queued; improve output
* check dict; logging
* more cleanup
* cleanup loggers
* more tweaks
* tweaks
* fix name
* test the whole project; get transitions logger
* fix log formatter
* setup existing loggers from libs
* cleanup logging; add more tests
* improve test coverage
* fixed tests
* cleanup tests; add timeout for connection
* cleanup
* remove logger from endpoint
* Update requests from 2.20.1 to 2.21.0
* Update prometheus\_client from 0.4.2 to 0.5.0
* logging
* typo
* typo for queue; fix errored test
* rename for package
* cleanup tests
* fix package and some tests
* fix dockerfile for move
* final move
* finish transitions
* int -> str
* fix vent collector
* more logging
* updating log levels
* only put endpoints in inactive that aren't already
* actually mirror
* use the correct key for max investigations
* make completed tasks in the queue as done
* correct self->func
* explicitly remove all items from faucet\_event
* cleanup
* fix reinvestigations
* fix p\_next\_state
* use deepcopy!
* test
* logging
* initialize
* retval can be a local
* wrong reference name
* logging
* logging
* move hash function to endpoint
* log out data
* log self
* wrong logger
* logging
* log data not object
* logging
* set to info
* redundant
* logging
* set to inactive on event
* better track state changes
* logging
* fix attributes
* next\_state already an internal
* begin working on transitions
* fix conditional
* one level deeper
* update state attributes
* fix find\_machines
* logging
* pass in machine
* use the actual dockerfile
* fix SC2236
* cleanup loggers and ctrl\_c
* bit of cleanup
* cleanup for rewrite
* rewrite for simplicity and consistency
* Update redis from 2.10.6 to 3.0.1
* Update redis from 2.10.6 to 3.0.1
* Update certifi from 2018.10.15 to 2018.11.29
* Update pylint from 2.2.1 to 2.2.2
* update copyright
* Update pylint from 2.1.1 to 2.2.1
* Added a badge for version on Cloudsmith
* Update pytest from 4.0.0 to 4.0.1
* Update pytest from 4.0.0 to 4.0.1
* Update pytest from 3.10.0 to 4.0.0
* Update pytest from 3.10.0 to 4.0.0
* Update scp from 0.12.1 to 0.13.0
* fix up codacy
* fix test again
* one less loop
* fix known at start; fix tests
* fix indent
* incorrect setting of known
* checks for previously known hosts
* add extra field to api
* reset timer if it becomes inactive
* use ml results
* cancel out timer if it got ML results
* set to unknown when time runs out
* temporarily comment out unmirror
* indent
* missing )
* cleanup
* log timer
* closes #396; progress on leveraging db
* cleanup logging
* extra logic
* if already in inactive don't set again
* tweak
* Update requests from 2.20.0 to 2.20.1
* fix logging
* cleanup logic
* fix for inactives
* put rabbitmq settings back
* fix up rabbitmq
* add all rabbitmq servers in the pool
* only one state per iteration
* closes #785
* multiple instances of rabbitmq
* don't update the state if already queued
* reduce output
* add back printing on change
* cleanup logging
* reduce output
* cleanup
* more attempts
* only one key was being processed
* forgot import
* logging
* missing )
* logging
* fix transitions
* fix next state
* cleanup
* more logging
* more
* logging
* logging
* logging
* fix syntax
* more logging
* logging
* ovs default port is 6633, but faucet runs on 6653
* cleanup state transitions
* Update pytest from 3.9.3 to 3.10.0
* Update pytest from 3.9.3 to 3.10.0
* Update urllib3 from 1.24 to 1.24.1
* cleanup state changes; add queued and abnormal
* expose the api on 5000; add abnormal state
* bind prometheus to localhost interface
* closes #813
* closes #823
* Update pytest from 3.9.2 to 3.9.3
* Update pytest from 3.9.2 to 3.9.3
* need to create the directory and file for demo
* bump back to dev
* Removed the additional ip and port specifications from the instructions to start mininet. Even though the default values are the same as those specified in the command, I've had issues getting the mininet-hosts to connect with each other when the host machine's firewall was turned on. Removing it seemed to allow the hosts to talk freely with each other. For the purposes of demoing, this would seem ideal
* bump back to dev
* Updated readme version to 3.6
* Update pytest from 3.9.1 to 3.9.2
* Update pytest from 3.9.1 to 3.9.2

v0.3.6
------

* release v0.3.6
* Rectify the typos
* Update requests from 2.19.1 to 2.20.0
* Update pytest from 3.8.2 to 3.9.1
* Update pytest from 3.8.2 to 3.9.1
* Update urllib3 from 1.23 to 1.24
* typo
* check if None
* closes #807
* switched from preinst script to function in order to allow checks/repairs during start and restart operations
* Update prometheus\_client from 0.4.1 to 0.4.2
* Update certifi from 2018.8.24 to 2018.10.15
* corrections to syntax
*  Fixes #802 - moved creation of faucet and poseidon volumes from posinst to preinst
* Update scp from 0.12.0 to 0.12.1
* Update gevent from 1.3.6 to 1.3.7
* Expand instructions for making code modifications
* typo
* Update scp from 0.11.0 to 0.12.0
* Update urllib3 from 1.22 to 1.23
* Update prometheus\_client from 0.4.0 to 0.4.1
* Update gunicorn from 19.8.1 to 19.9.0
* Update prometheus\_client from 0.3.1 to 0.4.0
* Update pytest from 3.8.1 to 3.8.2
* Update pytest from 3.8.1 to 3.8.2
* Relates to #397 - moved from passing in the number of currently mirrored endpoints   as parameter to schedule\_job\_reinvestigation to calculating the number inside of the loop.   I believe that the function that calculated the number of mirrored endpoints was being   evaluated at the time of scheduling instead of at the time the job was called resulting in   the number of mirrored endpoints always being 0
* Update pytest from 3.8.0 to 3.8.1
* Update pytest from 3.8.0 to 3.8.1
* bump back to dev

v0.3.5
------

* release v0.3.5
* fix endpoint role by mac address not ip
* better permissions
* error checking
* missed a few
* closes #779 and closes #773
*  #397 - added logging messages to verify counts or mirroring endpoints
* some fixes
* fix os
* add inactive state for prom
* add inactive state
* typo
* typo; more logging
* bump back to dev

v0.3.4
------

* release v0.3.4
* Corrections per @cglewis comments
* Fixes #397 - added method get\_endpoints\_in\_state to endpoint wrapper - check that number of mirroring endpoints + number of current investigations   is less than max\_investigations when scheduling a reinvestigation
* breakage
* tweak logs and endpoint states
* Update pytest from 3.7.4 to 3.8.0
* Update pytest from 3.7.4 to 3.8.0
* closes #743
* Update pytest-cov from 2.5.1 to 2.6.0
* better wording
* reinvestigate if no results from ML
* Update pytest from 3.7.3 to 3.7.4
* Update pytest from 3.7.3 to 3.7.4
* fix tests
* wrong reference
* closes #598
* fix function instance
* reduce connection timeout time
* closes #671
* bump back to dev
* update demo docs to match default time change
* closes #753
* closes #755
* Update pytest from 3.7.2 to 3.7.3
* Update pytest from 3.7.2 to 3.7.3

v0.3.3
------

* release v0.3.3
* use a single config option for collection time
* closes #663
* move check to later
* expose reinvestigation settings
* Update certifi from 2018.8.13 to 2018.8.24
* clarify
* add v1
* add api url option
* cleanup logs
* add extra options at l3 for l2 learning
* convert to str
* more logging
* logging
* simplify mac check
* fix macs
* fix tests
* closes #559
* Update pytest from 3.7.1 to 3.7.2
* Update pytest from 3.7.1 to 3.7.2
* oops, wrong name
* add timestamps to poseidon.log
* logging
* also the string None
* fix exceptions
* fix exception
* fix tests, prom ip variable, and template defaults
* fix mirroring for l2
* closes #559
* Update gevent from 1.3.5 to 1.3.6
* cleanup loggers
* update docs to reflect log changes
* update log commands
* remove legacy tests
* logging and config cleanup
* Update certifi from 2018.4.16 to 2018.8.13
* bump back to dev version

v0.3.2
------

* release v0.3.2
* spelling
* remove theme
* Set theme jekyll-theme-minimal
* Update pylint from 2.1.0 to 2.1.1
* Update pytest from 3.7.0 to 3.7.1
* Update pytest from 3.7.0 to 3.7.1
* use -r
* fix logging output
* ensure that poseidon.log exists
* add poseidon.log, limit logs to only poseidon
* change the logger name for poseidon\_logger
* more logging tweaks
* tweaks to logger
* fix poseidon\_logger config
* add basic config for poseidon\_logger
* linting
* progress on cleaning up logging
* better output
* closes #706
* Update pylint from 2.0.1 to 2.1.0
* try except in case permission denied
* update logging to have two different loggers
* get rid of print statements
* Update pytest from 3.6.4 to 3.7.0
* Update pytest from 3.6.4 to 3.7.0
* just alpine 3.8
* move to python3.7
* test out python 3.7 and alpine 3.8
* cleanup whitespace
* Update prometheus\_client from 0.3.0 to 0.3.1
* cleanup logging
* get rid of extra timestamp and hostname
* tweak logging
* Update pytest from 3.6.3 to 3.6.4
* Update pytest from 3.6.3 to 3.6.4
* use cat instead of less
* Minor updates to README
* bump back to dev

v0.3.1
------

* release v0.3.1
* Update README.md
* Made updates to README
* log errors with sending/recieving files
* can only be Yes or No
* fix learn\_public\_addresses
* an extra check
* fix URI
* Dev readme (#690)
* configure -> reconfig
* in case it's not the master branch too
* closes #686
* Update pylint from 2.0.0 to 2.0.1
* cleanup
* more coverage
* fix states
* fix function definitions
* try to get more coverage
* increase coverage
* increase coverage
* per documentation, the port should be supplied..
* forgot port
* fix uri for bcf
* note about OSX
* Update gevent from 1.3.4 to 1.3.5
* add link for cloudsmith
* improve test coverage for faucet
* Update pylint from 1.9.2 to 2.0.0
*  #661 - switched to isinstance instead of type
*  #661 - switched to isinstance instead of type
* 18.10 isn't released yet
* back to dev
* forgot to update package version
* bump back to dev

v0.3.0
------

* release v0.3.0
*  #661 - updated unit tests to check collector start with faucet and bcf
* add some more output examples
*  #661 - check type of SDN Controller and existence of span fabric before starting the vent collector
*  #661 - setting empty span fabric to None
*  #661 - don't mirror traffic if span fabric/ig doesn't exist
* just in case
* use less instead of cat
* clean up docs
* ensure faucet log files are created
* make sure the user can use docker without sudo
* mn causing too many issues
* forgot backslash
* missing quote
* improve demo
* Update prometheus\_client from 0.2.0 to 0.3.0
* rough estimate of how long the capture takes
* remove unnecessary instructions
* also install w3m
* add xterm for mininet
* fixed issue flagged by codacy
* include -X for ssh
* update install notes
* add mininet and curl
* Fixes #660 - attemptd to retrieve span fabric on init which will trigger the message
* cleanup docs
* add comment about faucet
* typo
* add releases
* add blog posts
* fix placement of failed
* use base instead
* directory structure change for poseidonml
* better wording
* fix rabbit ip
* don't need sudo for status
* better instructions
* fix up bash
* pop it
* a few more cleanup items
* couple small tweaks
* fix bash errors
* make docker-compose executable
* remove config option setting for demo
* add demo option
* update descriptions
* typo
* typo
* update readme
* get rid of old ununused stuff
* Update pyyaml from 3.12 to 3.13
* tweak apt repo
* basic install instructions
* make field a password
* do extra env check in postinst
*   #640- corrected issue flagged by coday
*   #640- corrected issue flagged by coday
*   #640- updated unit test to reflect move from exception to error log message
*  #640 - switched from exception to log entry to see what results are
* silence tini warning; check for controller\_type
* added error message to bcf proxy connection failure
* small cleanup
* partial readme update
* use python3.6 for gevent
* add distros file
* finish template questions and defaults
* Update pytest from 3.6.2 to 3.6.3
* Update pytest from 3.6.2 to 3.6.3
* fix bash
* list available nics with gonet
* collector nic choices for deb
*  #640 - switched from raise error to log error
* add in interface\_group
* fix test
* also add port
* add active key for bcf
* Fixes #640 - throws an error when the configured combination of span fabric and destination interface group does not exist
* quick fix for faucet files that don't exist
* fix docs builder
* improve .deb and systemd unit
* bump back to dev

v0.2.2
------

* release v0.2.2
* fix another test
* fix tests
* remove no longer necessary hex conversion
* fix faucet issues, more progress on #626
* some cleanup
* maybe this time
* let's try something else
* what
* ensure that mirror\_ports is a dict
* huh
* tweaks
* hmm
* and more
* force int
* more logging
* fix updates to faucet yaml
* extra log for yaml
* more logs
* logging
* logging for error
* trying to make travis work across forks
* added controller\_interface\_group to helpers.run
* fix spacing in README
* Fixes #639 - moved array slice into get\_span\_fabric and removed from other locations
* #399 - queries bcf span fabric endpoint using configured destination interface group
* docs(bcf): Updated docs regarding configurable interface group -#399 & #398
* fix(bcf): make destination interface group configurable -fixes #399
* Revert "Update pyyaml to 4.1"
* add faucet files to volumes
* more progress on #626
* Update pyyaml from 3.12 to 4.1
* cleanup dockerfile names
* add simple healthcheck for api
* initial autodocs
* set back to cyberreboot
* add curl
* add simple healthcheck
* bash cleanup
* progress on poseidon script
* spacing
* cleanup span-fabric; more package progress
* no need to print out tests passed
* let's try this again
* fix shellcheck
* try ignoring with -x
* ignore following files
* attempt to fix
* try to get a newer version of shellcheck
* fix up travis
* more progress on package
* more progress on package
* reuse existing images to make rebuilds faster
* Update pytest from 3.6.1 to 3.6.2
* Update pytest from 3.6.1 to 3.6.2
* Update gevent from 1.3.3 to 1.3.4
* cleanup; back cap; select controller type
* systemd service unit stub
* progress towards debian package installer
* Update pika from 0.11.2 to 0.12.0
* bump back to dev
* spacing

v0.2.1
------

* release v0.2.1
* Update requests from 2.19.0 to 2.19.1
* Update requests from 2.18.4 to 2.19.0
* update url for ownership change
* Update gevent from 1.3.2.post0 to 1.3.3
* Update pylint from 1.9.1 to 1.9.2
* Update pytest from 3.6.0 to 3.6.1
* Update pytest from 3.6.0 to 3.6.1
* bump back to dev release

v0.2.0
------

* release v0.2.0
* add back crviz now that syslog is fixed
* add unbuffered for python logging
* Update gevent from 1.3.2 to 1.3.2.post0
* add additional workers; include dashboard
* add config default
* adds option that closes #549
* controller -> collector
* Update gevent from 1.3.1 to 1.3.2
* cleanup logging
* make environment variables optional
* add logging for config
* more logging
* logging
* returns none, scratch that
* more debugging
* debugging
* default to False for rabbit if not specified
* use active key not state
* more tests for the api
* remove stale tests
* fix strings
* cleanup
* improve tests
* Update pytest from 3.5.1 to 3.6.0
* Update pytest from 3.5.1 to 3.6.0
* bump back to dev version

v0.1.9
------

* release v0.1.9
* Update gevent from 1.2.2 to 1.3.1
* Revert "Update gevent to 1.3.0"
* fix license
* add tcprewrite for .1q
* Update pylint from 1.9.0 to 1.9.1
* Update pylint from 1.8.4 to 1.9.0
* Update gevent from 1.2.2 to 1.3.0
* adjust ipv6 subnet
* fix ipv6
* publish port as the same port
* Update scp from 0.10.2 to 0.11.0
* v0.1.8

v0.1.8
------

* bump back to dev version
* release v0.1.8
* fix tests
* add active gauge to prometheus
* condition check
* make h
* add inactive prom; correct indent
* tracking down discrepency with endpoints
* more testing
* logging
* wrap it all!
* too aggressively removed endpoint
* extra caution; don't add inactive from mac\_table
* too many deletes
* get object, not str
* remove endpoint after it's set to inactive
* copy endpoint before iterating
* make a copy for printing
* logging
* ensure active key exists
* fix state; cleanup logging
* set endpoint update for active
* logging
* forgot it's not a dictionary, but an object
* print changes for inactive
* missing )
* more logging
* update to alpine 3.7
* update state when no longer active
* update records for active/expired
* remove endpoints that are no longer active
* stray comma
* fix dict
* set active to 0 instead of deleting
* fix tests
* set back to upstream
* cleanup
* fix state for prometheus
* also forgot json..
* forgot to import requests
* more debugging
* remove info logging
* change section name
* debug
* set default vent port
* tweaks
* setup config
* broader address range
* another ip to remove from the capture list
* update metadata to vent collector
* Fixes #564
* #564 - added method to check for active collectors
* #564 - added method to get collector statuses from vent
* tuples with only a single object don't need index
* typo
* fix prometheus gauge values
* testing storing metric count
* progress on #571
* typos
* force map back into a list
* convert ip to an int for storing as the value
* logging
* wrong name for hash\_id
* spacing
* add more prometheus metrics
* remove extra logging
* cleanup extra logging
* improve logging
* logging
* remove endpoints that are no longer in mac table
* additional logging
* actually copy dict into a new copy
* indent error
* each mac is a list of data dicts
* fix indices; check for existence
* typo, note
* forgot to check for port change in messages
* closes #550; closes #498
* Update gunicorn from 19.8.0 to 19.8.1
* Update gunicorn from 19.7.1 to 19.8.0
* fix tests
* store actual metrics for prometheus
* fix logging location
* ok, should work now, silly redis
* fix up environment variables
* add environment variables
* don't run in container because of paths
* more attempts
* let's try something else
* add codecov
* need git, remove unneeded items
* best practice for coverage
* remove output
* simplify coveragerc
* output report
* don't need token
* fix coverage report
* set volume for coverage report
* update codecov
* fix repo org
* move back to fallback of localhost
* move to travis for redis
* back connection is localhost
* better tests for redis
* connects to redis, putting back no cover
* should be able to connec to redis in tests
* add redis to circleci
* add tests for api and increase coverage
* increase test coverage
* fix tests
* more tweaks for prom; add todo
* don't include the uid
* add more specifics into prometheus
* store actual results into prom
* Update pytest from 3.5.0 to 3.5.1
* Update pytest from 3.5.0 to 3.5.1
* Fixes #400 - corrected unit test issue and removed extraneous faucet.yml file
* Update certifi from 2018.1.18 to 2018.4.16
* fixed merge issue
* fixed merge issue
* Fixes #399 - adds configuration for span fabric name
* allows span-fabric name to be configured, but does odd things to one of the tests that i want to review
* limit logging of records for prom
* allows span-fabric name to be configured, but does odd things to one of the tests that i want to review
* forgot import
* move up prom code
* better name for collection
* test counter
* wrong import
* fix up where prometheus starts
* no need to make it port specific
* more prometheus stuff
* get results from poseidon-api
* link poseidon-api to poseidon
* more logging
* add prometheus; logging
* bump back to dev release

v0.1.7
------

* bump to v0.1.7
* Update pylint from 1.8.3 to 1.8.4
* fix link
* closes #277
* add additional authors
* add docker hub downloads
* update contact
* should be a debug message
* add other faucet events
* Don’t pass extra arg
* removed empty ports from mirror
* fix key error
* logging
* cleanup; fix some typos
* make mac\_table a member of the class
* more logging
* more logging
* log as info
* logging

v0.1.6
------

* bump to v0.1.6
* fix self
* closes #543
* update name
* Update pytest from 3.4.2 to 3.5.0
* Update pytest from 3.4.2 to 3.5.0
* fix mirroring
* if switch is the same, no need to convert
* missing closing )
* more logging
* update maintainers
* closes #506
* closes #454
* Update pylint from 1.8.2 to 1.8.3
* set a priority
* make the name one word
* todo note
* default to unknowns
* sort
* python3 silliness with redis library
* decode bytes into utf-8
* explicitly make sure ip address is a string
* more forgotten self usages
* forgot to use self
* wrong placement for appending nodes
* fix missing )
* connect api to redis and get nodes on the network
* needs a number for uri
* Pin gunicorn to latest version 19.7.1
* Pin falcon to latest version 1.4.1
* Pin redis to latest version 2.10.6
* Pin gevent to latest version 1.2.2
* Pin pytest to latest version 3.4.2
* Pin falcon-cors to latest version 1.1.7
* include port and service uri info
* explicitly look at api and poseidon only
* add coverage of api too
* pip install the api requirements for ci
* add initial api app
* closes #512
* add the visualizer
* bump back to dev version

v0.1.5
------

* release v0.1.5
* closes #505
* Update pytest from 3.4.1 to 3.4.2
* include p0f
* shutdown port if it gets into a shutdown state
* quick fix
* get out of mirroring once known
* Update pytest from 3.4.0 to 3.4.1
* fixed broken test
* fix endpoint wrapper changes
* only add the port if it's not already there
* allow multiple mirrors to a port for faucet
* must be a string for later conversions
* should be the id not the name of the switch
* fix tests
* check for None
* missed one L2\_LEARN
* fill out event function for new endpoints
* log message from messages
* logging
* logging to make sure
* more tweaks
* more environment variable changes
* typo, and make bool
* only worry about l2\_learn messages
* make sure mac\_table exists
* keep all message between kicks
* get message in the parser
* get rid of exclusive
* queue\_name change
* import ast
* move rabbit stuff for faucet into poseidonMonitor
* put back
* move stuff out for imports
* adding rabbit for faucet
* bump version back to dev

v0.1.4
------

* release version 0.1.4
* release version 0.1.4
* Update schedule from 0.4.3 to 0.5.0
* Update pytest from 3.2.1 to 3.4.0
* Update pylint from 1.7.2 to 1.8.2
* Update pika from 0.11.0 to 0.11.2
* Update certifi from 2017.11.5 to 2018.1.18
* bump to dev version

v0.1.3
------

* extra checks for config and log files
* bump version
* need to do some more work for the volume mounts
* mount log and config files; use defaults
* clarify variables that need to be set
* make sure the helper exits if anything fails
* fix mirroring again
* Quote controller\_mirror\_ports because it contains shell-special characters
* bump to dev version

v0.1.2
------

* release 0.1.2
* better helper run script and remove unnecessary ES
* missing newlines
* add extra interfaces
* missed an extra ]
* don't log pw
* per comment, catch last reversed check
* Update parser.py
* logging
* update changelog
* bump to v0.1.2-dev

v0.1.1
------

* bump to v0.1.1
* another fix
* fix build, add TODOs
* add some more tests
* closes #467; stubs for #465
* add note for running helper
* update link for codacy to be under CR
* fall back to cwd
* permissions check
* fix up codacy issues
* update to latest version of alpine
* update authors list
* update changelog for version release
* bump back to dev

v0.1.0
------

* release v0.1.0
* update size and spacing
* add links and logos for sdn controllers
* update readme to reflect most recent changes
* print before and after state change
* print the state at the start
* even more logging cleanup
* format it
* explicit logging
* more info logger mocks missing
* add mock for info logger
* some debugging and cleanup
* test outputting on only change
* collector not controller
* add helper script to run poseidon in vent
* put things back, override directly if needed
* even better defaults
* fix defaults
* yaml yaml yaml
* fix for dp\_id not a str; closes #436
* fix tests
* forgot a )
* explicitly convert to an int first
* add defaults for config; closes #437
* silly python hex conversion
* more tweaks for switch mirroring
* port currently has to be an int
* match up switch name and mac
* testing mirror for faucet
* fix up some codacy stuff
* fix up some codacy issues
* parse config to prep mirror
* better logging, fix dict object
* extra test
* fix tests
* typo
* setup for mirroring
* one more time
* typo
* increase test coverage
* fix tests
* cleanup; config option for mirror ports
* fix tests
* closes #423
* json
* update to lowercase due to urllib3 bug
* more tweaks for mirroring and config cases
* keep case sensitivity of config; update mirrors
* dont echo config options to logger
* Update README.md
* Update README.md
* unused libraries
* schedule, even when not using rabbit
* update path to match dockerfile, et al
* codacy
* coverage
* codacy fixes
* codacy fixes
* codacy fixes
* forgot a file
* schedule\_job\_reinvestigation
* formatting, schedule\_job\_reinvestigation
* EndPoint, Endpoint\_Wrapper
* move out tests from runtime
* EndPoint
* EndPoint
* update controller type and eval plugin for vent
* endpoint
* endpoint work
* rudimentary endpoint parsing from log of faucet
* stubs for yaml parser
* add pragma marks for exceptions
* add tests; receive and send log and config files
* add ssh connection for faucet server
* update dockerfile paths to be consistent with CI
* get one more line
* keep the coverage up
* fix tests
* add dummy tests for stubs
* update copyright years, fix config
* fix changes to config file
* stub for faucet; cleanup some minors things
* additional field, and time
* Update README.md
* Update README.md
* Fix syntax
* Replace deprecated MAINTAINER with LABEL
* update maintainer -> label; closes #392
* cleaning what I touched
* coverage
* more coverage
* more coverage
* something wrong side of try
* more coverage
* more coverage
* more coverage
* Update base image to LTS
* Use base ubuntu image for docs
* formatting
* docker run poseidon 2>&1 | posCliGui.py
* add markers to output for gui demo
* fix tini and python for alpine changes
* Use python3 alpine as base image
* update readme for running poseidon in vent
* closes #342
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Move Badge into Image folder
* Update README.md
* Update README.md
* updated logging messages
* progress for #342
* better coverage
* formatting
* formatting
* more coverage
* more coverage
* more coverage
* more coverage
* more coverage
* more object coverage
* more coverage
* mis-merged
* better testing
* better testing
* test coverage
* CTRL\_C went missing in testfile
* pep8 things
* test\_\*py files should be 100% covered. #371
* test\_\*py files should be 100% covered. #371
* fix/remove dead code from test cases. test\_\*py files should be 100% covered. #371
* there were two test\_configSelfs
* dont cover main
* test coverage
* test coverage
* test coverage
* test coverage
* test coverage, uncovered bug
* more test coverage
* feeback loop: more coverage
* merge
* feedback loop: upping testing
* fix makefile TAG variable
* feedback loop
* feedback loop
* feedback loop
* docker build breaks, cant test without .coveragerc
* feedback loop
* fix typo
* Update CONTRIBUTING.md
* update readme to include make run\_dev explanation
* Add .dockerignore to prevent rebuilds
* explain makefile options
* Update Makefile for docker
* Test creation: schedule\_thread\_worker #244
* Test creation: schedule\_thread\_worker #244
* https://github.com/CyberReboot/poseidon/issues/255
* Test creation: schedule\_thread\_worker #244
* not an error
* for now squash the urllib messages about certs
* for now squash the urllib messages about certs
* Update endPoint.py
* Update test\_endPoint.py
* Update test\_endPoint.py
* Delete EndPoint.py
* Delete test\_EndPoint.py
* Update README.md
* Rename Dockerfile to Dockerfile.poseidon
* rename so vent knows what it is called
* Test creation:bcf.py: unmiror\_ip #335
* Test creation:bcf.py: miror\_ip #333
* Test creation:bcf.py: get\_seq\_by\_ip #331
* Test creation:bcf.py: get\_highest #329
* something jacked up. #327 fixed
* Test creation:bcf.py: shutdown\_ip #326
* Test creation:bcf.py: get\_bymac #324 (#325)
* Test creation:bcf.py: get\_bymac #324
* Test creation:bcf.py: get\_byip #322
* Test creation:bcf.py: get\_byip #322
* remove deadcode:bcf.py:format\_span\_fabric #320
* Testing:bcf.py:format\_endpoints #317
* Test creation:Monitor:\_\_init\_\_ #315
* Test creation: schedule\_job\_kickurl #242
* Create test\_print\_endpoint\_state
* Test creation: mirror\_endpoint #235
* Test creation: shutdown\_endpoint #234
* Test creation: configSelf #251
* Test creation: return\_endpoint\_state #229
* Test creation: get\_endpoint\_state #231
* https://github.com/CyberReboot/poseidon/issues/232
* Test creation: change\_endpoint\_state #238
* Test creation: make\_endpoint\_dict #237
* Test creation: make\_endpoint\_dict #237
* Test creation: get\_endpoint\_ip #233
* https://github.com/CyberReboot/poseidon/issues/236
* https://github.com/CyberReboot/poseidon/issues/236
* Test creation: find\_new\_machines #239
* Add a makefile to make development build / run scenarios simpler
* fix ci build
* fix ci build
* Add myself to AUTHORS
* Fixes #296 by setting the POSEIDON\_CONFIG environment variable in the Dockerfile(s)
* circlieci 2.0 cache issue: #294
* Test creation: update\_next #252
* #241 test\_update\_endpoint\_state
* accidentially a /
* missed some python27isms
* circleci coverage
* circleci coverage
* Living with how I made circleci work
* living with how I made circleci work
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* circleci broke
* getting around container ro install
* moving python3
* making move towards python3
* removing warnings/errors when building docs
* author
* updating docs container
* utf8, making sure interpreter is there
* create files required by sphinx to build documents, added support for both .rst and .md file
* spnix the repo with spinx\_quickstart to create required files, added support for both .rst and .md file
* added dockerfile to build docs
* Remove iterations on .keys()
* fixed a typo
* changed test name to better describe test
* removed to\_str() comparison
* removed newlines, added tests for initiating with state, fixed error in initiating with state
* removed encoding
* trying encoding the string in to\_str()
* fixed tests and json loading and dumping
* formatting
* scale logo
* merge
* added tests for endPoint.py
* Replaced the Poseidon Logo and created new directory for Images
* changed position of author comment
* Changed ''' to """ in author comment, changed object parameter name to json\_obj as it conflicted with a built-in name
* added class EndPoint.py in the same directory as poseidonMonitor.py
* test\_ConfigSelf
* print\_endpoint\_test
* test\_schedule\_job\_reinvestigation+ more tests merged together
* job\_reinvestigation\_test
* merge solved
* rabbit\_callback\_test + dissappeated during merging test added back
* Fixed tests
* Fixed tests
* start\_vent\_collector includes metadata of desired dev\_hash
* start\_vent\_collector void test
* feature/test\_get\_rabbit\_message
* test\_get\_q\_item obsolete comment removed
* test\_get\_q\_item
* test\_signal\_handler
* cleanup config, more realistic initial values
* cleaning
* Update README.md
* Update poseidon.config
* Update poseidonMonitor.py
* Create CODE\_OF\_CONDUCT.md
* Update README.md
* Update README.md
* Update README.md
* more testing coverage
* test coverage
* test coverage
* removing things we are not using
* cleanup
* ctrl-c clean exit
* vent.template
* for testing
* merge
* fix codacy issues
* fix codacy issues
* finite state machine soon. (#224)
* missed a few merge statements
* fire
* moving towards tracking state transitions with endpoint data
* additional business logic (#223)
* dedouble logging output
* Logging 2.0 (#222)
* investigation selection
* added new line to config file
* adding in linkage to do something with ML returns
* adding in linkage to do something with ML returns
* kill things when CTRL\_C is hit. (#220)
* remove config rest interface, add maintainter docker
* comment
* make the program exit when you press CTRL\_C
* same variable two spellings
* improve codacy score (#219)
* remove warnings
* codacy suggestions
* remove unused imports
* put quotes around vent filter
* minimal config, things in UPPERCASE need configuration attention
* unknown -> mirroring
* more fire
* making codacy happy
* pep8
* continuing to burn
* more fire
* more file
* rabbit -> methods
* rabbit calls -> members
* put back docs
* remove empty dirs
* get codebase building
* Update README.md
* reducing complexity with fire
* a couple lingering old vent things removed
* remove unused duplicative class
* move rest of lab41->cyberreboot
* change to new org
* remove outdated vcontrol/vent things
* Update README.md
* update build badge
* additional keys for new feature
* better starting instructions
* stubbing in reinvistigation of known addresses
* cleaning
* vscode
* pep8
* cleaning lint
* Dockerfile cleanup
* cleanup old vent stuff
* update to the latest version of pika
* best practices docker
* conflict resolution
* only monitor something 1x
* codacy fixes
* added new rabbit base class. main and monitor/NBCA use this new base class rather than their own
* lock versions of python modules
* cleanup dockerfiles, fix requirements
* make debug output more understandabel 29Aut2017 meeting
* accidentially a )
* pin sofware to specific version, upgrade of pika hurts
* make debug prettier
* Update Dockerfile
* useless strings
* too many vars for a function
* Update README.md
* #! (#193)
* add #!
* fixing codacity issues (#192)
* remove unused
* {0} -> {1} for 2nd parameter format
* merged
* remove unused imports
* fixing codacity issues
* Docker.periodically functionality into main (#191)
* autopep8
* better constants
* better default
* integrate dockerfile.periodically into main
* Update README.md
* Update README.md
* make Dockerfiles better, fix errors during builds
* wq! Merge branch 'master' of github.com:Lab41/poseidon
* fix hash causing multiple starts
* indent for if out of place
* make dockerfiles more uniform, make startup easier
* Create README.md
* add award
* rookie of the year 2016
* license badge
* notebook for python3 for preprocessing demo
* updated sessionizer
* clean up and unsupervise notebook added
* attention ploting
* updated train\_deep with attention
* updated train\_deep with attention
* Update README.md
* Update README.md
* section about possibly needing to install the proper version of docker-compose
* small bugfixes
* ML commanded shutdown
* start at 1
* fixed collector create (#181)
* fix for nprocessor collector (#180)
* nothing being mirrored when discover new node
* what to do when there are no endpoints being filtered
* documentation and fixed a None
* update README.md
* added logging to main
* updated to test rabbit script
* added test scripts for rabbit and database
* edited eval file to work and included pike and requests into requirements.txt
* fixed issue with storage naming
* updated requirements
* removed globals from main
* fixed naming for storage module
* changes to collector rest, added allow and deny logic for main, added db check, config changes
* output formatting
* difference between 'my\_hash' and my\_hash
* dont keep reporting things that are mirrored
* updates for flow id to eval dev class
* initialization of item
* refactoring
* updated storage interface tests (#172)
* updated storage interface tests for test db
* Update eval\_dev\_classifier.py
* more queue work
* fix for storage interface (#171)
* fix for storage interface
* updates to storage rest
* added base64 to eval classifier
* added eval classifier
* updates for vent integration (#169)
* fixed imports
* patch for test
* test patches
* test fixed
* updates for vent
* updated pcap stats tests and deep classifier
* fix for circle
* updates for testing
* testing updates
* fix for circle
* getting rabbit comms working
* update to dir structure to add eval dev class
* update to pcap stats tests
* update to port class tests
* updated deep classifier
* update to pcap stats
* Delete .viminfo
* Delete .gitconfig
* merged train\_deep\_classifier
* fixed improts
* updated tests for imports
* updated dockerfiles
* vent circle fixed
* updates to heuristics for vent
* vae addition
* networking rabbit MQ
* adding in a Q
* vent update for model into db (#166)
* fixed model storage in db
*  adding todo directions
* detects new machines
* added vent instructions script (#165)
* added vent script
* merge
* made methods for shutting down ports by ip, startup by mac
* updates for vent integration (#163)
* fixed readme for merge
* cleaned up port classifier
* updates for vent integration
* flows start and stop by ip
* removed unecessary files
* Added demo traditional\_ml notebooks
* clean up
* noascii char
* needed to update method for call to support mirroring by ip address
* periodically adjust port being scanned, and better debug
* circle ci workarounds
* Update README.md
* Update README.md
* spleling
* Update README.md
* adding in santisized config
* reformat outside of test cases
* adding formatting support ot span\_fabric
* formatting
* something to see here
* can poll controller to get state update
* grooming bcf output for consumption
* updates for vent integration
* need old config options until things moved over
* moving config items
* removing big comment, it will be in the git history
* adding debug logging
* updated readme for instructions on alternate mongo volume (#159)
* adding in parts needed for controller query
* updated readme to clarify ip update
* updated readme for instructions on alternate mongo volume
* poing -> point
* updating getting work from queue
* adding traffic generation scripts
* vent integration updates (#156)
* better unsup
* added coverage for model saving
* vent integration updates
* Add shutdown endpoint method and mirror traffic method for BCF, along with appropriate test cases. Test cases need to be cleaned up
* Add post method and arbitrary request method for controller proxies. Also added appropriate test cases
* Adding in some sample states for testing BCF. Need to change to sample states to consistent format
* Updated test for jsonmixin.py to check for blank text field. Also changed to use static method
* Resolve merge conflict in jsonmixin.py. Taking static method change
* updates to port classifier plugin
* fixed compose yaml for new plugin structure (#153)
* fixed compose yaml for new plugin structure
* add some basic documentation for the collector
* new plugin sub directories for different file extension receivers (#151)
* updated flowparser output to csv
* updated mime type for ml-algos
* new templates for vent
* fix index
* changes for vent integration with different file extensions for plugins
* set mime type and ext type for plugins
* fix requirements.txt location
* adding model eval
* gpu2cpu converter complete
* updated compose for db persistence
* moved and renamed config file to config/poseidon.config, closes #141 (#144)
* moved and renamed config file to config/poseidon.config, closes #141
* fixed tests
* updated coverage for runtime failures
* EOD back up
* storage interface ignore coverage for db failure
* pulled changes from master
* major updates to storage interface
* more coverage
* more coverage
* code quality
* modified wrong on\_get
* prefer static methods over isntance methods try2
* mistakes were made
* perfer format() over string tnterpolation operator
* perfer static methods over instance methods
* compound asserts to simple assert
* remove vi file save error
* use extend or += for lists
* dict.get('a',None) to dict.get('a')
* Avoid mutable default argumentsw!
* accidentally an l
* missed a line
* resolving more pep8 annoyances
* skip\_rabbit != skipRabbit
* test poseidon main
* fixed storage tests, updated docker compose
* small tweaks with overhaul to unsup
* updates to storage interface
* fixed port class tests
* fixed port class tests
* added test coverage for port class plugin
* updates to port classifier
* dont process if there isnt work
* slight changes to train classifer
* adding template env vars for vent integration
* basic unit tests for deep learning train (#136)
* updated deep learning tests for theano build issue
* added basic tests for deep learning mod
* refactor, as 2 functions had same name
* updated bakeoff and EOD backup
* guard around accessing a None
* added deep learning module (#134)
* fixed reporting
* fixed ip verification
* updates to tests and deep learning
* adding deep learning training module
* docs
* fixed main test
* merged with l41
* fixed tests for circle
* refactored for vent
* updated exchange names, added to dev classifier
* make it work on ci
* making the exchanges named the same
* cleaning makefile and update to deep classifier
* own mogo db.. who knew.
* making sure to pip8 everything
* wq! Merge branch 'master' of github.com:Lab41/poseidon
* adding the multithreaded queue reading
* speedy sessionizer and adding refactored notebook
* added test coverage for deep learning module
* split deep classifier to train and evaluate modules (#128)
* additional flowparser formatting fix
* fixed flowparser formatting
* fixed for circle
* updated test coverage for deep learning
* making things work with the new ip address
* split deep classifier to train and evaluate modules, updated to reserialize eval model
* forcing the swaggerui to work with the new ip addressing scheme
* keep main from exiting
* updates to rabbit
* fixed authors
* added testing
* added rabbit to deep module
* added skeleton for deep learning module
* updates to readme and build env (#124)
* removed DOCKER\_IP environment variable, updated make, compose, module dependencies
* updates to readme and moved startup script to config
* fixed sessionizer
* try again for logger
* logging and ports
* updated readme to reflect storage changes
* updated Makefile
* merged with l41 for storage updates
* storage fixes
* port exposed changed from 8555 4444
* fixing compose storage build issues
* moving to 16.04
* merged with l41
* fixed docker ports, build env -- revert to here for clean networking with default poseidon
* merged to fix dockers for port alignment
* revert compose
* fixed docs port issues
* making values reproducable
* EOD backup
* fixes for build process and dependencies  (#115)
* updates to build process
* cleaned up config file
* fix for algos build environment and dependencies
* victory
* fixed ip switcher, EOD backup
* resolved config
* fixed rabbit integrations, flowparser; pcap->flowparser->port-class->results
* rabbit mq does not work in ci
* test coverage
* parameter not passed
* workaround not having queue for testing main
* prints from the merge eradicated
*  killing "
* fixing merge
* forgot init logger
* needed to initialize logger earlier
* killing the whitespace
* fixed rabbit integ for main
* refactor environment and dockers for ml
* EOD backup and bakeoff addition
* merged into wrong funciton
* forgot the merge of get\_handlers
* normalized logging
* rabbitmq fix for circle testing
* minor changes, makefile clarity, fix build process
* added poseidon diagram
* added rabbit to main
* refactored rabbit, added rabbit integration for algos (#109)
* fixing for circle ci
* resolved rabbit conflicts
* refactoring for environment portability, skeleton directories for ml algo plugins (#108)
* rabbit intergration for algos, refactoring for updated convention
* EOD check in
* updates to readme
* prep for l41 merge
* added algo skeletons for ml classifiers, added startup script for clean environment
* added startup script
* added initial portclass file
* config fix
* updates to build environment and vent integration
* updating logging
* makefile fixes 2
* makefile fixes
* EOD check in
* added investigator features and integration (#106)
* event loop lookup and execution of event handlers
* refactoring for linux env
* config fix for circle
* investigator updates and integration
* want to get config
* need to fix config for investigator
* unsup portion cleaned up
* cleaning up unsup and sup versions
* updated readme for env var config
* fixed docker host config
* fixed build config
* updates for storage interface and investigator integration (#105)
* fix for storage testing
* updated poseidon storage
* storage interface fix for testing
* updated storage interface tests
* added update to storage interface
* added investigator config
* fix for circle ci
* fixed config options for investigator
* added config updates to investigator
* investigator updates
* storage interface updates and investigator features (#104)
* updated dockers for collectors testing
* fixed collectors docker for circle ci
* fixing nfilter for circle ci
* added requirements for collector
* merged w l41
* storage interface test fix
* storage interface test update for circle ci
* storage testing fix
* updated storage testing
* fixed storage tests
* fixed investigator stub
* updated storage db query test
* refactor storage, replacing utf8 encoding with mongodb bson
* add initial collector for processing over a nic
* test the cases where things are or are not in the algs list already
* adding other useful stubs
* updating unsupervised algo
* update from l41
* investigator additions and updates to storage interface
* 3 adversarial types integrated
* updated flowparser docker and tests
* flowparser for preprocessing for ml classifier (#99)
* updated gitignore to include unit testing, restrict depends
* ACTUAL working classifier
* added unit testing for flowparser and updated gitignore
* added unit testing for flowparser feature
* Update flowparser.go
* testing update
* update to flowparser
* added algos dir
* updated gitignore
* removed rabbit binaries
* removed flowparser binary
* updated gitignore
* go flowparser package
* comments for flowparser
* rabbit connection for flowparser
* added unit test package for flowparser
* resolved merge conflicts
* rabbitmq connection for flowparser
* fixed hex indexing
* added flowparser feature to plugins
* Changed inet-port in sample data (can't use 00000 as valid int in JSON)
* Corrected missing commas in sample data
* Restructured directory for proxy controller code. Started proxy code for BCF, with test cases and sample data
* Added httmock to mock HTTP requests
* EOD back up
* working ip dictionary of uniq coms
* rabbitmq integration (#96)
* EOD back up
* backing up work with working classifier seq2seq
* rabbit integration testing
* rabbit integration config
* rabbitmq connection updates to heuristics
* fixed compose yaml, working on rabbit
* updated pytest flags for storage interface coverage
* refactored storage-api to storage-interface
* updated compose yaml for storage interface container
* updated makefile for exposing storage
* test updates for storage api
* updated types for responses for storage api
* renamed storage docker
* exposed storage api, added db features and coverage (commits need to be squashed on merge) (#93)
* moar coverage
* schedule coverage
* more test coverage
* more Scheduler testing
* test cases for scheduler started
* test cases for scheduler started
* bandaid to test under ci
* deleted something I needed
* need to update scheduler, later.
* EOD back up
* default return None lookups
* wtf, how did paste put spaces in it.
* wrong path
* updates for testing inside circleci
* adding in enum to requirements.txt
* Scheduler framework, need to still put in calls to rabbit
* end of day backup
* updated config template
* changes to storage api
* new notebook with working classifier
* added origin allow for db api
* added dockerfile for storage to expose db api
* add many docs to db
* updates to storage
* storage add document and test coverage
* added document insert support for storage
* training encodes on the fly
* local changes
* adding in logging support, auto-fixing of json
* revision to periodically
* updates to periodically and docker compose
* updated db persistence for pcap stats
* now with working classifier after pretraining
* rearranged scan function for better classification transfer
* added coverage pcap stats
* update pcap stats for bidirectional packet len records
* EOD check in
* added db worker update thread
* exposed hEnc, hDec, hContext
* fixed pcap tests for time delta
* fixed time record test for pcap stats
* updated pcap stats to return time as float
* added coverage for pcap stats
* pcap stats enhancements
* updated algos with minibatch using scan
* updated algos with minibatch using scan
* force rebuild for compose
* compose final changes
* compose changes fix
* compose changes
* notes from meeting added, ip direction switcher working
* daily save
* fixed net on compose
* added networking
* compose updates
* compose changes
* set theano flag to fast\_compile
* added compose env var file
* removed path env vars from compose
* end of day back up
* env var changes to compose
* Dynamically set location for .sample files for testing
* Add tests for OnosProxy
* Add tests for ControllerProxy
* Set default arg for auth to None
* Added code for proxying to an ONOS controller
* Added myself to AUTHORS
* updated algorithm
* updates to compose yaml
* compose update
* pep8
* added compose command to makefile
* updates to compose yaml
* documentation and config parsing updates
* updates to docker compose yaml
* documentation, and improving the class setup
* removed another weird file
* deleted weird extra files
* premerge
* saving notebook
* updated port number for mock controller
* resolved conflicts for merge
* changes to makefile for mock controller
* addeed nbca coverage, updates config
* making sure not to lose my stuff
* making sure not to lose my work
* added controller poll to nbca periodic
* testing, and new environment variable name
* wiring main for configs
* removed old dockerfile
* updates to nbca and merge with l41
* updated nbca to talk to mock controller
* smart quotes will be the death of me
* autopep8
* pep8
* all classes reading configs
* added mock controller
* fixing the swagger
* update from l41
* bulding again
* update node history for merge
* fixed minor bug in node hist
* Config tests failing
* fixed misspell
* added coverage for node history
* update to node history
* added config to node history
* update
* updated from l41
* pull from l41
* using base classes in a better (tm) way
* auto configuration of members from Config testing
* merging in changes
* gluing the classes together so one set of classes can call methods in another
* updated api swagger
* reversed changes to periodically docker
* poseidon storage database interface
* testing the madness
* ready for update
* changes to poseidon storage
* dont run tests multiple times
* additional testing
* add periodic calling of the rest interface to check for controller changes/updates
* mongo on standard port
* even
* MINIFY
* update for evenness with l41
* making even with l41
* prep for l41 pull
* seperating docker containers
* workign the make build management
* added connection to mongodb for storage
* updated from l41
* prep to update from l41
* updating dockers
* updating make for building all dockers
* storage dockerfile for mongo
* even with lab41
* prep to update from lab41
* running the main when the .main container starts
* migrating poseidonMain to new naming convention
* updated docker compse yaml
* ready to merge
* revert makefile
* added container names
* minor edits
* added compose yaml and updated config path
* updating for merge
* reformatted full config rest call
* rest yaml fix
* align case convention
* changes to poseidon main
* updated yaml for config api
* fixed yaml tags for config api
* cleaned dir
* fixed config from rabbit testign
* updated section test
* updates to config api
* updated yaml for config additions
* extended config api
* pull from main branch
* merging with the master Merge branch 'master' of github.com:Lab41/poseidon
* Adding a few options to the precommit
* missed a merged comment
* merging with upstream
* Refactoring to agreedupon naming convention, added support for dockerformac
* sync w lab41
* swagger
* tcpdump parser added support for ipv6
* added dedicated config template test with rest
* added coverage for pcap stats
* removed debug
* debug no templates dir
* added basic config template
* sync with lab41 master
* making the stubs
* added support for many machines to dns verify
* pcap stats heuristic plugin
* found the problem, OSX filesystem
* forgot a # in a comment
* I hate my filesystem
* finding where Nbca is breaking circle ci build
* finding where Nbca is breaking circle ci build
* now even closer
* copy paste hurts me
* testing the wiley circle ci server
* comments
* more spelling, and coverage
* renamed file
* updating to pep8
* added record of network machines for dns verify
* minor updates to dns verify
* added dns verify heuristic
* uncommented rabbitmq
* added init to dns verify
* dns verification heuristic
* pre-commit config files
* updating onos
* adding some code
* updating docs
* starting work on the rest interface files, with default tests
* fixed tests
* tcpdump parse resolved addrs for dns
* tcpdump parser fixed header test, added dns coverage
* fixed length for dns tcpdump parser
* prep to merge
* pull from lab41
* sync with lab41
* pep8 formatting and config for coverage tool
* removing debug comments from source, remove directory that is not used anymore
* new dir structure
* mis merged
* correcting name of rest
* fixed length in header tcpdump\_hex
* dont bring up the rope project dir
* Update AUTHORS
* restored readme
* test5
* added readme
* test4
* test commit
* fix up tests and add docs for added fields
* added port test to header parse, fixed 0 length parse data
* fix tests
* ip from array to string
* fix up ip addresses
* parse out ports
* fix int issue
* add more info to the hex parser with the header
* add docs for plugins to sphinx
* added documentation to dshell parser
* switched Dockerfiles
* Added dshell parser and added name to authors
* updating the test cases to suppor removal of newline in header processing
* removed unused variable, added minimal documenation for functions removed newline when processing header
* finish writing tests for plugin
* fix tcpdump parser; partially adding tests
* a little more tested dockerfile
* yay dockerfile - untested
* add partial tcpdump feature /cc @d-grossman
* fix badges and add code coverage
* switch from drone to circleci
* add logo
* convert to png
* Add files via upload
* add jupyter notebooks
* add swagger endpoint for pcap parsing
* add simple pcap/tcpdump parser
* add pylint
* add build badge
* more for #9
* Fix paths (#16)
* Fix auto build (#15)
* adding contact info
* Add version (#13)
* Added myself to authors and put .DS\_Store in .gitignore file
* Swagger (#10)
* improve ordering on build to see tests
* adds test coverage; closes #5; :100:
* initial example code with tests/docs; closes #3
* formatting
* add stubbed documentation, closes #1
* adding context to what is being done
* Initial commit
