This is a squash of 4 commits backported from 1.0 and adapted to work
against the stable release of ARA:
- Instanciate the configuration loading into classes
- Refactor configuration
- Import ARA configuration and views "just-in-time"
- The callback no longer persists a json file to cache the playbook id
for the purpose of ara_record and ara_read, this is instead done
in-memory in a new _cache key of the flask application context.
In summary:
- ARA now ships a default (and vastly improved!) logging configuration
- Flask context_processors, filters and errorhandlers have been folded
back into the webapp module
- The configuration has been exploded into submodules that are
instanciated on a need basis rather than imported.
- Since the configuration is now instanciated, this resolves issues
with the configuration "leaking" into what was thought to be
different processes/forks/instances of the ARA application.
Parts of the configuration are now loaded/imported/instanciated
"just in time" because we do not need to load and configure all the
components all the time.
For example, if we're working with an application context, we don't
want to re-import/re-configure everything.
(cherry picked from commit 0db256a7b0)
(cherry picked from commit e34ee7ff29)
(cherry picked from commit 2c418edee5)
(cherry picked from commit 71ef323675)
Change-Id: Ifee5ec6d1251cd6d0c6933b7c9c371cf43591213