mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 10:00:01 -03:30
* Gut the HA middleware * Purge concept of primary and secondary. * UUID is not the primary host identifier, now it's based mostly on the username. Some work probably still left to do to make sure this is legit. Also removed unique constraint from the uuid field. This might become the cluster ident now... or it may just deprecate * No more secondary -> primary redirection * Initial revision of /api/v1/ping * Revise and gut tower-manage register_instance * Rename awx/main/socket.py to awx/main/socket_queue.py to prevent conflict with the "socket" module from python base * Revist/gut the Instance manager... not sure if this manager is really needed anymore
34 lines
1.0 KiB
Python
34 lines
1.0 KiB
Python
# Copyright (c) 2015 Ansible, Inc.
|
|
# All Rights Reserved
|
|
|
|
from django.core.management.base import CommandError
|
|
|
|
from awx.main.management.commands._base_instance import BaseCommandInstance
|
|
from awx.main.models import Instance
|
|
|
|
instance_str = BaseCommandInstance.instance_str
|
|
|
|
class Command(BaseCommandInstance):
|
|
"""
|
|
Internal tower command.
|
|
Regsiter this instance with the database for HA tracking.
|
|
|
|
This command is idempotent.
|
|
"""
|
|
def __init__(self):
|
|
super(Command, self).__init__()
|
|
self.include_option_hostname_set()
|
|
|
|
def handle(self, *args, **options):
|
|
super(Command, self).handle(*args, **options)
|
|
|
|
uuid = self.get_UUID()
|
|
|
|
instance = Instance.objects.filter(hostname=self.get_option_hostname())
|
|
if instance.exists():
|
|
print("Instance already registered %s" % instance_str(instance[0]))
|
|
return
|
|
instance = Instance(uuid=uuid, hostname=self.get_option_hostname())
|
|
instance.save()
|
|
print('Successfully registered instance %s.' % instance_str(instance))
|