diff options
Diffstat (limited to 'qtip/cli/commands')
-rw-r--r-- | qtip/cli/commands/cmd_plan.py | 69 | ||||
-rw-r--r-- | qtip/cli/commands/cmd_project.py | 34 |
2 files changed, 23 insertions, 80 deletions
diff --git a/qtip/cli/commands/cmd_plan.py b/qtip/cli/commands/cmd_plan.py deleted file mode 100644 index b7c540b7..00000000 --- a/qtip/cli/commands/cmd_plan.py +++ /dev/null @@ -1,69 +0,0 @@ -############################################################################## -# Copyright (c) 2016 taseer94@gmail.com and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## - - -import click -from colorama import Fore -import os - -from qtip.base.error import InvalidContentError -from qtip.base.error import NotFoundError -from qtip.cli import utils -from qtip.cli.entry import Context -from qtip.loader.plan import Plan - - -pass_context = click.make_pass_decorator(Context, ensure=False) - - -@click.group() -@pass_context -def cli(ctx): - ''' Bechmarking Plan ''' - pass - - -@cli.command('init', help='Initialize Environment') -@pass_context -def init(ctx): - pass - - -@cli.command('list', help='List the Plans') -@pass_context -def list(ctx): - plans = Plan.list_all() - table = utils.table('Plans', plans) - click.echo(table) - - -@cli.command('show', help='View details of a Plan') -@click.argument('name') -@pass_context -def show(ctx, name): - try: - plan = Plan('{}.yaml'.format(name)) - except NotFoundError as nf: - click.echo(Fore.RED + "ERROR: plan spec: " + nf.message) - except InvalidContentError as ice: - click.echo(Fore.RED + "ERROR: plan spec: " + ice.message) - else: - cnt = plan.content - output = utils.render('plan', cnt) - click.echo(output) - - -@cli.command('run', help='Execute a Plan') -@click.argument('name') -@click.option('-p', '--path', help='Path to store results') -@pass_context -def run(ctx, name, path): - runner_path = os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir, - 'runner/runner.py') - os.system('python {0} -b all -d {1}'.format(runner_path, path)) diff --git a/qtip/cli/commands/cmd_project.py b/qtip/cli/commands/cmd_project.py index 740fb1c4..f7ac3a83 100644 --- a/qtip/cli/commands/cmd_project.py +++ b/qtip/cli/commands/cmd_project.py @@ -39,12 +39,22 @@ def cli(): @cli.command(help="Create new testing project") -@click.option('--pod', default='unknown', help='Name of pod under test') -@click.option('--installer', help='OPNFV installer', default='manual') -@click.option('--master-host', help='Installer hostname', default='dummy-host') -@click.option('--scenario', default='unknown', help='OPNFV scenario') +@click.option('--template', + prompt='Choose project template', + type=click.Choice(['compute', 'doctor']), + default='compute', + help='Choose project template') +@click.option('--pod', default='unknown', prompt='Pod Name', + help='Name of pod under test') +@click.option('--installer', prompt='OPNFV Installer', + help='OPNFV installer', default='manual') +@click.option('--master-host', prompt='Installer Hostname', + help='Installer hostname', default='dummy-host') +@click.option('--scenario', prompt='OPNFV Scenario', default='unknown', + help='OPNFV scenario') @click.argument('name') -def create(pod, installer, master_host, scenario, name): +def create(pod, installer, master_host, scenario, name, template): + qtip_generator_role = os.path.join(utils.QTIP_ANSIBLE_ROLES, 'qtip-generator') extra_vars = { 'qtip_package': utils.QTIP_PACKAGE, 'cwd': os.getcwd(), @@ -52,14 +62,16 @@ def create(pod, installer, master_host, scenario, name): 'installer': installer, 'scenario': scenario, 'installer_master_host': master_host, - 'workspace': name + 'project_name': name, + 'project_template': template } - os.system("ANSIBLE_ROLES_PATH={qtip_package}/{roles_path} ansible-playbook" - " -i {qtip_package}/{roles_path}/qtip-workspace/hosts" - " {qtip_package}/{roles_path}/qtip-workspace/create.yml" + os.system("ANSIBLE_ROLES_PATH={roles_path} ansible-playbook" + " -i {hosts}" + " {playbook}" " --extra-vars '{extra_vars}'" - "".format(qtip_package=utils.QTIP_PACKAGE, - roles_path=utils.ROLES_PATH, + "".format(roles_path=utils.QTIP_ANSIBLE_ROLES, + hosts=os.path.join(qtip_generator_role, 'hosts'), + playbook=os.path.join(qtip_generator_role, 'main.yml'), extra_vars=utils.join_vars(**extra_vars))) |