Fix some issues with management commands for clustering

This commit is contained in:
Matthew Jones 2016-10-07 09:58:47 -04:00
parent babe29ebfa
commit 20b5aa7424
2 changed files with 35 additions and 9 deletions

View File

@ -0,0 +1,27 @@
# Copyright (c) 2016 Ansible, Inc.
# All Rights Reserved
from django.core.management.base import CommandError, BaseCommand
from optparse import make_option
from awx.main.models import Instance
class Command(BaseCommand):
"""
Deprovision a Tower cluster node
"""
option_list = BaseCommand.option_list + (
make_option('--name', dest='name', type='string',
help='Hostname used during provisioning'),
)
def handle(self, **options):
# Get the instance.
instance = Instance.objects.filter(hostname=options.get('name'))
if instance.exists():
instance.delete()
print('Successfully removed')
else:
print('No instance found matching name {}'.format(options.get('name')))

View File

@ -4,27 +4,26 @@
from awx.main.models import Instance
from django.conf import settings
from django.core.management.base import CommandError, NoArgsCommand
from optparse import make_option
from django.core.management.base import CommandError, BaseCommand
class Command(NoArgsCommand):
class Command(BaseCommand):
"""
Internal tower command.
Regsiter this instance with the database for HA tracking.
"""
option_list = NoArgsCommand.option_list + (
option_list = BaseCommand.option_list + (
make_option('--hostname', dest='hostname', type='string',
help='Hostname used during provisioning')
help='Hostname used during provisioning'),
)
def handle(self, *args, **options):
super(Command, self).handle(**options)
def handle(self, **options):
uuid = settings.SYSTEM_UUID
instance = Instance.objects.filter(hostname=options.get('hostname'))
if instance.exists():
print("Instance already registered %s" % instance_str(instance[0]))
print("Instance already registered {}".format(instance[0]))
return
instance = Instance(uuid=uuid, hostname=options.get('hostname'))
instance.save()
print('Successfully registered instance %s.' % instance_str(instance))
print('Successfully registered instance {}'.format(instance))