CHANGES ======= 3.16.0 ------ * Fix mask_dict_password for non string/dict type key in dict * 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