summaryrefslogtreecommitdiffstats
path: root/qtip
diff options
context:
space:
mode:
authorTaseer <taseer94@gmail.com>2017-04-25 17:18:27 +0500
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-05-07 18:23:08 +0800
commitebf4e585a6bbc7a08c5e779ff9863436e44484d8 (patch)
tree2b3e0853ed0b601472af446b7944dbfba7919035 /qtip
parent3f4432611417378eb56c962b1fbc5270722e77cb (diff)
Implement qtip workspace create
Change-Id: Ibd4213a6c4c86a7f4e8f99b16cba5055a3abba39 Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
Diffstat (limited to 'qtip')
-rw-r--r--qtip/cli/commands/cmd_run.py16
-rw-r--r--qtip/cli/commands/cmd_setup.py16
-rw-r--r--qtip/cli/commands/cmd_workspace.py34
-rw-r--r--qtip/cli/utils.py9
4 files changed, 75 insertions, 0 deletions
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])