From 8c4e4f4c0d282889eeda057bd510cfdfaad13def Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Fri, 15 Apr 2016 14:42:51 -0400 Subject: [PATCH] Creating pre-loaded demo data * Bootstrap some initial data if there is no default org * Renamed default org script appropriately --- .../management/commands/create_default_org.py | 27 ----------- .../commands/create_preload_data.py | 47 +++++++++++++++++++ 2 files changed, 47 insertions(+), 27 deletions(-) delete mode 100644 awx/main/management/commands/create_default_org.py create mode 100644 awx/main/management/commands/create_preload_data.py diff --git a/awx/main/management/commands/create_default_org.py b/awx/main/management/commands/create_default_org.py deleted file mode 100644 index dbdb64ef85..0000000000 --- a/awx/main/management/commands/create_default_org.py +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright (c) 2015 Ansible, Inc. -# All Rights Reserved - -from django.core.management.base import BaseCommand -from crum import impersonate -from awx.main.models import User, Organization - - -class Command(BaseCommand): - """Creates the default organization if and only if no organizations - exist in the system. - """ - help = 'Creates a default organization iff there are none.' - - def handle(self, *args, **kwargs): - # Sanity check: Is there already an organization in the system? - if Organization.objects.count(): - return - - # Create a default organization as the first superuser found. - try: - superuser = User.objects.filter(is_superuser=True).order_by('pk')[0] - except IndexError: - superuser = None - with impersonate(superuser): - Organization.objects.create(name='Default') - print('Default organization added.') diff --git a/awx/main/management/commands/create_preload_data.py b/awx/main/management/commands/create_preload_data.py new file mode 100644 index 0000000000..37b65c3bf4 --- /dev/null +++ b/awx/main/management/commands/create_preload_data.py @@ -0,0 +1,47 @@ +# Copyright (c) 2015 Ansible, Inc. +# All Rights Reserved + +from django.core.management.base import BaseCommand +from crum import impersonate +from awx.main.models import User, Organization, Project, Inventory, Credential, Host, JobTemplate + + +class Command(BaseCommand): + """Create preloaded data, intended for new installs + """ + help = 'Creates a preload tower data iff there is none.' + + def handle(self, *args, **kwargs): + # Sanity check: Is there already an organization in the system? + if Organization.objects.count(): + return + + # Create a default organization as the first superuser found. + try: + superuser = User.objects.filter(is_superuser=True).order_by('pk')[0] + except IndexError: + superuser = None + with impersonate(superuser): + o = Organization.objects.create(name='Default') + p = Project.objects.create(name='Demo Project', + scm_type='git', + scm_url='https://github.com/ansible/ansible-tower-samples', + scm_update_on_launch=True, + scm_update_cache_timeout=0, + organization=o) + c = Credential.objects.create(name='Demo Credential', + username=superuser.username, + created_by=superuser) + c.owner_role.members.add(superuser) + i = Inventory.objects.create(name='Demo Inventory', + organization=o, + created_by=superuser) + h = Host.objects.create(name='localhost', + inventory=i, + variables="ansible_connection: local", + created_by=superuser) + jt = JobTemplate.objects.create(name='Demo Job Template', + project=p, + inventory=i, + credential=c) + print('Default organization added.')