blob: e73baea33ce0f43dac1842872b578be9f98a85e1 [file] [log] [blame]
Yunpeng Zhang0ff05152017-08-01 22:28:40 -04001import os
2import sys
3from django.db.models import Q, F
4from synchronizers.new_base.modelaccessor import *
5from synchronizers.new_base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
6
7parentdir = os.path.join(os.path.dirname(__file__), "..")
8sys.path.insert(0, parentdir)
9
10class SyncVMMTenant(SyncInstanceUsingAnsible):
Yunpeng Zhang0ff05152017-08-01 22:28:40 -040011 provides = [VMMTenant]
12
13 observes = VMMTenant
14
15 requested_interval = 0
16
17 template_name = "vmmtenant_playbook.yaml"
18
Omar Abdelkadereef4b2d2017-08-07 19:31:43 -060019 service_key_name = "/opt/xos/configurations/mcord/mcord_private_key"
Yunpeng Zhang0ff05152017-08-01 22:28:40 -040020
21 def __init__(self, *args, **kwargs):
22 super(SyncVMMTenant, self).__init__(*args, **kwargs)
23
24 def fetch_pending(self, deleted):
Yunpeng Zhang0ff05152017-08-01 22:28:40 -040025 if (not deleted):
26 objs = VMMTenant.get_tenant_objects().filter(
27 Q(enacted__lt=F('updated')) | Q(enacted=None), Q(lazy_blocked=False))
28 else:
29 # If this is a deletion we get all of the deleted tenants..
30 objs = VMMTenant.get_deleted_tenant_objects()
31
32 return objs
33