This change updates the functions so that they work with the most up to date
OpenStack SDK, and adds an elasticsearch output format.
Tests have been udpated to pass newer versions of flake8 and py3
Zuul project config has been added
Change-Id: If46d3fb8e2b2e4aa5e21bf7da470945b05d216cf
Signed-off-by: cloudnull <kevin@cloudnull.com>
Currently, if a dependency of one of the os_ plugins is missing,
running monitorstack with no args returns (for example):
```
OpenStack plugins require access to the OpenStackSDK. \
Please install "python-openstacksdk". \
ERROR: No module named keystoneauth1.loading
```
This commit moves the os_utils import in the os_ plugins to within cli,
similar to what is being done in the kvm module. This allows the
monitorstack cli to operate normally even if a plugin cannot be loaded.
Change-Id: I2ff1ad8c6365f6592191f09ea9c0d543f81e16ba
The change implements several fixes so that monitor stack can be run in
OpenStack environments supporting both V2 and V3 authentication.
All of the plugins now have a proper name lookup and will pull from a local
cache instead of hammering the API on every request.
The Local caching functionlaity used to be tied to the python shelve
module. Due to issues with Python 3.5 and shelves the library was
replaced with the diskcache lib which implements a caching interface
supporting both py2.7+.
Tests have been added in support of all additions.
Tests have been added for the os_utils module which should bring it
within ~98% of completeness.
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
The following plugins add a basic OpenStack API framework which is used
to pull metrics for nova vm quotas and usage for RAM, vCPUs, disk, and
instance count.
added codecov.yml
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>