local_agent_tasks.py 1.68 KB
Newer Older
Bach Dániel committed
1 2 3 4 5 6 7 8
from manager.mancelery import celery
from vm.tasks.agent_tasks import (restart_networking, change_password,
                                  set_time, set_hostname)
import time


@celery.task
def agent_started(vm):
9
    from vm.models import Instance, instance_activity
Bach Dániel committed
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
    instance = Instance.objects.get(id=int(vm.split('-')[-1]))

    with instance_activity(code_suffix='agent', instance=instance) as act:
        with act.sub_activity('starting'):
            queue = "%s.agent" % instance.node.host.hostname
            print queue
            restart_networking.apply_async(queue=queue,
                                           args=(vm, ))
            change_password.apply_async(queue=queue,
                                        args=(vm, instance.pw))
            set_time.apply_async(queue=queue,
                                 args=(vm, time.time()))
            set_hostname.apply_async(queue=queue,
                                     args=(vm, instance.primary_host.hostname))


@celery.task
def agent_stopped(vm):
28
    from vm.models import Instance, InstanceActivity
Bach Dániel committed
29 30 31 32 33 34 35 36 37 38
    instance = Instance.objects.get(id=int(vm.split('-')[-1]))
    qs = InstanceActivity.objects.filter(instance=instance,
                                         activity_code='vm.Instance.agent')
    act = qs.latest('id')
    with act.sub_activity('stopping'):
        pass


@celery.task
def agent_ok(vm):
39
    from vm.models import Instance, InstanceActivity
Bach Dániel committed
40 41 42 43 44 45
    instance = Instance.objects.get(id=int(vm.split('-')[-1]))
    qs = InstanceActivity.objects.filter(instance=instance,
                                         activity_code='vm.Instance.agent')
    act = qs.latest('id')
    with act.sub_activity('ok'):
        pass