diff --git a/cloudkitty/api/v1/controllers/report.py b/cloudkitty/api/v1/controllers/report.py index dfd4dba4..93ab7120 100644 --- a/cloudkitty/api/v1/controllers/report.py +++ b/cloudkitty/api/v1/controllers/report.py @@ -25,8 +25,8 @@ import wsmeext.pecan as wsme_pecan from cloudkitty.api.v1.datamodels import report as report_models from cloudkitty.common import policy -from cloudkitty import tzutils from cloudkitty import utils as ck_utils +from cloudkitty.utils import tz as tzutils LOG = logging.getLogger(__name__) diff --git a/cloudkitty/api/v1/controllers/storage.py b/cloudkitty/api/v1/controllers/storage.py index 7618fe0e..b33f730f 100644 --- a/cloudkitty/api/v1/controllers/storage.py +++ b/cloudkitty/api/v1/controllers/storage.py @@ -24,7 +24,7 @@ import wsmeext.pecan as wsme_pecan from cloudkitty.api.v1.datamodels import storage as storage_models from cloudkitty.common import policy from cloudkitty import storage -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils CONF = cfg.CONF diff --git a/cloudkitty/api/v2/dataframes/dataframes.py b/cloudkitty/api/v2/dataframes/dataframes.py index e33aeef3..b7440587 100644 --- a/cloudkitty/api/v2/dataframes/dataframes.py +++ b/cloudkitty/api/v2/dataframes/dataframes.py @@ -21,7 +21,7 @@ from cloudkitty.api.v2 import base from cloudkitty.api.v2 import utils as api_utils from cloudkitty.common import policy from cloudkitty import dataframe -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils CONF = cfg.CONF diff --git a/cloudkitty/api/v2/scope/state.py b/cloudkitty/api/v2/scope/state.py index 902c7d5f..ed5be8f7 100644 --- a/cloudkitty/api/v2/scope/state.py +++ b/cloudkitty/api/v2/scope/state.py @@ -21,8 +21,8 @@ from cloudkitty.api.v2 import utils as api_utils from cloudkitty.common import policy from cloudkitty import messaging from cloudkitty import storage_state -from cloudkitty import tzutils -from cloudkitty import validation_utils as vutils +from cloudkitty.utils import tz as tzutils +from cloudkitty.utils import validation as vutils class ScopeState(base.BaseResource): diff --git a/cloudkitty/api/v2/summary/summary.py b/cloudkitty/api/v2/summary/summary.py index ff705037..4bba69f0 100644 --- a/cloudkitty/api/v2/summary/summary.py +++ b/cloudkitty/api/v2/summary/summary.py @@ -18,7 +18,7 @@ import voluptuous from cloudkitty.api.v2 import base from cloudkitty.api.v2 import utils as api_utils from cloudkitty.common import policy -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils class Summary(base.BaseResource): diff --git a/cloudkitty/api/v2/utils.py b/cloudkitty/api/v2/utils.py index 1cc0b5d7..e640cb93 100644 --- a/cloudkitty/api/v2/utils.py +++ b/cloudkitty/api/v2/utils.py @@ -21,7 +21,7 @@ import voluptuous from werkzeug import exceptions from cloudkitty.api import v2 as v2_api -from cloudkitty import json_utils as json +from cloudkitty.utils import json class SingleQueryParam(object): @@ -33,7 +33,7 @@ class SingleQueryParam(object): Note that this validator uses ``voluptuous.Coerce`` internally and thus should not be used together with - ``cloudkitty.validation_utils.get_string_type`` in python2. + ``cloudkitty.utils.validation.get_string_type`` in python2. :param param_type: Type of the query parameter """ @@ -58,7 +58,7 @@ class MultiQueryParam(object): Note that this validator uses ``voluptuous.Coerce`` internally and thus should not be used together with - ``cloudkitty.validation_utils.get_string_type`` in python2. + ``cloudkitty.utils.validation.get_string_type`` in python2. :param param_type: Type of the query parameter """ diff --git a/cloudkitty/collector/gnocchi.py b/cloudkitty/collector/gnocchi.py index fc838b28..3f33e7d8 100644 --- a/cloudkitty/collector/gnocchi.py +++ b/cloudkitty/collector/gnocchi.py @@ -31,8 +31,8 @@ from voluptuous import Schema from cloudkitty import collector from cloudkitty import dataframe -from cloudkitty import tzutils from cloudkitty import utils as ck_utils +from cloudkitty.utils import tz as tzutils LOG = logging.getLogger(__name__) diff --git a/cloudkitty/collector/prometheus.py b/cloudkitty/collector/prometheus.py index 0012dc98..e9d1db88 100644 --- a/cloudkitty/collector/prometheus.py +++ b/cloudkitty/collector/prometheus.py @@ -27,8 +27,8 @@ from cloudkitty.collector.exceptions import CollectError from cloudkitty.common.prometheus_client import PrometheusClient from cloudkitty.common.prometheus_client import PrometheusResponseError from cloudkitty import dataframe -from cloudkitty import tzutils from cloudkitty import utils as ck_utils +from cloudkitty.utils import tz as tzutils LOG = log.getLogger(__name__) diff --git a/cloudkitty/dataframe.py b/cloudkitty/dataframe.py index c4dd4d05..f709d9bb 100644 --- a/cloudkitty/dataframe.py +++ b/cloudkitty/dataframe.py @@ -20,9 +20,9 @@ import functools import voluptuous from werkzeug import datastructures -from cloudkitty import json_utils as json -from cloudkitty import tzutils -from cloudkitty import validation_utils as vutils +from cloudkitty.utils import json +from cloudkitty.utils import tz as tzutils +from cloudkitty.utils import validation as vutils # NOTE(peschk_l): qty and price are converted to strings to avoid # floating-point conversion issues: diff --git a/cloudkitty/orchestrator.py b/cloudkitty/orchestrator.py index 0aca3d22..eec830fa 100644 --- a/cloudkitty/orchestrator.py +++ b/cloudkitty/orchestrator.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2014 Objectif Libre # # Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -40,8 +39,8 @@ from cloudkitty import extension_manager from cloudkitty import messaging from cloudkitty import storage from cloudkitty import storage_state as state -from cloudkitty import tzutils from cloudkitty import utils as ck_utils +from cloudkitty.utils import tz as tzutils LOG = logging.getLogger(__name__) diff --git a/cloudkitty/state.py b/cloudkitty/state.py index a79f26cd..3694a653 100644 --- a/cloudkitty/state.py +++ b/cloudkitty/state.py @@ -14,7 +14,7 @@ # under the License. # from cloudkitty.db import api -from cloudkitty import json_utils as json +from cloudkitty.utils import json class StateManager(object): diff --git a/cloudkitty/storage/__init__.py b/cloudkitty/storage/__init__.py index 1abff7c6..91d962ab 100644 --- a/cloudkitty/storage/__init__.py +++ b/cloudkitty/storage/__init__.py @@ -21,7 +21,7 @@ from stevedore import driver from cloudkitty import dataframe from cloudkitty.storage import v2 as storage_v2 -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils LOG = logging.getLogger(__name__) diff --git a/cloudkitty/storage/v1/hybrid/backends/gnocchi.py b/cloudkitty/storage/v1/hybrid/backends/gnocchi.py index af860081..6bc1bde5 100644 --- a/cloudkitty/storage/v1/hybrid/backends/gnocchi.py +++ b/cloudkitty/storage/v1/hybrid/backends/gnocchi.py @@ -25,9 +25,9 @@ from oslo_utils import uuidutils import six from cloudkitty.collector import validate_conf -from cloudkitty import json_utils as json from cloudkitty.storage.v1.hybrid.backends import BaseHybridBackend import cloudkitty.utils as ck_utils +from cloudkitty.utils import json LOG = logging.getLogger(__name__) diff --git a/cloudkitty/storage/v1/sqlalchemy/__init__.py b/cloudkitty/storage/v1/sqlalchemy/__init__.py index 6cfb3a4d..78625073 100644 --- a/cloudkitty/storage/v1/sqlalchemy/__init__.py +++ b/cloudkitty/storage/v1/sqlalchemy/__init__.py @@ -19,12 +19,12 @@ from oslo_db.sqlalchemy import utils import sqlalchemy from cloudkitty import db -from cloudkitty import json_utils as json from cloudkitty.storage import NoTimeFrame from cloudkitty.storage import v1 as storage from cloudkitty.storage.v1.sqlalchemy import migration from cloudkitty.storage.v1.sqlalchemy import models from cloudkitty import utils as ck_utils +from cloudkitty.utils import json class SQLAlchemyStorage(storage.BaseStorage): diff --git a/cloudkitty/storage/v1/sqlalchemy/models.py b/cloudkitty/storage/v1/sqlalchemy/models.py index 4d4ec7e8..b469a6e3 100644 --- a/cloudkitty/storage/v1/sqlalchemy/models.py +++ b/cloudkitty/storage/v1/sqlalchemy/models.py @@ -17,7 +17,7 @@ from oslo_db.sqlalchemy import models import sqlalchemy from sqlalchemy.ext import declarative -from cloudkitty import json_utils as json +from cloudkitty.utils import json Base = declarative.declarative_base() diff --git a/cloudkitty/storage/v2/elasticsearch/__init__.py b/cloudkitty/storage/v2/elasticsearch/__init__.py index 7b28acff..97bda166 100644 --- a/cloudkitty/storage/v2/elasticsearch/__init__.py +++ b/cloudkitty/storage/v2/elasticsearch/__init__.py @@ -21,7 +21,7 @@ from cloudkitty import dataframe from cloudkitty.storage import v2 as v2_storage from cloudkitty.storage.v2.elasticsearch import client as es_client from cloudkitty.storage.v2.elasticsearch import exceptions -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils LOG = log.getLogger(__name__) diff --git a/cloudkitty/storage/v2/elasticsearch/client.py b/cloudkitty/storage/v2/elasticsearch/client.py index 1fff1cf2..e9735e90 100644 --- a/cloudkitty/storage/v2/elasticsearch/client.py +++ b/cloudkitty/storage/v2/elasticsearch/client.py @@ -17,8 +17,8 @@ import itertools from oslo_log import log import requests -from cloudkitty import json_utils as json from cloudkitty.storage.v2.elasticsearch import exceptions +from cloudkitty.utils import json LOG = log.getLogger(__name__) diff --git a/cloudkitty/storage/v2/influx.py b/cloudkitty/storage/v2/influx.py index 7cab8293..20ef0465 100644 --- a/cloudkitty/storage/v2/influx.py +++ b/cloudkitty/storage/v2/influx.py @@ -21,7 +21,7 @@ import six from cloudkitty import dataframe from cloudkitty.storage import v2 as v2_storage -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils LOG = log.getLogger(__name__) diff --git a/cloudkitty/storage_state/__init__.py b/cloudkitty/storage_state/__init__.py index c965aedf..c5810c60 100644 --- a/cloudkitty/storage_state/__init__.py +++ b/cloudkitty/storage_state/__init__.py @@ -20,7 +20,7 @@ from oslo_log import log from cloudkitty import db from cloudkitty.storage_state import migration from cloudkitty.storage_state import models -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils LOG = log.getLogger(__name__) diff --git a/cloudkitty/tests/api/v2/dataframes/test_dataframes.py b/cloudkitty/tests/api/v2/dataframes/test_dataframes.py index 3a4658d1..68b05363 100644 --- a/cloudkitty/tests/api/v2/dataframes/test_dataframes.py +++ b/cloudkitty/tests/api/v2/dataframes/test_dataframes.py @@ -17,7 +17,7 @@ import unittest import mock from cloudkitty.api.v2.dataframes import dataframes -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils class TestDataframeListEndpoint(unittest.TestCase): diff --git a/cloudkitty/tests/api/v2/summary/test_summary.py b/cloudkitty/tests/api/v2/summary/test_summary.py index b0ae3b01..af5cfa13 100644 --- a/cloudkitty/tests/api/v2/summary/test_summary.py +++ b/cloudkitty/tests/api/v2/summary/test_summary.py @@ -17,7 +17,7 @@ import unittest import mock from cloudkitty.api.v2.summary import summary -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils class TestSummaryEndpoint(unittest.TestCase): diff --git a/cloudkitty/tests/common/test_prometheus_client.py b/cloudkitty/tests/common/test_prometheus_client.py index 06436f99..1ed2a3d4 100644 --- a/cloudkitty/tests/common/test_prometheus_client.py +++ b/cloudkitty/tests/common/test_prometheus_client.py @@ -16,9 +16,9 @@ import mock from cloudkitty.collector import prometheus -from cloudkitty import json_utils as json from cloudkitty import tests from cloudkitty.tests import samples +from cloudkitty.utils import json class PrometheusClientTest(tests.TestCase): diff --git a/cloudkitty/tests/gabbi/fixtures.py b/cloudkitty/tests/gabbi/fixtures.py index 7932008b..f369aa01 100644 --- a/cloudkitty/tests/gabbi/fixtures.py +++ b/cloudkitty/tests/gabbi/fixtures.py @@ -50,8 +50,8 @@ from cloudkitty import storage_state from cloudkitty import tests from cloudkitty.tests.storage.v2 import influx_utils from cloudkitty.tests import utils as test_utils -from cloudkitty import tzutils from cloudkitty import utils as ck_utils +from cloudkitty.utils import tz as tzutils INITIAL_DT = datetime.datetime(2015, 1, 1, tzinfo=tz.UTC) @@ -501,7 +501,7 @@ class InfluxStorageDataFixture(StorageDataFixture): class UTCFixture(fixture.GabbiFixture): """Set the local timezone to UTC""" def start_fixture(self): - self._tzmock = mock.patch('cloudkitty.tzutils._LOCAL_TZ', tz.UTC) + self._tzmock = mock.patch('cloudkitty.utils.tz._LOCAL_TZ', tz.UTC) self._tzmock.start() def stop_fixture(self): diff --git a/cloudkitty/tests/storage/v1/test_storage.py b/cloudkitty/tests/storage/v1/test_storage.py index 25747263..52a24296 100644 --- a/cloudkitty/tests/storage/v1/test_storage.py +++ b/cloudkitty/tests/storage/v1/test_storage.py @@ -23,7 +23,7 @@ from cloudkitty import storage from cloudkitty import tests from cloudkitty.tests import samples from cloudkitty.tests import utils as test_utils -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils class StorageTest(tests.TestCase): diff --git a/cloudkitty/tests/storage/v2/test_influxdb.py b/cloudkitty/tests/storage/v2/test_influxdb.py index 0992e2a0..f23ff100 100644 --- a/cloudkitty/tests/storage/v2/test_influxdb.py +++ b/cloudkitty/tests/storage/v2/test_influxdb.py @@ -24,7 +24,7 @@ import mock from cloudkitty import dataframe from cloudkitty.storage.v2 import influx from cloudkitty.tests import TestCase -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils class TestInfluxDBStorage(TestCase): diff --git a/cloudkitty/tests/storage/v2/test_storage_unit.py b/cloudkitty/tests/storage/v2/test_storage_unit.py index 6dc82f9d..29dd5610 100644 --- a/cloudkitty/tests/storage/v2/test_storage_unit.py +++ b/cloudkitty/tests/storage/v2/test_storage_unit.py @@ -23,7 +23,7 @@ from cloudkitty.tests.storage.v2 import es_utils from cloudkitty.tests.storage.v2 import influx_utils from cloudkitty.tests import TestCase from cloudkitty.tests import utils as test_utils -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils _ES_CLIENT_PATH = ('cloudkitty.storage.v2.elasticsearch' diff --git a/cloudkitty/tests/test_dataframe.py b/cloudkitty/tests/test_dataframe.py index d31c9945..1f4ab690 100644 --- a/cloudkitty/tests/test_dataframe.py +++ b/cloudkitty/tests/test_dataframe.py @@ -21,7 +21,7 @@ from dateutil import tz from werkzeug import datastructures from cloudkitty import dataframe -from cloudkitty import json_utils as json +from cloudkitty.utils import json class TestDataPoint(unittest.TestCase): diff --git a/cloudkitty/tests/test_orchestrator.py b/cloudkitty/tests/test_orchestrator.py index 9bccc030..e3f07875 100644 --- a/cloudkitty/tests/test_orchestrator.py +++ b/cloudkitty/tests/test_orchestrator.py @@ -26,7 +26,7 @@ from cloudkitty import orchestrator from cloudkitty.storage.v2 import influx from cloudkitty import storage_state from cloudkitty import tests -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils class FakeKeystoneClient(object): diff --git a/cloudkitty/tests/utils_tests/__init__.py b/cloudkitty/tests/utils_tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/cloudkitty/tests/test_json.py b/cloudkitty/tests/utils_tests/test_json.py similarity index 96% rename from cloudkitty/tests/test_json.py rename to cloudkitty/tests/utils_tests/test_json.py index 4263f0cd..e4c6119f 100644 --- a/cloudkitty/tests/test_json.py +++ b/cloudkitty/tests/utils_tests/test_json.py @@ -17,8 +17,8 @@ import decimal from dateutil import tz -from cloudkitty import json_utils as json from cloudkitty import tests +from cloudkitty.utils import json class JSONEncoderTest(tests.TestCase): diff --git a/cloudkitty/tests/test_tzutils.py b/cloudkitty/tests/utils_tests/test_tz.py similarity index 99% rename from cloudkitty/tests/test_tzutils.py rename to cloudkitty/tests/utils_tests/test_tz.py index 5ebb77db..90c6f250 100644 --- a/cloudkitty/tests/test_tzutils.py +++ b/cloudkitty/tests/utils_tests/test_tz.py @@ -19,8 +19,8 @@ from dateutil import tz import mock from oslo_utils import timeutils -from cloudkitty import tzutils from cloudkitty import utils +from cloudkitty.utils import tz as tzutils class TestTZUtils(unittest.TestCase): diff --git a/cloudkitty/tests/test_utils.py b/cloudkitty/tests/utils_tests/test_utils.py similarity index 100% rename from cloudkitty/tests/test_utils.py rename to cloudkitty/tests/utils_tests/test_utils.py diff --git a/cloudkitty/tests/test_validation_utils.py b/cloudkitty/tests/utils_tests/test_validation.py similarity index 98% rename from cloudkitty/tests/test_validation_utils.py rename to cloudkitty/tests/utils_tests/test_validation.py index 8a194339..3b9c5af6 100644 --- a/cloudkitty/tests/test_validation_utils.py +++ b/cloudkitty/tests/utils_tests/test_validation.py @@ -16,7 +16,7 @@ import unittest import voluptuous.error -from cloudkitty import validation_utils +from cloudkitty.utils import validation as validation_utils class DictTypeValidatorTest(unittest.TestCase): diff --git a/cloudkitty/utils.py b/cloudkitty/utils/__init__.py similarity index 99% rename from cloudkitty/utils.py rename to cloudkitty/utils/__init__.py index 750d943d..85ce8902 100644 --- a/cloudkitty/utils.py +++ b/cloudkitty/utils/__init__.py @@ -31,7 +31,7 @@ from oslo_utils import timeutils from six import moves from stevedore import extension -from cloudkitty import tzutils +from cloudkitty.utils import tz as tzutils _ISO8601_TIME_FORMAT_SUBSECOND = '%Y-%m-%dT%H:%M:%S.%f' diff --git a/cloudkitty/json_utils.py b/cloudkitty/utils/json.py similarity index 100% rename from cloudkitty/json_utils.py rename to cloudkitty/utils/json.py diff --git a/cloudkitty/tzutils.py b/cloudkitty/utils/tz.py similarity index 100% rename from cloudkitty/tzutils.py rename to cloudkitty/utils/tz.py diff --git a/cloudkitty/validation_utils.py b/cloudkitty/utils/validation.py similarity index 100% rename from cloudkitty/validation_utils.py rename to cloudkitty/utils/validation.py diff --git a/cloudkitty/writer/osrf.py b/cloudkitty/writer/osrf.py index 580d3a5e..97453e45 100644 --- a/cloudkitty/writer/osrf.py +++ b/cloudkitty/writer/osrf.py @@ -15,7 +15,7 @@ # import os -from cloudkitty import json_utils as json +from cloudkitty.utils import json from cloudkitty import writer diff --git a/releasenotes/notes/introduce-cloudkitty.utils-792b9080537405bf.yaml b/releasenotes/notes/introduce-cloudkitty.utils-792b9080537405bf.yaml new file mode 100644 index 00000000..b9dc54e0 --- /dev/null +++ b/releasenotes/notes/introduce-cloudkitty.utils-792b9080537405bf.yaml @@ -0,0 +1,5 @@ +--- +other: + - | + Cloudkitty's ``*_utils`` modules have been grouped into the + new ``cloudkitty.utils`` module.