blob: 331a92319971de91bbf49292062c43f0ab2f4618 [file] [log] [blame]
Yunpeng Zhanga2c27332017-08-15 23:00:11 -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 SyncVSGWUTenant(SyncInstanceUsingAnsible):
Yunpeng Zhanga2c27332017-08-15 23:00:11 -040011 provides = [VSGWUTenant]
12
13 observes = VSGWUTenant
14
15 requested_interval = 0
16
17 template_name = "vpgwutenant_playbook.yaml"
18
19 service_key_name = "/opt/xos/configurations/mcord/mcord_private_key"
20
21 def __init__(self, *args, **kwargs):
22 super(SyncVSGWUTenant, self).__init__(*args, **kwargs)
23
24 def fetch_pending(self, deleted):
Yunpeng Zhanga2c27332017-08-15 23:00:11 -040025 if (not deleted):
26 objs = VSGWUTenant.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 = VSGWUTenant.get_deleted_tenant_objects()
31
32 return objs
33