lasterrorspath = '../lasterrors.txt' monitor_privkey_path = str(config.other['monitor_privkey_path']) serverinfotuple = read_serverinfo(serverinfocsvpath) localstate = {} for propertytuple in serverinfotuple: (launch_time, instance_id, publichost, status) = propertytuple localstate[instance_id] = (launch_time, publichost, status) POLL_TIME = 10 ADDRESS_WAIT_TIME = 60 def checker(stdout, stderr): d = wait_for_EC2_properties(ec2accesskeyid, ec2secretkey, endpoint_uri, ServerInfoParser(('launchTime', 'instanceId'), ('dnsName', 'instanceState.name')), POLL_TIME, ADDRESS_WAIT_TIME, sys.stdout, stderr) d.addCallback(lambda remoteproperties: compare_servers_to_local(remoteproperties, localstate, stdout, stderr)) d.addCallback(lambda host_list: check_servers(host_list, monitor_privkey_path, stdout, stderr)) return d d = monitoring_check(checker=checker, lasterrorspath=lasterrorspath, from_email="*****@*****.**", what="storage servers", stdout=sys.stdout, stderr=sys.stderr) d.addCallbacks(lambda ign: os._exit(0), lambda ign: os._exit(1)) reactor.run()