summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.zuul.yaml7
-rw-r--r--barbicanclient/barbican.py30
-rw-r--r--doc/requirements.txt3
-rw-r--r--lower-constraints.txt73
-rw-r--r--requirements.txt2
-rw-r--r--test-requirements.txt4
-rw-r--r--tox.ini9
7 files changed, 125 insertions, 3 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
new file mode 100644
index 0000000..67a39c4
--- /dev/null
+++ b/.zuul.yaml
@@ -0,0 +1,7 @@
+- project:
+ check:
+ jobs:
+ - openstack-tox-lower-constraints
+ gate:
+ jobs:
+ - openstack-tox-lower-constraints
diff --git a/barbicanclient/barbican.py b/barbicanclient/barbican.py
index e26eb34..a462f1d 100644
--- a/barbicanclient/barbican.py
+++ b/barbicanclient/barbican.py
@@ -46,6 +46,13 @@ _IDENTITY_API_VERSION_3 = ['3']
class Barbican(app.App):
"""Barbican command line interface."""
+ # verbose logging levels
+ WARNING_LEVEL = 0
+ INFO_LEVEL = 1
+ DEBUG_LEVEL = 2
+ CONSOLE_MESSAGE_FORMAT = '%(message)s'
+ DEBUG_MESSAGE_FORMAT = '%(levelname)s: %(name)s %(message)s'
+
def __init__(self, **kwargs):
self.client = None
@@ -328,6 +335,9 @@ class Barbican(app.App):
"""
self.client_manager = namedtuple('ClientManager', 'key_manager')
if cmd.auth_required:
+ # NOTE(liujiong): cliff sets log level to DEBUG in run function,
+ # need to overwrite this configuration to depress DEBUG messages.
+ self.configure_logging()
self.client_manager.key_manager = self.create_client(self.options)
def run(self, argv):
@@ -337,6 +347,26 @@ class Barbican(app.App):
return 1
return super(Barbican, self).run(argv)
+ def configure_logging(self):
+ """Create logging handlers for any log output."""
+ root_logger = logging.getLogger('')
+ # Set log level to INFO
+ root_logger.setLevel(logging.INFO)
+
+ # Send higher-level messages to the console via stderr
+ console = logging.StreamHandler(self.stderr)
+ console_level = {self.WARNING_LEVEL: logging.WARNING,
+ self.INFO_LEVEL: logging.INFO,
+ self.DEBUG_LEVEL: logging.DEBUG,
+ }.get(self.options.verbose_level, logging.INFO)
+ if logging.DEBUG == console_level:
+ formatter = logging.Formatter(self.DEBUG_MESSAGE_FORMAT)
+ else:
+ formatter = logging.Formatter(self.CONSOLE_MESSAGE_FORMAT)
+ console.setFormatter(formatter)
+ root_logger.addHandler(console)
+ return
+
def main(argv=sys.argv[1:]):
logging.basicConfig()
diff --git a/doc/requirements.txt b/doc/requirements.txt
index d3348d6..827758f 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,2 +1,5 @@
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
openstackdocstheme>=1.18.1 # Apache-2.0
diff --git a/lower-constraints.txt b/lower-constraints.txt
new file mode 100644
index 0000000..7876b87
--- /dev/null
+++ b/lower-constraints.txt
@@ -0,0 +1,73 @@
+appdirs==1.3.0
+asn1crypto==0.23.0
+Babel==2.3.4
+cffi==1.7.0
+cliff==2.8.0
+cmd2==0.8.0
+coverage==4.0
+cryptography==2.1
+debtcollector==1.2.0
+decorator==3.4.0
+deprecation==1.0
+dogpile.cache==0.6.2
+extras==1.0.0
+fixtures==3.0.0
+flake8==2.5.5
+hacking==0.12.0
+idna==2.6
+iso8601==0.1.11
+jmespath==0.9.0
+jsonpatch==1.16
+jsonpointer==1.13
+jsonschema==2.6.0
+keystoneauth1==3.4.0
+linecache2==1.0.0
+mccabe==0.2.1
+mock==2.0.0
+monotonic==0.6
+mox3==0.20.0
+msgpack-python==0.4.0
+munch==2.1.0
+netaddr==0.7.18
+netifaces==0.10.4
+nose==1.3.7
+openstacksdk==0.11.2
+os-client-config==1.28.0
+os-service-types==1.2.0
+osc-lib==1.8.0
+oslo.config==5.2.0
+oslo.i18n==3.15.3
+oslo.serialization==2.18.0
+oslo.utils==3.33.0
+oslotest==3.2.0
+pbr==2.0.0
+pep8==1.5.7
+positional==1.2.1
+prettytable==0.7.2
+pycparser==2.18
+pyflakes==0.8.1
+pyOpenSSL==17.1.0
+pyparsing==2.1.0
+pyperclip==1.5.27
+python-cinderclient==3.3.0
+python-glanceclient==2.8.0
+python-keystoneclient==3.8.0
+python-mimeparse==1.6.0
+python-novaclient==9.1.0
+python-openstackclient==3.12.0
+python-subunit==1.0.0
+pytz==2013.6
+PyYAML==3.12
+requests==2.14.2
+requests-mock==1.2.0
+requestsexceptions==1.2.0
+rfc3986==0.3.1
+simplejson==3.5.1
+six==1.10.0
+stevedore==1.20.0
+testrepository==0.0.18
+testtools==2.2.0
+traceback2==1.4.0
+unittest2==1.1.0
+warlock==1.2.0
+wrapt==1.7.0
diff --git a/requirements.txt b/requirements.txt
index 2b0e705..aab6108 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,7 +5,7 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
requests>=2.14.2 # Apache-2.0
six>=1.10.0 # MIT
cliff!=2.9.0,>=2.8.0 # Apache-2.0
-keystoneauth1>=3.3.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
oslo.i18n>=3.15.3 # Apache-2.0
oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
oslo.utils>=3.33.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 193d070..71f8127 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4,11 +4,11 @@
coverage!=4.4,>=4.0 # Apache-2.0
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
-requests-mock>=1.1.0 # Apache-2.0
+requests-mock>=1.2.0 # Apache-2.0
mock>=2.0.0 # BSD
testrepository>=0.0.18 # Apache-2.0/BSD
testtools>=2.2.0 # MIT
oslotest>=3.2.0 # Apache-2.0
nose>=1.3.7 # LGPL
-oslo.config>=5.1.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
python-openstackclient>=3.12.0 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index a69b875..8c3f43c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -12,7 +12,9 @@ deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
+
commands =
+ rm -f .testrepository/times.dbm
coverage erase
python setup.py testr --coverage --testr-args='{posargs}'
coverage report -m
@@ -43,3 +45,10 @@ commands = nosetests {toxinidir}/functionaltests/{posargs} -v
ignore = H202
show-source = True
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
+
+[testenv:lower-constraints]
+basepython = python3
+deps =
+ -c{toxinidir}/lower-constraints.txt
+ -r{toxinidir}/test-requirements.txt
+ -r{toxinidir}/requirements.txt