From ebf4e585a6bbc7a08c5e779ff9863436e44484d8 Mon Sep 17 00:00:00 2001 From: Taseer Date: Tue, 25 Apr 2017 17:18:27 +0500 Subject: Implement qtip workspace create Change-Id: Ibd4213a6c4c86a7f4e8f99b16cba5055a3abba39 Signed-off-by: Taseer Ahmed --- qtip/cli/commands/cmd_run.py | 16 ++++++++++++++++ qtip/cli/commands/cmd_setup.py | 16 ++++++++++++++++ qtip/cli/commands/cmd_workspace.py | 34 ++++++++++++++++++++++++++++++++++ qtip/cli/utils.py | 9 +++++++++ 4 files changed, 75 insertions(+) create mode 100644 qtip/cli/commands/cmd_run.py create mode 100644 qtip/cli/commands/cmd_setup.py create mode 100644 qtip/cli/commands/cmd_workspace.py (limited to 'qtip/cli') diff --git a/qtip/cli/commands/cmd_run.py b/qtip/cli/commands/cmd_run.py new file mode 100644 index 00000000..d1b96d4f --- /dev/null +++ b/qtip/cli/commands/cmd_run.py @@ -0,0 +1,16 @@ +############################################################################## +# Copyright (c) 2017 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 + + +@click.command('run', help='Run performance tests') +def cli(): + pass diff --git a/qtip/cli/commands/cmd_setup.py b/qtip/cli/commands/cmd_setup.py new file mode 100644 index 00000000..586a4a72 --- /dev/null +++ b/qtip/cli/commands/cmd_setup.py @@ -0,0 +1,16 @@ +############################################################################## +# Copyright (c) 2017 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 + + +@click.command('setup', help='Setup QTIP workspace') +def cli(): + pass diff --git a/qtip/cli/commands/cmd_workspace.py b/qtip/cli/commands/cmd_workspace.py new file mode 100644 index 00000000..9636f7fb --- /dev/null +++ b/qtip/cli/commands/cmd_workspace.py @@ -0,0 +1,34 @@ +############################################################################## +# Copyright (c) 2017 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 +import os + +from qtip.cli import utils + + +@click.group() +def cli(): + """ Manage QTIP workspace """ + pass + + +@cli.command("create", help="Create QTIP workspace") +def create(): + extra_vars = { + 'qtip_package': utils.QTIP_PACKAGE, + 'cwd': os.getcwd() + } + os.system("ANSIBLE_ROLES_PATH={qtip_package}/{roles_path} ansible-playbook" + " {qtip_package}/{roles_path}/qtip-workspace/create.yml" + " --extra-vars '{extra_vars}'" + "".format(qtip_package=utils.QTIP_PACKAGE, + roles_path=utils.ROLES_PATH, + extra_vars=utils.join_vars(**extra_vars))) diff --git a/qtip/cli/utils.py b/qtip/cli/utils.py index a7473236..832e5ba9 100644 --- a/qtip/cli/utils.py +++ b/qtip/cli/utils.py @@ -9,10 +9,19 @@ from jinja2 import Environment from jinja2 import FileSystemLoader +import os from os import path from prettytable import PrettyTable +QTIP_PACKAGE = path.join(path.dirname(__file__), os.pardir, os.pardir) +ROLES_PATH = 'resources/ansible_roles' + + +def join_vars(**kwargs): + return " ".join(["{}={}".format(variable, value) for variable, value in kwargs.items()]) + + def table(name, components): """ Return a PrettyTable for component listing """ table = PrettyTable([name]) -- cgit 1.2.3-korg