The repo is Python 3 now, so update hacking to version 3.0 which
supports Python 3.
Fix problems found by updated hacking version.
Remove hacking and friends from lower-constraints, they are not needed
there.
Change-Id: I013b73347ed56c8c64a8aff73ec60ea738bc0c76
html_last_updated_fmt option is interpreted as a
byte string in python3, causing Sphinx build to break.
This patch makes it utf-8 string.
Changing Popen to .check_output because of 3 reasons:
1. check_output() will raise CalledProcessError if
the called process returns a non-zero return code.
2. For consistency with keystone [1] and cinder [2]
3. It makes the code look much better.
[1] https://review.openstack.org/#/c/457142/
[2] https://review.openstack.org/#/c/433081
Change-Id: I8d02c971d5b906ddbf58961c8544ecbcb9d01634
Following commits accomplishes several things:
* unit tests run with ostestr
* coverage calculation
* documentation generated using OS approach & theme
* bandit linting
Change-Id: I6c3b48805c237f0ad95220b90ff66b045c7478fb