vm_tasks.py 2.73 KB
Newer Older
Őry Máté committed
1 2 3
from django.core.cache import cache
from logging import getLogger

Guba Sándor committed
4
from manager.mancelery import celery
5

Őry Máté committed
6 7
logger = getLogger(__name__)

8

9
def check_queue(node_hostname, queue_id):
Őry Máté committed
10 11 12 13 14 15
    """True if the queue is alive.

    Example: check_queue('node01', 'vm'):
    :param node_hostname: Short hostname of the node.
    :param queue_id: Queue identifier (eg. vm).
    """
Őry Máté committed
16
    # drivers = ['vmdriver', 'netdriver', 'agentdriver']
Őry Máté committed
17
    # worker_list = [node_hostname + "." + d for d in drivers]
18
    queue_name = node_hostname + "." + queue_id
Őry Máté committed
19
    active_queues = get_queues()
20 21
    if active_queues is None:
        return False
22 23 24
    queue_names = (queue['name'] for worker in active_queues.itervalues()
                   for queue in worker)
    return queue_name in queue_names
25

Őry Máté committed
26

Őry Máté committed
27 28 29
def get_queues():
    """Get active celery queues.

30 31
    Returns a dictionary whose entries are (worker name;list of queues) pairs,
    where queues are represented by dictionaries.
Őry Máté committed
32 33 34 35 36 37 38 39 40 41 42 43 44
    Result is cached for 10 seconds!
    """
    key = __name__ + u'queues'
    result = cache.get(key)
    if result is None:
        inspect = celery.control.inspect()
        inspect.timeout = 0.1
        result = inspect.active_queues()
        logger.debug('Queue list of length %d cached.', len(result))
        cache.set(key, result, 10)
    return result


45
@celery.task(name='vmdriver.create')
46
def deploy(params):
Guba Sándor committed
47 48 49
    pass


50 51
@celery.task(name='vmdriver.delete')
def destroy(params):
Guba Sándor committed
52 53 54
    pass


55 56
@celery.task(name='vmdriver.save')
def sleep(params):
Guba Sándor committed
57 58 59
    pass


60 61
@celery.task(name='vmdriver.restore')
def wake_up(params):
Guba Sándor committed
62 63 64
    pass


65 66
@celery.task(name='vmdriver.suspend')
def suspend(params):
Guba Sándor committed
67 68 69
    pass


70 71
@celery.task(name='vmdriver.resume')
def resume(params):
Guba Sándor committed
72 73 74
    pass


75 76
@celery.task(name='vmdriver.shutdown')
def shutdown(params):
Guba Sándor committed
77 78 79
    pass


80 81
@celery.task(name='vmdriver.reset')
def reset(params):
Guba Sándor committed
82 83 84
    pass


85 86
@celery.task(name='vmdriver.reboot')
def reboot(params):
Guba Sándor committed
87 88 89 90 91
    pass


@celery.task(name='vmdriver.migrate')
def migrate(params):
92
    pass
Guba Sándor committed
93 94 95 96 97 98 99 100 101 102


@celery.task(name='vmdriver.domain_info')
def domain_info(params):
    pass


@celery.task(name='vmdriver.list_domains')
def list_domains(params):
    pass
103

104

105 106 107 108 109
@celery.task(name='vmdriver.list_domains_info')
def list_domains_info(params):
    pass


110 111 112
@celery.task(name='vmdriver.ping')
def ping(params):
    pass
113 114 115 116 117 118 119


@celery.task(name='vmdriver.get_core_num')
def get_core_num(params):
    pass


120 121 122 123 124
@celery.task(name='vmdriver.get_architecture')
def get_architecture():
    pass


125 126 127
@celery.task(name='vmdriver.get_ram_size')
def get_ram_size(params):
    pass
128

Gregory Nagy committed
129

130 131 132 133 134
@celery.task(name='vmdriver.get_info')
def get_info(params):
    pass


135 136 137
@celery.task(name='vmdriver.get_node_metrics')
def get_node_metrics(params):
    pass
138 139 140 141 142


@celery.task(name='vmdriver.screenshot')
def screenshot(params):
    pass