diff --git a/awx/fact/__init__.py b/awx/fact/__init__.py new file mode 100644 index 0000000000..8ce7a9e682 --- /dev/null +++ b/awx/fact/__init__.py @@ -0,0 +1,20 @@ +# Copyright (c) 2014 AnsibleWorks, Inc. +# All Rights Reserved. + +from __future__ import absolute_import + +import logging +from django.conf import settings + +from mongoengine import connect +from mongoengine.connection import get_db, ConnectionError +from .utils.dbtransform import register_key_transform + +logger = logging.getLogger('fact.__init__') + +# Connect to Mongo +try: + connect(settings.MONGO_DB) + register_key_transform(get_db()) +except ConnectionError: + logger.warn('Failed to establish connect to MongDB "%s"' % (settings.MONGO_DB)) diff --git a/awx/fact/models/__init__.py b/awx/fact/models/__init__.py new file mode 100644 index 0000000000..049720a11a --- /dev/null +++ b/awx/fact/models/__init__.py @@ -0,0 +1,6 @@ +# Copyright (c) 2015 Ansible, Inc. +# All Rights Reserved + +from __future__ import absolute_import + +from .fact import * # noqa diff --git a/awx/main/models/fact.py b/awx/fact/models/fact.py similarity index 100% rename from awx/main/models/fact.py rename to awx/fact/models/fact.py diff --git a/awx/fact/tests/__init__.py b/awx/fact/tests/__init__.py new file mode 100644 index 0000000000..d7187f3928 --- /dev/null +++ b/awx/fact/tests/__init__.py @@ -0,0 +1,7 @@ +# Copyright (c) 2015 Ansible, Inc. +# All Rights Reserved + +from __future__ import absolute_import + +from .models import * # noqa +from .utils import * # noqa diff --git a/awx/fact/tests/models/__init__.py b/awx/fact/tests/models/__init__.py new file mode 100644 index 0000000000..049720a11a --- /dev/null +++ b/awx/fact/tests/models/__init__.py @@ -0,0 +1,6 @@ +# Copyright (c) 2015 Ansible, Inc. +# All Rights Reserved + +from __future__ import absolute_import + +from .fact import * # noqa diff --git a/awx/main/tests/models/fact.py b/awx/fact/tests/models/fact.py similarity index 99% rename from awx/main/tests/models/fact.py rename to awx/fact/tests/models/fact.py index 63a0d98ae1..ffcd38857d 100644 --- a/awx/main/tests/models/fact.py +++ b/awx/fact/tests/models/fact.py @@ -8,7 +8,7 @@ from copy import deepcopy # Django # AWX -from awx.main.models.fact import * # noqa +from awx.fact.models.fact import * # noqa from awx.main.tests.base import BaseTest, MongoDBRequired __all__ = ['FactHostTest', 'FactTest', 'FactGetHostVersionTest', 'FactGetHostTimeline'] diff --git a/awx/fact/tests/utils/__init__.py b/awx/fact/tests/utils/__init__.py new file mode 100644 index 0000000000..80e83d4661 --- /dev/null +++ b/awx/fact/tests/utils/__init__.py @@ -0,0 +1,6 @@ +# Copyright (c) 2015 Ansible, Inc. +# All Rights Reserved + +from __future__ import absolute_import + +from .dbtransform import * # noqa diff --git a/awx/main/tests/dbtransform.py b/awx/fact/tests/utils/dbtransform.py similarity index 98% rename from awx/main/tests/dbtransform.py rename to awx/fact/tests/utils/dbtransform.py index 1c18098118..a11375223d 100644 --- a/awx/main/tests/dbtransform.py +++ b/awx/fact/tests/utils/dbtransform.py @@ -10,7 +10,7 @@ from django.conf import settings # AWX from awx.main.tests.base import BaseTest, MongoDBRequired -from awx.main.models.fact import * # noqa +from awx.fact.models.fact import * # noqa __all__ = ['DBTransformTest'] diff --git a/awx/main/tests/models/__init__.py b/awx/fact/utils/__init__.py similarity index 53% rename from awx/main/tests/models/__init__.py rename to awx/fact/utils/__init__.py index a4959c9e29..3a75c16036 100644 --- a/awx/main/tests/models/__init__.py +++ b/awx/fact/utils/__init__.py @@ -1,4 +1,2 @@ # Copyright (c) 2015 Ansible, Inc. # All Rights Reserved - -from awx.main.tests.models.fact import * # noqa diff --git a/awx/main/dbtransform.py b/awx/fact/utils/dbtransform.py similarity index 100% rename from awx/main/dbtransform.py rename to awx/fact/utils/dbtransform.py diff --git a/awx/main/management/commands/run_fact_cache_receiver.py b/awx/main/management/commands/run_fact_cache_receiver.py index 9ab51a0c93..2330a449e8 100644 --- a/awx/main/management/commands/run_fact_cache_receiver.py +++ b/awx/main/management/commands/run_fact_cache_receiver.py @@ -6,7 +6,7 @@ from datetime import datetime from django.core.management.base import NoArgsCommand -from awx.main.models import * # noqa +from awx.fact.models.fact import * # noqa from awx.main.socket import Socket _MODULES = ['packages', 'services', 'files'] diff --git a/awx/main/models/__init__.py b/awx/main/models/__init__.py index 9d89df393e..b7d57212de 100644 --- a/awx/main/models/__init__.py +++ b/awx/main/models/__init__.py @@ -16,7 +16,6 @@ from awx.main.models.ad_hoc_commands import * # noqa from awx.main.models.schedules import * # noqa from awx.main.models.activity_stream import * # noqa from awx.main.models.ha import * # noqa -from awx.main.models.fact import * # noqa # Monkeypatch Django serializer to ignore django-taggit fields (which break # the dumpdata command; see https://github.com/alex/django-taggit/issues/155). diff --git a/awx/main/tests/__init__.py b/awx/main/tests/__init__.py index 29d772d495..dda898b544 100644 --- a/awx/main/tests/__init__.py +++ b/awx/main/tests/__init__.py @@ -15,6 +15,4 @@ from awx.main.tests.activity_stream import * # noqa from awx.main.tests.schedules import * # noqa from awx.main.tests.redact import * # noqa from awx.main.tests.views import * # noqa -from awx.main.tests.models import * # noqa from awx.main.tests.commands import * # noqa -from awx.main.tests.dbtransform import * # noqa diff --git a/awx/main/tests/commands/run_fact_cache_receiver.py b/awx/main/tests/commands/run_fact_cache_receiver.py index d57dde93c7..1a63b25180 100644 --- a/awx/main/tests/commands/run_fact_cache_receiver.py +++ b/awx/main/tests/commands/run_fact_cache_receiver.py @@ -13,7 +13,7 @@ from mock import MagicMock from awx.main.tests.base import BaseTest, MongoDBRequired from awx.main.tests.commands.base import BaseCommandMixin from awx.main.management.commands.run_fact_cache_receiver import FactCacheReceiver -from awx.main.models.fact import * # noqa +from awx.fact.models.fact import * # noqa __all__ = ['RunFactCacheReceiverUnitTest', 'RunFactCacheReceiverFunctionalTest'] diff --git a/awx/settings/__init__.py b/awx/settings/__init__.py index 988ff1d52e..893555cc13 100644 --- a/awx/settings/__init__.py +++ b/awx/settings/__init__.py @@ -1,16 +1,2 @@ # Copyright (c) 2014 AnsibleWorks, Inc. # All Rights Reserved. - -from django.conf import settings -from mongoengine import connect -from mongoengine.connection import get_db, ConnectionError -from awx.main.dbtransform import register_key_transform -import logging - -logger = logging.getLogger('awx.settings.__init__') - -try: - connect(settings.MONGO_DB) - register_key_transform(get_db()) -except ConnectionError: - logger.warn('Failed to establish connect to MongDB "%s"' % (settings.MONGO_DB)) diff --git a/awx/settings/defaults.py b/awx/settings/defaults.py index d37b047ff2..3610879c02 100644 --- a/awx/settings/defaults.py +++ b/awx/settings/defaults.py @@ -155,6 +155,7 @@ INSTALLED_APPS = ( 'awx.main', 'awx.api', 'awx.ui', + 'awx.fact', ) INTERNAL_IPS = ('127.0.0.1',) diff --git a/awx/settings/development.py b/awx/settings/development.py index d365b25f57..75922c0081 100644 --- a/awx/settings/development.py +++ b/awx/settings/development.py @@ -32,7 +32,7 @@ AWX_PROOT_ENABLED = True try: import django_jenkins INSTALLED_APPS += ('django_jenkins',) - PROJECT_APPS = ('awx.main.tests', 'awx.api.tests',) + PROJECT_APPS = ('awx.main.tests', 'awx.api.tests', 'awx.fact.tests',) except ImportError: pass