diff options
| author | Soren Hansen <soren@linux2go.dk> | 2011-01-07 14:00:49 +0100 |
|---|---|---|
| committer | Soren Hansen <soren@linux2go.dk> | 2011-01-07 14:00:49 +0100 |
| commit | 9b35abf29438600ff8a8a91226000e7ea11ca534 (patch) | |
| tree | fc929a986ff2dfc8c38a4f20f29ce22d07d91857 | |
| parent | ada65e007e4511f63efcbfa94e51d2d41af1d315 (diff) | |
| parent | 8cdfdd14a03e1356cda4fcbdfbcc528bc7f397bd (diff) | |
| download | nova-9b35abf29438600ff8a8a91226000e7ea11ca534.tar.gz nova-9b35abf29438600ff8a8a91226000e7ea11ca534.tar.xz nova-9b35abf29438600ff8a8a91226000e7ea11ca534.zip | |
Merge version stuff
| -rw-r--r-- | doc/source/conf.py | 8 | ||||
| -rw-r--r-- | nova/log.py | 17 | ||||
| -rw-r--r-- | nova/tests/test_log.py | 9 | ||||
| -rw-r--r-- | nova/version.py | 35 | ||||
| -rw-r--r-- | setup.py | 39 |
5 files changed, 90 insertions, 18 deletions
diff --git a/doc/source/conf.py b/doc/source/conf.py index 8f1b370cc..61b3749d0 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -60,10 +60,12 @@ copyright = u'2010, United States Government as represented by the Administrator # |version| and |release|, also used in various other places throughout the # built documents. # -# The short X.Y version. -version = '2011.1' +import re +from nova import version as nova_version # The full version, including alpha/beta/rc tags. -release = '2011.1-prerelease' +release = nova_version.string() +# The short X.Y version. +version = re.sub(r'-dev$', '', nova_version.string()) # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/nova/log.py b/nova/log.py index 97472b20b..5851bd224 100644 --- a/nova/log.py +++ b/nova/log.py @@ -34,24 +34,19 @@ import logging.handlers import traceback from nova import flags -# TODO(todd): fix after version.py merge -# from nova import version +from nova import version FLAGS = flags.FLAGS -# TODO(todd): fix after version.py merge -# '(%(name)s %(nova_version)s): %(levelname)s ' flags.DEFINE_string('logging_context_format_string', - '(%(name)s): %(levelname)s ' + '(%(name)s %(nova_version)s): %(levelname)s ' '[%(request_id)s %(user)s ' '%(project)s] %(message)s', 'format string to use for log messages') -# TODO(todd): fix after version.py merge -# '(%(name)s %(nova_version)s): %(levelname)s [N/A] ' flags.DEFINE_string('logging_default_format_string', - '(%(name)s): %(levelname)s [N/A] ' + '(%(name)s %(nova_version)s): %(levelname)s [N/A] ' '%(message)s', 'format string to use for log messages') @@ -74,7 +69,6 @@ flags.DEFINE_bool('use_syslog', False, 'output to syslog') flags.DEFINE_string('logfile', None, 'output to named file') - # A list of things we want to replicate from logging. # levels CRITICAL = logging.CRITICAL @@ -112,7 +106,7 @@ def _dictify_context(context): return None if not isinstance(context, dict) \ and getattr(context, 'to_dict', None): - context = context.to_dict() + context = context.to_dict() return context @@ -163,8 +157,7 @@ class NovaLogger(logging.Logger): extra = {} if context: extra.update(_dictify_context(context)) - # TODO(todd): fix after version.py merge - #extra.update({"nova_version": version.string_with_vcs()}) + extra.update({"nova_version": version.string_with_vcs()}) logging.Logger._log(self, level, msg, args, exc_info, extra) def addHandler(self, handler): diff --git a/nova/tests/test_log.py b/nova/tests/test_log.py index d8dd38708..beb1d97cf 100644 --- a/nova/tests/test_log.py +++ b/nova/tests/test_log.py @@ -35,15 +35,16 @@ class RootLoggerTestCase(test.TrialTestCase): def test_handles_context_kwarg(self): self.log.info("foo", context=_fake_context()) - self.assert_(True) # didn't raise exception + self.assert_(True) # didn't raise exception def test_module_level_methods_handle_context_arg(self): log.info("foo", context=_fake_context()) - self.assert_(True) # didn't raise exception + self.assert_(True) # didn't raise exception def test_module_level_audit_handles_context_arg(self): log.audit("foo", context=_fake_context()) - self.assert_(True) # didn't raise exception + self.assert_(True) # didn't raise exception + class NovaFormatterTestCase(test.TrialTestCase): def setUp(self): @@ -76,6 +77,7 @@ class NovaFormatterTestCase(test.TrialTestCase): self.log.debug("baz") self.assertEqual("NOCTXT: baz --DBG\n", self.stream.getvalue()) + class NovaLoggerTestCase(test.TrialTestCase): def setUp(self): super(NovaLoggerTestCase, self).setUp() @@ -93,6 +95,7 @@ class NovaLoggerTestCase(test.TrialTestCase): l = log.getLogger('nova-test.foo') self.assertEqual(log.AUDIT, l.level) + class VerboseLoggerTestCase(test.TrialTestCase): def setUp(self): super(VerboseLoggerTestCase, self).setUp() diff --git a/nova/version.py b/nova/version.py new file mode 100644 index 000000000..fc14b8401 --- /dev/null +++ b/nova/version.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python +"""This file is automatically generated by generate_version_info +It uses the current working tree to determine the revision. +So don't edit it. :) +""" + +version_info = {'branch_nick': u'LOCALBRANCH', 'revision_id': 'LOCALREVISION', + 'revno': 0} + +revisions = {} + +file_revisions = {} + + +if __name__ == '__main__': + print 'revision: %(revno)d' % version_info + print 'nick: %(branch_nick)s' % version_info + print 'revision id: %(revision_id)s' % version_info + +# below this line automatically generated by setup.py + +YEAR = '2011' +COUNT = '1-dev' + + +def string(): + return '.'.join([YEAR, COUNT]) + + +def vcs_version_string(): + return "%s:%s" % (version_info['branch_nick'], version_info['revision_id']) + + +def string_with_vcs(): + return "%s-%s" % (string(), vcs_version_string()) @@ -25,6 +25,45 @@ from sphinx.setup_command import BuildDoc from nova.utils import parse_mailmap, str_dict_replace +NOVA_VERSION = ['2011', '1'] + +VERSIONFILE_DEFAULT_VCS_VERSION = """ +version_info = {"branch_nick": "LOCALBRANCH", "revision_id": "LOCALREVISION"} +""" + +VERSIONFILE_DATA = """ +# below this line automatically generated by setup.py + +YEAR = %r +COUNT = %r +""" % (NOVA_VERSION[0], NOVA_VERSION[1]) + + +VERSIONFILE_DATA += """ + +def string(): + return '.'.join([YEAR, COUNT]) + + +def vcs_version_string(): + return "%s:%s" % (version_info['branch_nick'], version_info['revision_id']) + + +def string_with_vcs(): + return "%s-%s" % (string(), vcs_version_string()) +""" + +with open("nova/version.py", 'w') as version_file: + if os.path.isdir('.bzr'): + vcs_cmd = subprocess.Popen(["bzr", "version-info", "--python"], + stdout=subprocess.PIPE) + vcsversion = vcs_cmd.communicate()[0] + version_file.write(vcsversion) + else: + version_file.write(VERSIONFILE_DEFAULT_VCS_VERSION) + version_file.write(VERSIONFILE_DATA) + + class local_BuildDoc(BuildDoc): def run(self): for builder in ['html', 'man']: |
