#!/usr/bin/env python3
#
# Participant list generator for 'latencybg' task spec
#
# Input is a test spec, assumed to have been validated by spec-is-valid.
#
# Output is a list of hostnames or IPs that are participating.
#

import pscheduler
import sys

from validate import spec_is_valid


json = pscheduler.json_load(exit_on_error=True)

valid, message = spec_is_valid(json)

if not valid:
    pscheduler.fail(message)


null_reason = None

#participant depends on whether we flipped the test or not

#source first participant, dest the second
source = json.get('source-node', json.get('source', None))
if source is None:
    null_reason = "No source specified"
dest = json.get('dest-node', json.get('dest', None))
flip = json.get('flip', False)

if flip:
    participants = [ dest ]
else:
    participants = [ source ]


result = { "participants": participants }
if null_reason is not None:
    result["null-reason"] = null_reason

pscheduler.succeed_json(result)

