vm_tasks.py 2.55 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
    # v is List of List of queues dict
23
    node_workers = [v for k, v in active_queues.iteritems()]
24 25 26 27 28 29
    for worker in node_workers:
        for queue in worker:
            if queue['name'] == queue_name:
                return True
    return False

Őry Máté committed
30

Őry Máté committed
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
def get_queues():
    """Get active celery queues.

    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


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


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


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


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


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


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


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


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


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


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


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


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

106

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


112 113 114
@celery.task(name='vmdriver.ping')
def ping(params):
    pass
115 116 117 118 119 120 121 122 123 124


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


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

Gregory Nagy committed
126

127 128 129
@celery.task(name='vmdriver.get_node_metrics')
def get_node_metrics(params):
    pass
130 131 132 133 134


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