remote_tasks.py 1.82 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# Copyright 2014 Budapest University of Technology and Economics (BME IK)
#
# This file is part of CIRCLE Cloud.
#
# CIRCLE is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# CIRCLE is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along
# with CIRCLE.  If not, see <http://www.gnu.org/licenses/>.

18 19 20
from manager.mancelery import celery


21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
def check_queue(firewall, queue_id, priority):
    ''' Celery inspect job to check for active workers at queue_id
        return True/False
    '''
    queue_name = firewall + "." + queue_id
    if priority is not None:
        queue_name = queue_name + "." + priority
    inspect = celery.control.inspect()
    inspect.timeout = 0.1
    active_queues = inspect.active_queues()
    if active_queues is None:
        return False

    queue_names = (queue['name'] for worker in active_queues.itervalues()
                   for queue in worker)
    return queue_name in queue_names


39 40 41 42 43 44 45 46 47 48
@celery.task(name='firewall.reload_dns')
def reload_dns(data):
    pass


@celery.task(name='firewall.reload_firewall')
def reload_firewall(data4, data6):
    pass


49 50 51 52 53
@celery.task(name='firewall.reload_firewall_vlan')
def reload_firewall_vlan(data):
    pass


54 55 56 57 58 59 60 61 62 63 64 65 66
@celery.task(name='firewall.reload_dhcp')
def reload_dhcp(data):
    pass


@celery.task(name='firewall.reload_blacklist')
def reload_blacklist(data):
    pass


@celery.task(name='firewall.get_dhcp_clients')
def get_dhcp_clients(data):
    pass