CHANGES¶
Update TOX_CONSTRAINTS_FILE for stable/2024.1
Update .gitreview for stable/2024.1
7.1.0¶
add <range-in> spec DSL operator
reno: Update master for unmaintained/yoga
pre-commit: Integrate bandit
pre-commit: Bump versions
Bump hacking
7.0.0¶
Update python classifier in setup.cfg
Python-3.12: do not use datetime.datetime.utcnow()
Require pytz only in Python < 3.9
6.3.0¶
versionutil: Remove trailing alpha/beta/rc suffix
Fix missing PyYAML dependency
Mask chapsecret
Imported Translations from Zanata
Update master for stable/2023.2
6.2.1¶
Imported Translations from Zanata
6.2.0¶
Replace deprecated assertAlmostEquals method
strutils: update string_to_bytes
Add netutils.get_my_ipv6()
Bump bandit
Fix compatibility with Python 3.8
Remove reference to monotonic on PyPI
Revert “Moves supported python runtimes from version 3.8 to 3.10”
Moves supported python runtimes from version 3.8 to 3.10
Update units for current SI prefixes
Implement zoneinfo support to drop dependency to pytz
Use the new openstack-python3-jobs template
Remove strict from is_same_callback()
Update master for stable/2023.1
6.1.0¶
[imageutils] Fix __str__ for QemuImgInfo
Imported Translations from Zanata
Add Python3 antelope unit tests
Update master for stable/zed
6.0.1¶
Imported Translations from Zanata
Imported Translations from Zanata
6.0.0¶
5.0.0¶
bindep: Use Python 3 devel packages
Remove deprecated helpers from oslo_utils.timeutils
Remove oslo_utils.fnmatch
requirements: Remove explicit pbr dependency
strutils: Defer import of pyparsing
Drop python3.6/3.7 support in testing runtime
Remove unnecessary unicode prefixes
4.13.0¶
fix strutils password regex
Add Python3 zed unit tests
Update master for stable/yoga
4.12.2¶
Fix formatting of release list
4.12.1¶
Fix regex used to mask password
Update python testing classifier
Use LOG.warning instead of deprecated LOG.warn
4.12.0¶
Add backing file format to the output
4.11.0¶
Add Python3 yoga unit tests
Update master for stable/xena
QemuImgInfo: Fix inconsistent value format of encrypted
setup.cfg: Replace dashes with underscores
Changed minversion in tox to 3.18.0
4.10.0¶
Modify UUID sentinel to support keystone-like UUIDs
4.9.2¶
QemuImgInfo: Skip deprecation warning when output is not passed
Drop warnings enable filter
4.9.1¶
Remove references to ‘sys.version_info’
Deprecate the fnmatch module
Deprecate the human format on QemuImgInfo
Ussuri+ is python3 only and update python to python3
Dropping lower constraints testing
4.9.0¶
Drop lower-constraints
Move flake8 as a pre-commit local target
Add Python3 xena unit tests
Update master for stable/wallaby
4.8.0¶
Add a ``strict`` flag allowing users to restrict validation of IPv4 format
Address nits from six removal patch
Switch to collections.abc.*
Use TOX_CONSTRAINTS_FILE
Dropping lower constraints testing
strutils: Stop masking encryption_key_id
Use TOX_CONSTRAINTS_FILE
Use py3 as the default runtime for tox
Remove all usage of six library
4.7.0¶
Add function to encapsule md5 for FIPS systems
Add Python3 wallaby unit tests
Update master for stable/victoria
Adding pre-commit
4.6.0¶
[goal] Migrate testing to ubuntu focal
Add Python3 victoria unit tests
Fix is_same_callback() testing for python3.8
4.5.0¶
Add util methods for checking json and yaml formatted file
Bump bandit version
4.4.0¶
4.3.0¶
versionutils: switch from pkg_resources to packaging
New method in netutils: get_mac_addr_by_ipv6
4.2.2¶
Fix uuidsentinel to follow getattr protocol
4.2.1¶
Release greenthread when computing checksum
Fix pygments style
4.2.0¶
Stop to use the __future__ module
Fix hacking min version to 3.0.1
Switch to newer openstackdocstheme and reno versions
Remove the unused coding style modules
Remove translation sections from setup.cfg
Remove monotonic usage
Align contributing doc with oslo’s policy
Imported Translations from Zanata
Add release notes links to doc index
Update master for stable/ussuri
4.1.1¶
Update hacking for Python3
Use unittest.mock instead of third party mock
tox: Use upper-constraints for docs jobs
4.1.0¶
Add test to check scientific notation on disk virtual size
tests: Convert remaining tests to mock
Flatten test case
Fix regex to correctly recognize scientific notation with QemuImgInfo
imageutils: Report format specific details when using JSON output format
4.0.1¶
remove outdated header
Remove universal wheel configuration
reword releasenote for py27 support dropping
4.0.0¶
[ussuri][goal] Drop python 2.7 support and testing
tox: Trivial cleanup
Ignore releasenote cache within git untracked files
trivial: Move setup code into setUp helper
3.42.1¶
Verify the sanitize keys are lowered
Fix invalid escapes in regular expression strings
Ignore the .eggs directory
Make mask_dict_password case insensitive and add new patterns
Bump the openstackdocstheme extension to 1.20
3.42.0¶
Make mask_password case insensitive, and add new patterns
tox: Keeping going with docs
Switch to Ussuri jobs
Update the constraints url
Support “qemu-img info” virtual size in QEMU 4.1 and later
Update master for stable/train
3.41.1¶
Add digestmod when using hmac
Add Python 3 Train unit tests
Cap Bandit below 1.6.0 and update Sphinx requirement
Replace git.openstack.org URLs with opendev.org URLs
3.41.0¶
OpenDev Migration Patch
Dropping the py35 testing
Update master for stable/stein
3.40.3¶
add python 3.7 unit test job
Update hacking version
Mask encryption_key_id
eventletutils: Optimise EventletEvent.clear()
3.40.2¶
Avoid double-setting event
3.40.1¶
3.40.0¶
3.39.1¶
Avoid calling eventlet.event.Event.reset()
Use template for lower-constraints
3.39.0¶
Fix race condition in eventletutils Event
Don’t use monotonic on Python >=3.3
Update mailinglist from dev to discuss
Support non-dict mappings in mask_dict_password
3.38.0¶
Expose eventlet Event wrapper class
Clean up .gitignore references to personal tools
3.37.1¶
Fix exception raise at rpdb session
3.37.0¶
Fix docstring formatting nit in uuidsentinel
UUID sentinel
Remove moxstubout usage
add lib-forward-testing-python3 test job
add python 3.6 unit test job
import zuul job settings from project-config
Update reno for stable/rocky
Remove extra copy.deepcopy
3.36.4¶
Handle non-string keys appropriately
Switch to stestr
Add release notes link to README
3.36.3¶
fix tox python3 overrides
Fix exception with secretutils
3.36.2¶
Add private_key to the list of sanitized keys
Remove stale pip-missing-reqs tox test
Capitalize Oslo
3.36.1¶
Trivial: Update pypi url to new url
set default python to python3
eventletutils: Fix behavior discrepency when reusing Events
Fix project name in user docs
add lower-constraints job
Clean old output before new doc builds
Remove sphinx settings from setup.cfg
Add bindep.txt file to prevent fallback to generic list
Updated from global requirements
3.36.0¶
Add -W for document build
Imported Translations from Zanata
Update links in README
Imported Translations from Zanata
Fix breaking unit tests due to iso8601 changes
Document specs_matcher.py functions
Clean imports in code
Update reno for stable/queens
Updated from global requirements
Replace ‘assertFalse(a in b)’ with ‘assertNotIn(a, b)’
Updated from global requirements
Updated from global requirements
3.35.0¶
3.34.0¶
Updated from global requirements
Cleanup test-requirements
improve docstring for last_bytes()
Add method last_bytes in fileutils
Follow the new PTI for document build
Add missing information in docstring of validate_integer
3.33.0¶
3.32.0¶
Avoid tox_install.sh for constraints support
Updated from global requirements
Remove setting of version/release from releasenotes
Updated from global requirements
3.31.0¶
Add method to compute a file’s checksum to fileutils
Imported Translations from Zanata
Add method validate_integer
3.30.0¶
Updated from global requirements
Use six.binary_type to point to the right type
Add a mixed mode parser to string_to_bytes
Updated from global requirements
Fix some reST field lists in docstrings
3.29.0¶
Imported Translations from Zanata
Add method to escape ipv6 ip addresses
Updated from global requirements
Update reno for stable/pike
Updated from global requirements
Prevent deprecation error messages from pkg_resources
3.28.0¶
Update URLs in documents according to document migration
3.27.0¶
rearrange existing documentation to fit the new standard layout
switch from oslosphinx to openstackdocstheme
Updated from global requirements
Updated from global requirements
3.26.0¶
Updated from global requirements
Updated from global requirements
Updated from global requirements
Updated from global requirements
3.25.1¶
Updated from global requirements
Remove split conversion to tuple
Updated from global requirements
3.25.0¶
Remove log translations
3.24.0¶
Use Sphinx 1.5 warning-is-error
Updated from global requirements
Adding a check of string type for hmacs
3.23.0¶
Updated from global requirements
[Fix gate]Update test requirement
Add missing documentation for secretutils
Updated from global requirements
Updated from global requirements
Update reno for stable/ocata
3.22.0¶
Remove references to Python 3.4
Added the token ‘encrypted_key’ to mask_password list
Add Constraints support
3.21.0¶
Allow ‘get_all_class_names’ to pass kwargs
3.20.0¶
Add toggle ‘dashed’ to ‘generate_uuid’ function
Show team and repo badges on README
3.19.0¶
Updated from global requirements
Improve eventlet check when selecting Event backend
Updated from global requirements
3.18.0¶
Add option to not truncate built-ins
Create dictutils and add ‘flatten_dict_to_keypairs’
Updated from global requirements
Add reno for release notes management
Allow scoped ipv6 addresses
Trivial fixes to the usage doc
Add threading<->eventlet compatible Event
Updated from global requirements
[TrivialFix] Replace ‘assertEqual(None, …)’ with ‘assertIsNone(…)’
3.17.0¶
Add method is_valid_mac
Add __ne__ built-in function
Make method import_versioned_module work
Change assertTrue(isinstance()) by optimal assert
doc: Fix docstring of method bool_from_string
Change assertTrue(isinstance()) by optimal assert
Add method is_valid_boolstr
Add method is_valid_ipv6_cidr
Updated from global requirements
Updated from global requirements
Add missing specs_matcher documentation
Update homepage with developer documentation page
Updated from global requirements
Updated from global requirements
Add utils for validating and splitting quotes
Updated from global requirements
Extend specs matcher to support “>” and “<”
Remove discover from test-requirements
3.16.0¶
Fix mask_dict_password for non string/dict type key in dict
Restore <all-in> operator
More unit tests for specs matcher
Imported Translations from Zanata
Add Python 3.5 classifier and venv
Use an actual well defined parser for spec matching
Remove unused LOG to keep code clean
Updated from global requirements
3.15.0¶
Add basic docstrings to stopwatch has_started/stopped methods
Make mask_dict_password consistent with mask_password
Updated from global requirements
improve tests for mask_password and mask_dict_password
Simplify boolean expression in executils.py
3.14.0¶
Support json format output from qemu command
Fix flake8 issues
Use is_valid_ipv4 in get_ipv6_addr_by_EUI64
Imported Translations from Zanata
3.13.0¶
Allow assigning “0” to port
3.12.0¶
Updated from global requirements
Fix method split_path’s docstring ‘versionadded’
Updated from global requirements
Updated from global requirements
Avoid catching generic exception
Remove method total_seconds in timeuitls
Fix is_valid_cidr raises TypeError
3.11.0¶
Trivial: ignore openstack/common in flake8 exclude list
Move method split_path into oslo.utils
3.10.0¶
Imported Translations from Zanata
Updated from global requirements
Move nova extra_specs_ops to oslo.utils
3.9.0¶
Imported Translations from Zanata
Provide single step check if eventlet is monkey_patched
Add method is_valid_cidr to netutils
Updated from global requirements
Updated from global requirements
Add importutils.import_any method
Add excutils.exception_filter
Explicitly exclude tests from bandit scan
Add CHAPPASSWORD to list of sanitize keys
Enable bandit in gate
Updated from global requirements
3.7.0¶
Add method check_string_length
Add missing versionchanged for configdrive
3.6.0¶
3.5.0¶
Updated from global requirements
Imported Translations from Zanata
Remove bandit.yaml in favor of defaults
Updated from global requirements
Narrow mock for getfilesystemencoding
Update translation setup
Revert “Use assertTrue/False instead of assertEqual(T/F)”
Updated from global requirements
Updated from global requirements
Add excutils.save_and_reraise_exception force_reraise + capture
Add encodeutils.to_utf8() function
Create secretutils and include ‘constant_time_compare’ function
Fix coverage
Imported Translations from Zanata
Updated from global requirements
3.4.0¶
Updated from global requirements
Use assertTrue/False instead of assertEqual(T/F)
Add a mechanism to mask passwords in dictionaries
Add “configdrive” to the list of keys used by mask_password()
assertIsNone(val) instead of assertEqual(None,val)
3.3.0¶
Fix DeprecationWarning when call method delta_seconds
fix fnmatch.filter in non-posix system
fix fileutils ut code random failure
Add missing doc index for imageutils and fnmatch
re-implement thread safe fnmatch
Fix the bug of can’t get the desired image info
3.2.0¶
Revert “Move netifaces to extras”
Remove Babel from requirements
3.1.0¶
Remove duplicated profiles section from bandit.yaml
Allow get_class_name to accept bound method and class method
deprecate timeutils.total_seconds()
Move imageutils from oslo-incubator to oslo.utils
add comment explaining why we don’t want extra values passed to mask_password
networkutils: drop python 2.6 support
Remove ‘MANIFEST.in’
Move netifaces to extras
3.0.0¶
Add a bandit target to tox.ini
Updated from global requirements
Remove python 2.6 classifier
Fix wrong bug tracking link
Remove python 2.6 and cleanup tox.ini
Refactor Port number validation
Add useful ‘time_it’ decorator
2.8.0¶
Fix get_class_name() on Python 3
Added ICMP ‘type’ and ‘code’ checking capability to ‘netutils’ module
Updated from global requirements
Imported Translations from Zanata
comment in write_to_tempfile
Use versionadded and versionchanged in doc
2.7.0¶
Expose function signature fetching function
Allow ‘forever_retry_uncaught_exceptions’ to take in different defaults
Write document for each unit of oslo_utils.utils
Fix usage of “deprecated” markup in docstrings
Just use ‘exception_to_unicode’ to handle exception to string
Add ‘secret’ to sensitive keys
2.6.0¶
Fix coverage configuration and execution
Use a stopwatch in ‘forever_retry_uncaught_exceptions’
No need for Oslo Incubator Sync
Make forever_retry_uncaught_exceptions handle its own failures
Ensure stopwatch __enter__, __exit__ are in docs
Add some timeutils stop watch examples
Imported Translations from Zanata
Move ‘history’ -> release notes section
Fix bad acting classes and ‘is_bound_method’ check
Change ignore-errors to ignore_errors
Updated from global requirements
If ‘bool_from_string’ provided a boolean just return it
Imported Translations from Zanata
only capture the ImportError when importing
Add ‘token’ to list of fields to be santized by mask_password
2.5.0¶
Updated from global requirements
Imported Translations from Transifex
Updated from global requirements
Updated from global requirements
2.4.0¶
2.3.0¶
Updated from global requirements
Update docstring on stop watch to reflect monotonic lib. usage
Updated from global requirements
flake8 - remove unused rules
Bump monotonic to 0.3 to remove exception catching on import
Provide a common exception caused by base class
Imported Translations from Transifex
Allow access to reflection ‘get_members’
Updated from global requirements
2.2.0¶
Imported Translations from Transifex
Updated from global requirements
2.1.0¶
Imported Translations from Transifex
Updated from global requirements
Adding checking around the monotonic import
2.0.0¶
Updated from global requirements
Updated from global requirements
Add oslo.config to test requirements
Remove oslo namespace package
Updated from global requirements
1.9.0¶
Updated from global requirements
versionutils: add version convert helper methods
Imported Translations from Transifex
Add write_to_tempfile back to fileutils
Use monotonic library to avoid finding monotonic time function
Fix exception_to_unicode() for oslo_i18n Message
1.8.0¶
Add fileutils to oslo_utils
Updated from global requirements
Add tox target to find missing requirements
1.7.0¶
Updated from global requirements
Updated from global requirements
Switch badges from ‘pypip.in’ to ‘shields.io’
timeutils: fix newer/older comparison with TZ aware datetime
Replace parse_strtime with parse_isotime in older/newer
1.6.0¶
Add pytz to requirements
Deprecate strtime
Imported Translations from Transifex
timeutils: utcnow() can return a value with a timezone
Add ‘raise_with_cause’ chaining helper to excutils
timeutils: deprecate isotime()
timeutils: make marshall timezone aware
Advertise support for Python3.4 / Remove support for Python 3.3
Updated from global requirements
Add exception_to_unicode() function
Remove run_cross_tests.sh
Imported Translations from Transifex
Move versionutils into place and remove deprecation tools
Denote monotonic import ordering + usage
1.5.0¶
Add liberty release name to versionutils
Expose opts entry point for version_utils
Switch from oslo.config to oslo_config
Remove oslo.log code and clean up versionutils API
Remove code that moved to oslo.i18n
Enhance versionutils.deprecated to work with classes
Add Kilo release name to versionutils
Allow deprecated decorator to specify no plan for removal
Uncap library requirements for liberty
Add JUNO as a target to versionutils module
Add missing reflection + uuidutils docs
timeutils: avoid passing leap second to datetime
Add pypi download + version badges
Cleanup README.rst and setup.cfg
pep8: fixed multiple violations
Use oslotest instead of common test module
Use hacking import_exceptions for gettextutils._
fixed typos
Fix violations of H302:import only modules
Adds decorator to deprecate functions and methods
Remove vim header
Add `versionutils` for version compatibility checks
Update hacking setting
Updated from global requirements
Imported Translations from Transifex
Clean up TestIsIPv6Enabled
Fix test_netutils: stop patches
Add a new string to the list of masked patterns
Provide common `fetch_current_thread_functor` function
Imported Translations from Transifex
1.4.0¶
Add a stopwatch + split for duration(s)
Allow providing a logger to save_and_reraise_exception
Updated from global requirements
Utility API to generate EUI-64 IPv6 address
1.3.0¶
Add a eventlet utils helper module
Add microsecond support to iso8601_from_timestamp
add dependency warning to requirements.txt
Updated from global requirements
Update Oslo imports to remove namespace package
Add TimeFixture
Add microsecond support to timeutils.utcnow_ts()
Make setup.cfg packages include oslo.utils
1.2.1¶
Return LOCALHOST if no default interface
fix link to bug tracker in README
1.2.0¶
Improve performance of strutils.mask_password
Move files out of the namespace package
Add method is_valid_port in netutils
Support non-lowercase uuids in is_uuid_like
Add ‘secret_uuid’ in _SANITIZE_KEYS for strutils
Imported Translations from Transifex
Workflow documentation is now in infra-manual
1.1.0¶
Improve error reporting in _get_my_ipv4_address()
Add get_my_ip()
Updated from global requirements
Add ‘auth_password’ in _SANITIZE_KEYS for strutils
Updated from global requirements
Activate pep8 check that _ is imported
Add uuidutils to oslo.utils
Add pbr to installation requirements
Updated from global requirements
Add is_int_like() function
Hide auth_token and new_pass
Imported Translations from Transifex
Add history/changelog to docs
Imported Translations from Transifex
Support building wheels (PEP-427)
Imported Translations from Transifex
Improve docstrings for IP verification functions
Imported Translations from Transifex
Add ip address validation
Fix how it appears we need to use mock_anything to avoid ‘self’ errors
Updated from global requirements
Move over a reflection module that taskflow uses
Make safe_encode func case-insensitive
Enable mask_password to handle byte code strings
Updated from global requirements
1.0.0¶
Imported Translations from Transifex
Add the ability to extract the query params from a urlsplit
Work toward Python 3.4 support and testing
warn against sorting requirements
Remove unused dependency on oslo.config
Updated from global requirements
Just use int(BOOL) to convert to 1 or 0
Re-enable _import* hidden methods in import_utils
0.2.0¶
Make strutils.mask_password more secure
New public API for mask_password ported from incubator
Imported Translations from Transifex
0.1.1¶
Make return type from urlsplit private
Add API docs and clean up other docs
Make the i18n integration module private
Cleaning up index.rst file
export only try_import in __all__
Switch to oslo.i18n and remove any dependency on oslo-incubator
Move units into oslo.utils
Switch to standard python logging
Setup for translation
Split strutils into 2 different modules
Rename network_utils into netutils
get pep8 working
Get the tox tests working
exported from oslo-incubator by graduate.sh
Fixed a new pep8 error and a small typo
Set pbr ‘warnerrors’ option for doc build
fixed typos found by RETF rules
Use moxstubout and mockpatch from oslotest
Remove ValueError when accessing sys.modules
Enable configuring tcp keepalive
Avoid raising index error when no host
Remove str() from LOG.* and exceptions
Remove import workaround of SplitResult
Use oslotest instead of common test module
Partial fix of test_strutils.py on Python 3
Fix safe_encode(): return bytes on Python 3
urlsplit issues with IPv6 addresses in python26
save_and_reraise_exception: make logging respect the reraise parameter
strutils: Allow safe_{encode,decode} to take bytes as input
Fix import order in test_excutils
Update oslo log messages with translation domains
Implements SI/IEC unit system conversion to bytes
Add basic Python 3 tests
py3kcompat: remove
Deleted duplicated method in cliutils
strutils bool_from_string, allow specified default
Utilizes assertIsNone and assertIsNotNone
Fix spelling errors in comments
Use hacking import_exceptions for gettextutils._
Correct invalid docstrings
Fix a bug in safe_encode where it returns a bytes object in py3
Fix typo in parameter documentation (timeutils)
Avoid TypeError in is_older_than, is_newer_than
Remove vim header
Use py3kcompat urlutils functions instead of urlparse
Add helper method total_seconds in timeutils.py
Do not name variables as builtins
Use six.text_type instead of unicode function in tests
Fix typos in oslo
Adjust import order according to PEP8 imports rule
python3: use six.text_types for unicode()
Don’t shadow str
Fix timeutils.set_override_time not defaulting to current wall time
Fix misused assertTrue in unit tests
Optimize timeutils.utcnow_ts()
excutils: replace unicode by six.u
excutils: use six.reraise to re-raise
Replace using tests.utils part2
Bump hacking to 0.7.0
Replace using tests.utils with openstack.common.test
BaseException.message is deprecated since Python 2.6
Enable H302 hacking check
Add conditional exception reraise
python3: Add python3 compatibility
Make AMQP based RPC consumer threads more robust
Add network_utils.urlsplit
Remove useless logging in networks_utils
python3: Fix traceback while running python3
Refactors to_bytes
Add slugify to strutils
Enable hacking H404 test
Added common code into fileutils and strutils
Enable hacking H402 test
Enable hacking H403 test
Enable hacking H201 test
Add ‘t’, ‘y’, and `strict` to `bool_from_string`
Handle ints passed to `boolean_from_string`
Removes leading zeros on integers in test_timeutils
Convert unicode strings for python3 portability
Do not import openstack.common.log in strutils
Improve Python 3.x compatibility
Replaces standard logging with common logging
Removes unused imports in the tests module
Fix Copyright Headers - Rename LLC to Foundation
support ISO 8601 micro-second precision
Decode / Encode string utils for openstack
timeutils: considers that now is soon
Replace direct use of testtools BaseTestCase
Use testtools as test base class
Import timeutils.is_soon from keystoneclient
UTC ISO8601 from timestamp
Implement importutils.try_import
Use basestring instead of str for type check
Make time comparison functions accept strings
Fix timezone handling in timeutils tests
Rename utils.py to strutils.py
Provide i18n to those messages without _()
Make project pyflakes clean
Account for tasks duration in LoopingCall delay
Convenience wrapper for datetime.timedelta.total_seconds()
Added is_newer_than function
Extracted parse_host_port into network_utils
Normalize_time() always return naive object
Use pep8 v1.3.3
Don’t trap then re-raise ImportError
Fix spelling typos
Support for marshalling datetime while preserving microseconds
Remove unused imports
fix bug lp:1019348,update openstack-common to support pep8 1.3
Use strtime() in to_primitive() for datetime objs
Improve exception from importutils.import_class()
Update common code to support pep 1.3. bug 1014216
add import_object_ns function
add more realistic unit tests for importutils
Fix utcnow_ts to return UTC timestamp
Add nova time util functions to timeutils
Replace datetime.utcnow with timeutils.utcnow
Remove common.exception from common.importutils
Add save_and_reraise_exception()
Update exception from importutils.import_class()
Change behavior in utils.import_object()
Create openstack.common.timeutils
Initial skeleton project