diff --git a/awx/main/management/commands/inventory_import.py b/awx/main/management/commands/inventory_import.py index 74430fae00..097fedd1fb 100644 --- a/awx/main/management/commands/inventory_import.py +++ b/awx/main/management/commands/inventory_import.py @@ -23,6 +23,7 @@ from django.contrib.auth.models import User # AWX from awx.main.models import * +from awx.main.signals import ignore_inventory_computed_fields from awx.main.licenses import LicenseReader logger = logging.getLogger('awx.main.commands.inventory_import') @@ -748,7 +749,9 @@ class Command(NoArgsCommand): self.all_group.debug_tree() # Merge/overwrite inventory into database. - self.load_into_database() + with ignore_inventory_computed_fields(): + self.load_into_database() + self.inventory.update_computed_fields() self.check_license() if self.inventory_source.group: diff --git a/awx/main/signals.py b/awx/main/signals.py index 48cdba2e26..c195de0609 100644 --- a/awx/main/signals.py +++ b/awx/main/signals.py @@ -2,6 +2,7 @@ # All Rights Reserved. # Python +import contextlib import logging import threading import json @@ -24,6 +25,17 @@ logger = logging.getLogger('awx.main.signals') _inventory_updating = threading.local() +@contextlib.contextmanager +def ignore_inventory_computed_fields(): + ''' + Context manager to ignore updating inventory computed fields. + ''' + try: + _inventory_updating.is_updating = True + yield + finally: + _inventory_updating.is_updating = False + def update_inventory_computed_fields(sender, **kwargs): ''' Signal handler and wrapper around inventory.update_computed_fields to @@ -53,13 +65,10 @@ def update_inventory_computed_fields(sender, **kwargs): return logger.debug('%s %s, updating inventory computed fields: %r %r', sender_name, sender_action, sender, kwargs) - try: - _inventory_updating.is_updating = True + with ignore_inventory_computed_fields(): inventory = instance.inventory update_hosts = issubclass(sender, Job) inventory.update_computed_fields(update_hosts=update_hosts) - finally: - _inventory_updating.is_updating = False post_save.connect(update_inventory_computed_fields, sender=Host) post_delete.connect(update_inventory_computed_fields, sender=Host) diff --git a/awx/main/tests/base.py b/awx/main/tests/base.py index 14b270d454..f2847a994c 100644 --- a/awx/main/tests/base.py +++ b/awx/main/tests/base.py @@ -9,6 +9,7 @@ import json import os import shutil import tempfile +import time # PyYAML import yaml @@ -55,6 +56,7 @@ class BaseTestMixin(object): job_status_dir = tempfile.mkdtemp() self._temp_project_dirs.append(job_status_dir) settings.JOBOUTPUT_ROOT = os.path.abspath(job_status_dir) + self._start_time = time.time() def tearDown(self): super(BaseTestMixin, self).tearDown() @@ -64,6 +66,10 @@ class BaseTestMixin(object): # Restore previous settings after each test. settings._wrapped = self._wrapped + def assertElapsedLessThan(self, seconds): + elapsed = time.time() - self._start_time + self.assertTrue(elapsed < seconds, 'elapsed time of %0.3fs is greater than %0.3fs' % (elapsed, seconds)) + @contextlib.contextmanager def current_user(self, user_or_username, password=None): try: diff --git a/awx/main/tests/commands.py b/awx/main/tests/commands.py index 583530610e..d50b551abf 100644 --- a/awx/main/tests/commands.py +++ b/awx/main/tests/commands.py @@ -735,3 +735,23 @@ class InventoryImportTest(BaseCommandMixin, BaseLiveServerTest): def test_executable_file_with_meta_hostvars(self): os.environ['INVENTORY_HOSTVARS'] = '1' self.test_executable_file() + + def test_large_executable_file(self): + new_inv = self.organizations[0].inventories.create(name='newec2') + self.assertEqual(new_inv.hosts.count(), 0) + self.assertEqual(new_inv.groups.count(), 0) + inv_file = os.path.join(os.path.dirname(__file__), 'data', + 'large_ec2_inventory.py') + result, stdout, stderr = self.run_command('inventory_import', + inventory_id=new_inv.pk, + source=inv_file) + self.assertEqual(result, None) + # Check that inventory is populated as expected within a reasonable + # amount of time. Computed fields should also be updated. + new_inv = Inventory.objects.get(pk=new_inv.pk) + self.assertNotEqual(new_inv.hosts.count(), 0) + self.assertNotEqual(new_inv.groups.count(), 0) + self.assertNotEqual(new_inv.total_hosts, 0) + self.assertNotEqual(new_inv.total_groups, 0) + self.assertElapsedLessThan(120) + diff --git a/awx/main/tests/data/large_ec2_inventory.py b/awx/main/tests/data/large_ec2_inventory.py new file mode 100755 index 0000000000..dfab151fa1 --- /dev/null +++ b/awx/main/tests/data/large_ec2_inventory.py @@ -0,0 +1,887 @@ +#!/usr/bin/env python + +# Python +import json +import optparse + +inv_list = { + "ansible1.axialmarket.com": [ + "ec2-54-226-227-106.compute-1.amazonaws.com" + ], + "ansible2.axialmarket.com": [ + "ec2-54-227-113-75.compute-1.amazonaws.com" + ], + "app1new.axialmarket.com": [ + "ec2-54-235-143-131.compute-1.amazonaws.com" + ], + "app2new.axialmarket.com": [ + "ec2-54-235-143-132.compute-1.amazonaws.com" + ], + "app2t.axialmarket.com": [ + "ec2-23-23-168-208.compute-1.amazonaws.com" + ], + "app2t.dev.axialmarket.com": [ + "ec2-23-23-168-208.compute-1.amazonaws.com" + ], + "awx.axialmarket.com": [ + "ec2-54-211-252-32.compute-1.amazonaws.com" + ], + "axtdev2.axialmarket.com": [ + "ec2-54-234-3-7.compute-1.amazonaws.com" + ], + "backup1.axialmarket.com": [ + "ec2-23-23-170-30.compute-1.amazonaws.com" + ], + "bah.axialmarket.com": [ + "ec2-107-20-176-139.compute-1.amazonaws.com" + ], + "bennew.axialmarket.com": [ + "ec2-54-243-146-75.compute-1.amazonaws.com" + ], + "build0.axialmarket.com": [ + "ec2-54-226-244-191.compute-1.amazonaws.com" + ], + "cburke0.axialmarket.com": [ + "ec2-54-226-100-117.compute-1.amazonaws.com" + ], + "dabnew.axialmarket.com": [ + "ec2-107-22-248-113.compute-1.amazonaws.com" + ], + "dannew.axialmarket.com": [ + "ec2-107-22-247-88.compute-1.amazonaws.com" + ], + "de1-intenv.axialmarket.com": [ + "ec2-54-224-92-80.compute-1.amazonaws.com" + ], + "dev11-20120311": [ + "dev11-20120311.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "dev11-20130828": [ + "dev11-20130828.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "dev11-20130903-dab": [ + "dev11-20130903-dab.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "firecrow.axialmarket.com": [ + "ec2-54-227-30-105.compute-1.amazonaws.com" + ], + "herby0.axialmarket.com": [ + "ec2-174-129-140-30.compute-1.amazonaws.com" + ], + "i-02966c7a": [ + "ec2-23-21-57-109.compute-1.amazonaws.com" + ], + "i-0485b47c": [ + "ec2-23-23-168-208.compute-1.amazonaws.com" + ], + "i-0805a578": [ + "ec2-107-22-234-22.compute-1.amazonaws.com" + ], + "i-0a1e4777": [ + "ec2-75-101-129-169.compute-1.amazonaws.com" + ], + "i-0e05a57e": [ + "ec2-107-22-234-180.compute-1.amazonaws.com" + ], + "i-116f5861": [ + "ec2-54-235-143-162.compute-1.amazonaws.com" + ], + "i-197edf79": [ + "ec2-54-226-244-191.compute-1.amazonaws.com" + ], + "i-26008355": [ + "ec2-75-101-157-248.compute-1.amazonaws.com" + ], + "i-2ff6135e": [ + "ec2-54-242-36-133.compute-1.amazonaws.com" + ], + "i-3cbc6d50": [ + "ec2-54-234-233-19.compute-1.amazonaws.com" + ], + "i-3e9a7f5b": [ + "ec2-54-224-92-80.compute-1.amazonaws.com" + ], + "i-43f6a533": [ + "ec2-54-235-143-131.compute-1.amazonaws.com" + ], + "i-45906822": [ + "ec2-23-21-100-222.compute-1.amazonaws.com" + ], + "i-508c1923": [ + "ec2-23-23-130-201.compute-1.amazonaws.com" + ], + "i-52970021": [ + "ec2-23-23-169-133.compute-1.amazonaws.com" + ], + "i-57cc2c25": [ + "ec2-54-225-229-159.compute-1.amazonaws.com" + ], + "i-59f23536": [ + "ec2-75-101-128-47.compute-1.amazonaws.com" + ], + "i-7012b200": [ + "ec2-107-22-249-212.compute-1.amazonaws.com" + ], + "i-73fead03": [ + "ec2-54-235-143-132.compute-1.amazonaws.com" + ], + "i-75faa905": [ + "ec2-54-235-143-133.compute-1.amazonaws.com" + ], + "i-76e49b0e": [ + "ec2-75-101-128-224.compute-1.amazonaws.com" + ], + "i-78c9450b": [ + "ec2-54-225-88-116.compute-1.amazonaws.com" + ], + "i-7aa18911": [ + "ec2-54-211-252-32.compute-1.amazonaws.com" + ], + "i-7dfdae0d": [ + "ec2-54-235-143-134.compute-1.amazonaws.com" + ], + "i-8559d6fa": [ + "ec2-23-21-224-105.compute-1.amazonaws.com" + ], + "i-899768e4": [ + "ec2-54-234-3-7.compute-1.amazonaws.com" + ], + "i-918130fb": [ + "ec2-174-129-171-101.compute-1.amazonaws.com" + ], + "i-99ce0ceb": [ + "ec2-107-22-234-92.compute-1.amazonaws.com" + ], + "i-9a450df8": [ + "ec2-50-19-184-148.compute-1.amazonaws.com" + ], + "i-9fce0ced": [ + "ec2-107-20-176-139.compute-1.amazonaws.com" + ], + "i-a80682c4": [ + "ec2-54-235-65-26.compute-1.amazonaws.com" + ], + "i-b43ab5df": [ + "ec2-174-129-140-30.compute-1.amazonaws.com" + ], + "i-baa893c2": [ + "ec2-23-23-170-30.compute-1.amazonaws.com" + ], + "i-bc23a0cf": [ + "ec2-75-101-159-82.compute-1.amazonaws.com" + ], + "i-bed948cd": [ + "ec2-54-235-112-3.compute-1.amazonaws.com" + ], + "i-c200c4a8": [ + "ec2-54-227-30-105.compute-1.amazonaws.com" + ], + "i-c69ae2be": [ + "ec2-23-21-133-17.compute-1.amazonaws.com" + ], + "i-c6d33fa3": [ + "ec2-54-226-100-117.compute-1.amazonaws.com" + ], + "i-cc4d2abf": [ + "ec2-107-20-160-49.compute-1.amazonaws.com" + ], + "i-cc9c3fbc": [ + "ec2-54-243-146-75.compute-1.amazonaws.com" + ], + "i-d01dacb3": [ + "ec2-54-234-218-33.compute-1.amazonaws.com" + ], + "i-da6631b3": [ + "ec2-54-226-227-106.compute-1.amazonaws.com" + ], + "i-dc6631b5": [ + "ec2-54-227-113-75.compute-1.amazonaws.com" + ], + "i-f005a580": [ + "ec2-107-22-241-13.compute-1.amazonaws.com" + ], + "i-f605a586": [ + "ec2-107-22-247-88.compute-1.amazonaws.com" + ], + "i-f805a588": [ + "ec2-107-22-248-113.compute-1.amazonaws.com" + ], + "i-f9829894": [ + "ec2-54-225-172-84.compute-1.amazonaws.com" + ], + "inf.axialmarket.com": [ + "ec2-54-225-229-159.compute-1.amazonaws.com" + ], + "jeffnew.axialmarket.com": [ + "ec2-107-22-234-180.compute-1.amazonaws.com" + ], + "jenkins.axialmarket.com": [ + "ec2-23-21-224-105.compute-1.amazonaws.com" + ], + "jump.axialmarket.com": [ + "ec2-23-23-169-133.compute-1.amazonaws.com" + ], + "key_Dana_Spiegel": [ + "ec2-50-19-184-148.compute-1.amazonaws.com" + ], + "key_bah-20130614": [ + "ec2-54-234-218-33.compute-1.amazonaws.com", + "ec2-54-226-244-191.compute-1.amazonaws.com" + ], + "key_herby-axial-20130903": [ + "ec2-54-224-92-80.compute-1.amazonaws.com" + ], + "key_herbyg-axial-201308": [ + "ec2-54-211-252-32.compute-1.amazonaws.com", + "ec2-54-234-3-7.compute-1.amazonaws.com" + ], + "key_ike-20120322": [ + "ec2-23-21-100-222.compute-1.amazonaws.com", + "ec2-23-21-57-109.compute-1.amazonaws.com", + "ec2-75-101-128-224.compute-1.amazonaws.com", + "ec2-23-21-133-17.compute-1.amazonaws.com", + "ec2-23-23-168-208.compute-1.amazonaws.com", + "ec2-23-23-170-30.compute-1.amazonaws.com", + "ec2-75-101-129-169.compute-1.amazonaws.com", + "ec2-23-21-224-105.compute-1.amazonaws.com", + "ec2-54-242-36-133.compute-1.amazonaws.com", + "ec2-107-22-234-22.compute-1.amazonaws.com", + "ec2-107-22-234-180.compute-1.amazonaws.com", + "ec2-107-22-241-13.compute-1.amazonaws.com", + "ec2-107-22-247-88.compute-1.amazonaws.com", + "ec2-107-22-248-113.compute-1.amazonaws.com", + "ec2-107-22-249-212.compute-1.amazonaws.com", + "ec2-54-243-146-75.compute-1.amazonaws.com", + "ec2-54-235-143-131.compute-1.amazonaws.com", + "ec2-54-235-143-133.compute-1.amazonaws.com", + "ec2-54-235-143-132.compute-1.amazonaws.com", + "ec2-54-235-143-134.compute-1.amazonaws.com", + "ec2-54-235-143-162.compute-1.amazonaws.com", + "ec2-75-101-157-248.compute-1.amazonaws.com", + "ec2-75-101-159-82.compute-1.amazonaws.com", + "ec2-54-225-88-116.compute-1.amazonaws.com", + "ec2-23-23-169-133.compute-1.amazonaws.com", + "ec2-54-235-112-3.compute-1.amazonaws.com", + "ec2-54-225-229-159.compute-1.amazonaws.com", + "ec2-107-22-234-92.compute-1.amazonaws.com", + "ec2-107-20-176-139.compute-1.amazonaws.com", + "ec2-54-225-172-84.compute-1.amazonaws.com" + ], + "key_matt-20120423": [ + "ec2-54-226-227-106.compute-1.amazonaws.com", + "ec2-54-227-113-75.compute-1.amazonaws.com", + "ec2-54-235-65-26.compute-1.amazonaws.com", + "ec2-174-129-171-101.compute-1.amazonaws.com", + "ec2-54-234-233-19.compute-1.amazonaws.com", + "ec2-174-129-140-30.compute-1.amazonaws.com", + "ec2-54-227-30-105.compute-1.amazonaws.com", + "ec2-54-226-100-117.compute-1.amazonaws.com" + ], + "key_mike-20121126": [ + "ec2-75-101-128-47.compute-1.amazonaws.com", + "ec2-23-23-130-201.compute-1.amazonaws.com", + "ec2-107-20-160-49.compute-1.amazonaws.com" + ], + "logstore1.axialmarket.com": [ + "ec2-75-101-129-169.compute-1.amazonaws.com" + ], + "logstore2.axialmarket.com": [ + "ec2-54-235-112-3.compute-1.amazonaws.com" + ], + "mattnew.axialmarket.com": [ + "ec2-107-22-241-13.compute-1.amazonaws.com" + ], + "monitor0.axialmarket.com": [ + "ec2-54-235-65-26.compute-1.amazonaws.com" + ], + "mx0.axialmarket.com": [ + "ec2-23-21-57-109.compute-1.amazonaws.com" + ], + "mx0a.axialmarket.com": [ + "ec2-23-21-224-105.compute-1.amazonaws.com" + ], + "mx1.axialmarket.com": [ + "ec2-75-101-128-47.compute-1.amazonaws.com" + ], + "mx2.axialmarket.com": [ + "ec2-75-101-128-224.compute-1.amazonaws.com" + ], + "mx5.axialmarket.com": [ + "ec2-75-101-129-169.compute-1.amazonaws.com" + ], + "pak.axialmarket.com": [ + "ec2-54-242-36-133.compute-1.amazonaws.com" + ], + "pak0.axialmarket.com": [ + "ec2-54-242-36-133.compute-1.amazonaws.com" + ], + "poundtest1.axialmarket.com": [ + "ec2-107-20-160-49.compute-1.amazonaws.com" + ], + "production-db7": [ + "production-db7.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "production-db7-rdssnap-p4hsx77hy8l5zqj": [ + "production-db7-rdssnap-p4hsx77hy8l5zqj.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "production-readonly-db7": [ + "production-readonly-db7.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "rabbit.axialmarket.com": [ + "ec2-50-19-184-148.compute-1.amazonaws.com" + ], + "rds_mysql": [ + "dev11-20120311.co735munpzcw.us-east-1.rds.amazonaws.com", + "dev11-20130828.co735munpzcw.us-east-1.rds.amazonaws.com", + "dev11-20130903-dab.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7-rdssnap-p4hsx77hy8l5zqj.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-readonly-db7.co735munpzcw.us-east-1.rds.amazonaws.com", + "web-mktg-1.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "rds_parameter_group_axialmarket-5-5": [ + "dev11-20120311.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-readonly-db7.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "rds_parameter_group_default_mysql5_1": [ + "web-mktg-1.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "rds_parameter_group_default_mysql5_5": [ + "dev11-20130828.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "rds_parameter_group_mysqldump": [ + "dev11-20130903-dab.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7-rdssnap-p4hsx77hy8l5zqj.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "releng0.axialmarket.com": [ + "ec2-23-21-100-222.compute-1.amazonaws.com" + ], + "releng1.axialmarket.com": [ + "ec2-23-21-133-17.compute-1.amazonaws.com" + ], + "rexnew.axialmarket.com": [ + "ec2-54-235-143-162.compute-1.amazonaws.com" + ], + "rollupy0.axialmarket.com": [ + "ec2-54-225-172-84.compute-1.amazonaws.com" + ], + "security_group_MTA": [ + "ec2-75-101-128-47.compute-1.amazonaws.com", + "ec2-23-21-57-109.compute-1.amazonaws.com", + "ec2-75-101-128-224.compute-1.amazonaws.com", + "ec2-23-21-224-105.compute-1.amazonaws.com" + ], + "security_group_WWW-PROD-2013": [ + "ec2-75-101-157-248.compute-1.amazonaws.com", + "ec2-75-101-159-82.compute-1.amazonaws.com" + ], + "security_group_backup2012": [ + "ec2-23-23-170-30.compute-1.amazonaws.com" + ], + "security_group_dataeng-test": [ + "ec2-54-224-92-80.compute-1.amazonaws.com" + ], + "security_group_development-2013-Jan": [ + "ec2-54-226-227-106.compute-1.amazonaws.com", + "ec2-54-227-113-75.compute-1.amazonaws.com", + "ec2-174-129-171-101.compute-1.amazonaws.com", + "ec2-54-234-233-19.compute-1.amazonaws.com", + "ec2-54-234-218-33.compute-1.amazonaws.com", + "ec2-54-226-244-191.compute-1.amazonaws.com", + "ec2-174-129-140-30.compute-1.amazonaws.com", + "ec2-54-227-30-105.compute-1.amazonaws.com", + "ec2-54-226-100-117.compute-1.amazonaws.com", + "ec2-54-234-3-7.compute-1.amazonaws.com", + "ec2-107-22-234-22.compute-1.amazonaws.com", + "ec2-107-22-234-180.compute-1.amazonaws.com", + "ec2-107-22-241-13.compute-1.amazonaws.com", + "ec2-107-22-247-88.compute-1.amazonaws.com", + "ec2-107-22-248-113.compute-1.amazonaws.com", + "ec2-107-22-249-212.compute-1.amazonaws.com", + "ec2-54-243-146-75.compute-1.amazonaws.com", + "ec2-54-235-143-162.compute-1.amazonaws.com", + "ec2-54-225-88-116.compute-1.amazonaws.com", + "ec2-23-23-130-201.compute-1.amazonaws.com", + "ec2-107-20-160-49.compute-1.amazonaws.com", + "ec2-107-22-234-92.compute-1.amazonaws.com", + "ec2-107-20-176-139.compute-1.amazonaws.com" + ], + "security_group_development-summer2012": [ + "dev11-20120311.co735munpzcw.us-east-1.rds.amazonaws.com", + "dev11-20130828.co735munpzcw.us-east-1.rds.amazonaws.com", + "dev11-20130903-dab.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7-rdssnap-p4hsx77hy8l5zqj.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-readonly-db7.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "security_group_development2012July": [ + "ec2-23-23-168-208.compute-1.amazonaws.com" + ], + "security_group_inf-mgmt-2013": [ + "ec2-54-225-229-159.compute-1.amazonaws.com" + ], + "security_group_jump": [ + "ec2-23-23-169-133.compute-1.amazonaws.com" + ], + "security_group_monitor-GOD-2013": [ + "ec2-54-235-65-26.compute-1.amazonaws.com" + ], + "security_group_pak-internal": [ + "ec2-54-242-36-133.compute-1.amazonaws.com" + ], + "security_group_production": [ + "ec2-50-19-184-148.compute-1.amazonaws.com", + "production-db7.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "security_group_production-NEWWORLD-201202": [ + "ec2-54-235-143-131.compute-1.amazonaws.com", + "ec2-54-235-143-133.compute-1.amazonaws.com", + "ec2-54-235-143-132.compute-1.amazonaws.com", + "ec2-54-235-143-134.compute-1.amazonaws.com", + "ec2-54-225-172-84.compute-1.amazonaws.com" + ], + "security_group_production-awx": [ + "ec2-54-211-252-32.compute-1.amazonaws.com" + ], + "security_group_releng20120404": [ + "ec2-23-21-100-222.compute-1.amazonaws.com", + "ec2-23-21-133-17.compute-1.amazonaws.com" + ], + "security_group_util-20121011": [ + "ec2-75-101-129-169.compute-1.amazonaws.com", + "ec2-54-235-112-3.compute-1.amazonaws.com" + ], + "security_group_www-mktg": [ + "web-mktg-1.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "stevenew.axialmarket.com": [ + "ec2-107-22-234-92.compute-1.amazonaws.com" + ], + "tag_Environment_Production": [ + "ec2-50-19-184-148.compute-1.amazonaws.com" + ], + "tag_Name_INF-umgmt1": [ + "ec2-54-225-229-159.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-PROD-app1": [ + "ec2-54-235-143-131.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-PROD-app2": [ + "ec2-54-235-143-132.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-PROD-worker1": [ + "ec2-54-235-143-133.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-PROD-worker2": [ + "ec2-54-235-143-134.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-bah": [ + "ec2-107-20-176-139.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-bennew": [ + "ec2-54-243-146-75.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-dabnew": [ + "ec2-107-22-248-113.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-dannew": [ + "ec2-107-22-247-88.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-jeffnew": [ + "ec2-107-22-234-180.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-jumphost-2": [ + "ec2-23-23-169-133.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-mattnew": [ + "ec2-107-22-241-13.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-poundtest1": [ + "ec2-107-20-160-49.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-poundtest1_": [ + "ec2-107-20-160-49.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-rexnew": [ + "ec2-54-235-143-162.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-stevenew-replace": [ + "ec2-107-22-234-92.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-tannernew": [ + "ec2-23-23-130-201.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-thomasnew-2": [ + "ec2-54-225-88-116.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-willnew": [ + "ec2-107-22-234-22.compute-1.amazonaws.com" + ], + "tag_Name_NEWWORLD-worker1devnew": [ + "ec2-107-22-249-212.compute-1.amazonaws.com" + ], + "tag_Name_WWW-TEST": [ + "ec2-54-234-233-19.compute-1.amazonaws.com" + ], + "tag_Name_WWW1-MKTG": [ + "ec2-75-101-157-248.compute-1.amazonaws.com" + ], + "tag_Name_WWW2-MKTG": [ + "ec2-75-101-159-82.compute-1.amazonaws.com" + ], + "tag_Name_ansible": [ + "ec2-54-226-227-106.compute-1.amazonaws.com", + "ec2-54-227-113-75.compute-1.amazonaws.com" + ], + "tag_Name_app2t_development_axialmarket_com": [ + "ec2-23-23-168-208.compute-1.amazonaws.com" + ], + "tag_Name_awx": [ + "ec2-54-211-252-32.compute-1.amazonaws.com" + ], + "tag_Name_axtdev2": [ + "ec2-54-234-3-7.compute-1.amazonaws.com" + ], + "tag_Name_backup1": [ + "ec2-23-23-170-30.compute-1.amazonaws.com" + ], + "tag_Name_build_server": [ + "ec2-54-226-244-191.compute-1.amazonaws.com" + ], + "tag_Name_cburke0": [ + "ec2-54-226-100-117.compute-1.amazonaws.com" + ], + "tag_Name_dataeng_test1": [ + "ec2-54-224-92-80.compute-1.amazonaws.com" + ], + "tag_Name_firecrow-dev": [ + "ec2-54-227-30-105.compute-1.amazonaws.com" + ], + "tag_Name_herby0": [ + "ec2-174-129-140-30.compute-1.amazonaws.com" + ], + "tag_Name_logstore1": [ + "ec2-75-101-129-169.compute-1.amazonaws.com" + ], + "tag_Name_logstore2": [ + "ec2-54-235-112-3.compute-1.amazonaws.com" + ], + "tag_Name_mx0": [ + "ec2-23-21-57-109.compute-1.amazonaws.com" + ], + "tag_Name_mx0a": [ + "ec2-23-21-224-105.compute-1.amazonaws.com" + ], + "tag_Name_mx1_new": [ + "ec2-75-101-128-47.compute-1.amazonaws.com" + ], + "tag_Name_mx2": [ + "ec2-75-101-128-224.compute-1.amazonaws.com" + ], + "tag_Name_new-testapp1": [ + "ec2-174-129-171-101.compute-1.amazonaws.com" + ], + "tag_Name_pak0_axialmarket_com": [ + "ec2-54-242-36-133.compute-1.amazonaws.com" + ], + "tag_Name_rabbit_axialmarket_com": [ + "ec2-50-19-184-148.compute-1.amazonaws.com" + ], + "tag_Name_releng0": [ + "ec2-23-21-100-222.compute-1.amazonaws.com" + ], + "tag_Name_releng1": [ + "ec2-23-21-133-17.compute-1.amazonaws.com" + ], + "tag_Name_rollupy0-PROD": [ + "ec2-54-225-172-84.compute-1.amazonaws.com" + ], + "tag_Name_tannernew_": [ + "ec2-23-23-130-201.compute-1.amazonaws.com" + ], + "tag_Name_testapp1": [ + "ec2-54-234-218-33.compute-1.amazonaws.com" + ], + "tag_Name_zabbix-upgrade": [ + "ec2-54-235-65-26.compute-1.amazonaws.com" + ], + "tag_Use_RabbitMQ__celerycam__celerybeat__celeryd__postfix": [ + "ec2-50-19-184-148.compute-1.amazonaws.com" + ], + "tag_environment_dev": [ + "ec2-54-234-3-7.compute-1.amazonaws.com" + ], + "tag_environment_production": [ + "ec2-54-211-252-32.compute-1.amazonaws.com" + ], + "tag_id_awx": [ + "ec2-54-211-252-32.compute-1.amazonaws.com" + ], + "tag_id_axtdev2": [ + "ec2-54-234-3-7.compute-1.amazonaws.com" + ], + "tag_os_ubuntu": [ + "ec2-54-211-252-32.compute-1.amazonaws.com", + "ec2-54-234-3-7.compute-1.amazonaws.com" + ], + "tag_primary_role_awx": [ + "ec2-54-211-252-32.compute-1.amazonaws.com" + ], + "tag_primary_role_dev": [ + "ec2-54-234-3-7.compute-1.amazonaws.com" + ], + "tag_purpose_syscleanup": [ + "ec2-23-21-100-222.compute-1.amazonaws.com" + ], + "tag_role_awx_": [ + "ec2-54-211-252-32.compute-1.amazonaws.com" + ], + "tag_role_dev_": [ + "ec2-54-234-3-7.compute-1.amazonaws.com" + ], + "tannernew.axialmarket.com": [ + "ec2-23-23-130-201.compute-1.amazonaws.com" + ], + "testapp1.axialmarket.com": [ + "ec2-174-129-171-101.compute-1.amazonaws.com" + ], + "testapp2.axialmarket.com": [ + "ec2-54-234-218-33.compute-1.amazonaws.com" + ], + "testnoelb.axialmarket.com": [ + "ec2-107-20-160-49.compute-1.amazonaws.com" + ], + "testworker1.axialmarket.com": [ + "ec2-107-22-249-212.compute-1.amazonaws.com" + ], + "thomasnew.axialmarket.com": [ + "ec2-54-225-88-116.compute-1.amazonaws.com" + ], + "type_db_m1_medium": [ + "web-mktg-1.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "type_db_m1_xlarge": [ + "dev11-20120311.co735munpzcw.us-east-1.rds.amazonaws.com", + "dev11-20130828.co735munpzcw.us-east-1.rds.amazonaws.com", + "dev11-20130903-dab.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7-rdssnap-p4hsx77hy8l5zqj.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-readonly-db7.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "type_m1_large": [ + "ec2-54-235-65-26.compute-1.amazonaws.com", + "ec2-174-129-171-101.compute-1.amazonaws.com", + "ec2-54-234-218-33.compute-1.amazonaws.com", + "ec2-50-19-184-148.compute-1.amazonaws.com", + "ec2-174-129-140-30.compute-1.amazonaws.com", + "ec2-54-227-30-105.compute-1.amazonaws.com", + "ec2-54-226-100-117.compute-1.amazonaws.com", + "ec2-54-224-92-80.compute-1.amazonaws.com", + "ec2-23-23-168-208.compute-1.amazonaws.com", + "ec2-54-234-3-7.compute-1.amazonaws.com", + "ec2-107-22-234-22.compute-1.amazonaws.com", + "ec2-107-22-234-180.compute-1.amazonaws.com", + "ec2-107-22-241-13.compute-1.amazonaws.com", + "ec2-107-22-247-88.compute-1.amazonaws.com", + "ec2-107-22-248-113.compute-1.amazonaws.com", + "ec2-107-22-249-212.compute-1.amazonaws.com", + "ec2-54-243-146-75.compute-1.amazonaws.com", + "ec2-54-235-143-131.compute-1.amazonaws.com", + "ec2-54-235-143-132.compute-1.amazonaws.com", + "ec2-54-235-143-162.compute-1.amazonaws.com", + "ec2-23-23-130-201.compute-1.amazonaws.com", + "ec2-107-22-234-92.compute-1.amazonaws.com", + "ec2-107-20-176-139.compute-1.amazonaws.com" + ], + "type_m1_medium": [ + "ec2-54-226-227-106.compute-1.amazonaws.com", + "ec2-54-227-113-75.compute-1.amazonaws.com", + "ec2-54-234-233-19.compute-1.amazonaws.com", + "ec2-54-226-244-191.compute-1.amazonaws.com", + "ec2-23-21-100-222.compute-1.amazonaws.com", + "ec2-23-21-133-17.compute-1.amazonaws.com", + "ec2-54-211-252-32.compute-1.amazonaws.com", + "ec2-54-242-36-133.compute-1.amazonaws.com", + "ec2-75-101-157-248.compute-1.amazonaws.com", + "ec2-75-101-159-82.compute-1.amazonaws.com", + "ec2-54-225-88-116.compute-1.amazonaws.com", + "ec2-23-23-169-133.compute-1.amazonaws.com" + ], + "type_m1_small": [ + "ec2-75-101-129-169.compute-1.amazonaws.com", + "ec2-107-20-160-49.compute-1.amazonaws.com" + ], + "type_m1_xlarge": [ + "ec2-54-235-143-133.compute-1.amazonaws.com", + "ec2-54-235-143-134.compute-1.amazonaws.com", + "ec2-54-235-112-3.compute-1.amazonaws.com", + "ec2-54-225-172-84.compute-1.amazonaws.com" + ], + "type_m2_2xlarge": [ + "ec2-23-23-170-30.compute-1.amazonaws.com" + ], + "type_t1_micro": [ + "ec2-75-101-128-47.compute-1.amazonaws.com", + "ec2-23-21-57-109.compute-1.amazonaws.com", + "ec2-75-101-128-224.compute-1.amazonaws.com", + "ec2-23-21-224-105.compute-1.amazonaws.com", + "ec2-54-225-229-159.compute-1.amazonaws.com" + ], + "us-east-1": [ + "ec2-54-226-227-106.compute-1.amazonaws.com", + "ec2-54-227-113-75.compute-1.amazonaws.com", + "ec2-54-235-65-26.compute-1.amazonaws.com", + "ec2-174-129-171-101.compute-1.amazonaws.com", + "ec2-54-234-233-19.compute-1.amazonaws.com", + "ec2-75-101-128-47.compute-1.amazonaws.com", + "ec2-54-234-218-33.compute-1.amazonaws.com", + "ec2-54-226-244-191.compute-1.amazonaws.com", + "ec2-50-19-184-148.compute-1.amazonaws.com", + "ec2-174-129-140-30.compute-1.amazonaws.com", + "ec2-54-227-30-105.compute-1.amazonaws.com", + "ec2-23-21-100-222.compute-1.amazonaws.com", + "ec2-54-226-100-117.compute-1.amazonaws.com", + "ec2-54-224-92-80.compute-1.amazonaws.com", + "ec2-23-21-57-109.compute-1.amazonaws.com", + "ec2-75-101-128-224.compute-1.amazonaws.com", + "ec2-23-21-133-17.compute-1.amazonaws.com", + "ec2-23-23-168-208.compute-1.amazonaws.com", + "ec2-23-23-170-30.compute-1.amazonaws.com", + "ec2-54-211-252-32.compute-1.amazonaws.com", + "ec2-54-234-3-7.compute-1.amazonaws.com", + "ec2-75-101-129-169.compute-1.amazonaws.com", + "ec2-23-21-224-105.compute-1.amazonaws.com", + "ec2-54-242-36-133.compute-1.amazonaws.com", + "ec2-107-22-234-22.compute-1.amazonaws.com", + "ec2-107-22-234-180.compute-1.amazonaws.com", + "ec2-107-22-241-13.compute-1.amazonaws.com", + "ec2-107-22-247-88.compute-1.amazonaws.com", + "ec2-107-22-248-113.compute-1.amazonaws.com", + "ec2-107-22-249-212.compute-1.amazonaws.com", + "ec2-54-243-146-75.compute-1.amazonaws.com", + "ec2-54-235-143-131.compute-1.amazonaws.com", + "ec2-54-235-143-133.compute-1.amazonaws.com", + "ec2-54-235-143-132.compute-1.amazonaws.com", + "ec2-54-235-143-134.compute-1.amazonaws.com", + "ec2-54-235-143-162.compute-1.amazonaws.com", + "ec2-75-101-157-248.compute-1.amazonaws.com", + "ec2-75-101-159-82.compute-1.amazonaws.com", + "ec2-54-225-88-116.compute-1.amazonaws.com", + "ec2-23-23-130-201.compute-1.amazonaws.com", + "ec2-23-23-169-133.compute-1.amazonaws.com", + "ec2-54-235-112-3.compute-1.amazonaws.com", + "ec2-107-20-160-49.compute-1.amazonaws.com", + "ec2-54-225-229-159.compute-1.amazonaws.com", + "ec2-107-22-234-92.compute-1.amazonaws.com", + "ec2-107-20-176-139.compute-1.amazonaws.com", + "ec2-54-225-172-84.compute-1.amazonaws.com", + "dev11-20120311.co735munpzcw.us-east-1.rds.amazonaws.com", + "dev11-20130828.co735munpzcw.us-east-1.rds.amazonaws.com", + "dev11-20130903-dab.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7-rdssnap-p4hsx77hy8l5zqj.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-readonly-db7.co735munpzcw.us-east-1.rds.amazonaws.com", + "web-mktg-1.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "us-east-1c": [ + "ec2-23-21-100-222.compute-1.amazonaws.com", + "ec2-23-23-168-208.compute-1.amazonaws.com", + "ec2-75-101-129-169.compute-1.amazonaws.com", + "ec2-107-22-249-212.compute-1.amazonaws.com", + "ec2-54-235-143-132.compute-1.amazonaws.com", + "ec2-54-235-143-134.compute-1.amazonaws.com", + "ec2-75-101-157-248.compute-1.amazonaws.com", + "ec2-54-235-112-3.compute-1.amazonaws.com", + "ec2-107-20-160-49.compute-1.amazonaws.com", + "ec2-54-225-172-84.compute-1.amazonaws.com", + "dev11-20130828.co735munpzcw.us-east-1.rds.amazonaws.com", + "dev11-20130903-dab.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-db7-rdssnap-p4hsx77hy8l5zqj.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "us-east-1d": [ + "ec2-54-226-227-106.compute-1.amazonaws.com", + "ec2-54-227-113-75.compute-1.amazonaws.com", + "ec2-54-235-65-26.compute-1.amazonaws.com", + "ec2-174-129-171-101.compute-1.amazonaws.com", + "ec2-54-234-233-19.compute-1.amazonaws.com", + "ec2-75-101-128-47.compute-1.amazonaws.com", + "ec2-54-234-218-33.compute-1.amazonaws.com", + "ec2-54-226-244-191.compute-1.amazonaws.com", + "ec2-50-19-184-148.compute-1.amazonaws.com", + "ec2-174-129-140-30.compute-1.amazonaws.com", + "ec2-54-227-30-105.compute-1.amazonaws.com", + "ec2-54-226-100-117.compute-1.amazonaws.com", + "ec2-54-224-92-80.compute-1.amazonaws.com", + "ec2-23-21-57-109.compute-1.amazonaws.com", + "ec2-75-101-128-224.compute-1.amazonaws.com", + "ec2-23-21-133-17.compute-1.amazonaws.com", + "ec2-54-211-252-32.compute-1.amazonaws.com", + "ec2-54-234-3-7.compute-1.amazonaws.com", + "ec2-23-21-224-105.compute-1.amazonaws.com", + "ec2-54-242-36-133.compute-1.amazonaws.com", + "ec2-107-22-234-22.compute-1.amazonaws.com", + "ec2-107-22-234-180.compute-1.amazonaws.com", + "ec2-107-22-241-13.compute-1.amazonaws.com", + "ec2-107-22-247-88.compute-1.amazonaws.com", + "ec2-107-22-248-113.compute-1.amazonaws.com", + "ec2-54-243-146-75.compute-1.amazonaws.com", + "ec2-54-235-143-131.compute-1.amazonaws.com", + "ec2-54-235-143-133.compute-1.amazonaws.com", + "ec2-54-235-143-162.compute-1.amazonaws.com", + "ec2-75-101-159-82.compute-1.amazonaws.com", + "ec2-54-225-88-116.compute-1.amazonaws.com", + "ec2-23-23-130-201.compute-1.amazonaws.com", + "ec2-23-23-169-133.compute-1.amazonaws.com", + "ec2-54-225-229-159.compute-1.amazonaws.com", + "ec2-107-22-234-92.compute-1.amazonaws.com", + "ec2-107-20-176-139.compute-1.amazonaws.com", + "dev11-20120311.co735munpzcw.us-east-1.rds.amazonaws.com", + "web-mktg-1.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "us-east-1e": [ + "ec2-23-23-170-30.compute-1.amazonaws.com", + "production-db7.co735munpzcw.us-east-1.rds.amazonaws.com", + "production-readonly-db7.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "web-mktg-1": [ + "web-mktg-1.co735munpzcw.us-east-1.rds.amazonaws.com" + ], + "web1.axialmarket.com": [ + "ec2-75-101-157-248.compute-1.amazonaws.com" + ], + "web2.axialmarket.com": [ + "ec2-75-101-159-82.compute-1.amazonaws.com" + ], + "willnew.axialmarket.com": [ + "ec2-107-22-234-22.compute-1.amazonaws.com" + ], + "worker1new.axialmarket.com": [ + "ec2-54-235-143-133.compute-1.amazonaws.com" + ], + "worker1newdev.axialmarket.com": [ + "ec2-107-22-249-212.compute-1.amazonaws.com" + ], + "worker2new.axialmarket.com": [ + "ec2-54-235-143-134.compute-1.amazonaws.com" + ], + "www-test.axialmarket.com": [ + "ec2-54-234-233-19.compute-1.amazonaws.com" + ] +} + +host_vars = { + +} + +if __name__ == '__main__': + parser = optparse.OptionParser() + parser.add_option('--list', action='store_true', dest='list') + parser.add_option('--host', dest='hostname', default='') + options, args = parser.parse_args() + if options.list: + print json.dumps(inv_list, indent=4) + elif options.hostname: + print json.dumps(host_vars, indent=4) + else: + print json.dumps({}, indent=4) + diff --git a/setup.py b/setup.py index 0a2394eecc..22afa21d61 100755 --- a/setup.py +++ b/setup.py @@ -95,6 +95,8 @@ class sdist_awx(_sdist, object): continue if f.startswith('awx/plugins'): continue + if f.startswith('awx/main/tests/data'): + continue if f.endswith('.py'): log.info('using pyc for: %s', f) py_compile.compile(f, doraise=True)