#!/usr/bin/env python3
#
# Participant list generator for 'simplestream' 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)

null_reason = None

valid, message = spec_is_valid(json)

if not valid:
    pscheduler.fail(message)


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))
if dest is None:
    pscheduler.fail('No dest in test specification')


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

pscheduler.succeed_json(result)
