X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=bluval%2Fblucon.py;h=cea16de65bc9ad6068193426c5491dbcd045b48a;hb=8b9787e27f747381443b7f785f723e58a482d3a3;hp=ececc1f6228612d4f323d9f968498d5d5b14f176;hpb=7918d7e7895da4c6ea4b25610780522ac0351d00;p=validation.git diff --git a/bluval/blucon.py b/bluval/blucon.py index ececc1f..cea16de 100644 --- a/bluval/blucon.py +++ b/bluval/blucon.py @@ -29,6 +29,9 @@ import yaml from bluutil import BluvalError from bluutil import ShowStopperError +_OPTIONAL_ALSO = False +_SUBNET = "" + def get_volumes(layer): """Create a list with volumes to mount in the container for given layer """ @@ -53,13 +56,13 @@ def get_volumes(layer): def invoke_docker(bluprint, layer): """Start docker container for given layer """ - volume_list = get_volumes('common') + get_volumes(layer) - cmd = ("docker run" + volume_list + + cmd = ("docker run --rm" + volume_list + _SUBNET + " akraino/validation:{0}-latest" " /bin/sh -c" " 'cd /opt/akraino/validation " - "&& python bluval/bluval.py -l {0} {1}'").format(layer, bluprint) + "&& python bluval/bluval.py -l {0} {1} {2}'" + .format(layer, ("-o" if _OPTIONAL_ALSO else ""), bluprint)) args = [cmd] try: @@ -86,14 +89,24 @@ def invoke_dockers(yaml_loc, layer, blueprint_name): @click.command() @click.argument('blueprint') @click.option('--layer', '-l') -def main(blueprint, layer): +@click.option('--network', '-n') +@click.option('--optional_also', '-o', is_flag=True) +def main(blueprint, layer, network, optional_also): """Takes blueprint name and optional layer. Validates inputs and derives yaml location from blueprint name. Invokes validate on blue print. """ + global _OPTIONAL_ALSO # pylint: disable=global-statement + global _SUBNET # pylint: disable=global-statement mypath = Path(__file__).absolute() yaml_loc = mypath.parents[0].joinpath('bluval-{}.yaml'.format(blueprint)) if layer is not None: layer = layer.lower() + if optional_also: + _OPTIONAL_ALSO = True + print("_OPTIONAL_ALSO {}".format(_OPTIONAL_ALSO)) + if network is not None: + _SUBNET = " --net=" + network + print("Using", _SUBNET) try: invoke_dockers(yaml_loc, layer, blueprint) except ShowStopperError as err: