blob: dd0be397ba1a832692e77b08c839f0c2bc6bd58e [file] [log] [blame]
Omar Abdelkaderddf6a432017-07-10 13:12:00 -07001import os
2import sys
Omar Abdelkaderd8014cc2017-07-24 10:14:08 -07003from django.db.models import Q, F
Omar Abdelkaderddf6a432017-07-10 13:12:00 -07004from synchronizers.new_base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
5from synchronizers.new_base.modelaccessor import *
6
7parentdir = os.path.join(os.path.dirname(__file__), "..")
8sys.path.insert(0, parentdir)
9
10class SyncVPGWCTenant(SyncInstanceUsingAnsible):
Omar Abdelkaderddf6a432017-07-10 13:12:00 -070011 provides = [VPGWCTenant]
12
13 observes = VPGWCTenant
14
15 requested_interval = 0
16
17 template_name = "vpgwctenant_playbook.yaml"
18
19 service_key_name = "/opt/xos/configurations/mcord/mcord_private_key"
20
21 def __init__(self, *args, **kwargs):
22 super(SyncVPGWCTenant, self).__init__(*args, **kwargs)
23
Omar Abdelkaderd8014cc2017-07-24 10:14:08 -070024 def fetch_pending(self, deleted):
Omar Abdelkaderd8014cc2017-07-24 10:14:08 -070025 if (not deleted):
26 objs = VPGWCTenant.get_tenant_objects().filter(
27 Q(enacted__lt=F('updated')) | Q(enacted=None), Q(lazy_blocked=False))
28 else:
Omar Abdelkaderd8014cc2017-07-24 10:14:08 -070029 objs = VPGWCTenant.get_deleted_tenant_objects()
Omar Abdelkaderddf6a432017-07-10 13:12:00 -070030
Omar Abdelkaderd8014cc2017-07-24 10:14:08 -070031 return objs
Omar Abdelkaderddf6a432017-07-10 13:12:00 -070032
Omar Abdelkaderd8014cc2017-07-24 10:14:08 -070033