diff options
author | SerenaFeng <feng.xiaowei@zte.com.cn> | 2016-10-13 14:46:10 +0800 |
---|---|---|
committer | SerenaFeng <feng.xiaowei@zte.com.cn> | 2016-10-17 16:02:21 +0800 |
commit | cc78db7c49dcff6d96390e31ad31870734054680 (patch) | |
tree | aa0d6c335514ed8effd577b3fc3d0ed436d1c564 | |
parent | f7b4e61fcc20c5814d9b7ed5ebefbec1b549cd03 (diff) |
add CLI framework for qtip
add cli framework to implement commands
JIRA: QTIP-125
Change-Id: I442e9df9d3ea8443adb7a7aedd5849457dcead7e
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
-rw-r--r-- | __init__.py | 0 | ||||
-rw-r--r-- | cli/README.rst | 11 | ||||
-rw-r--r-- | cli/__init__.py | 0 | ||||
-rw-r--r-- | cli/cli_entry.py | 44 | ||||
-rw-r--r-- | cli/commands/__init__.py | 0 | ||||
-rw-r--r-- | cli/commands/cli_ansible.py | 32 | ||||
-rw-r--r-- | cli/setup.py | 23 |
7 files changed, 110 insertions, 0 deletions
diff --git a/__init__.py b/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/__init__.py diff --git a/cli/README.rst b/cli/README.rst new file mode 100644 index 00000000..65f4af86 --- /dev/null +++ b/cli/README.rst @@ -0,0 +1,11 @@ +QTIP CLI +======== +Note: The cli is only tested within docker + +install +------- +pip install . + +usage +----- +qtip -h diff --git a/cli/__init__.py b/cli/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cli/__init__.py diff --git a/cli/cli_entry.py b/cli/cli_entry.py new file mode 100644 index 00000000..f6838f0c --- /dev/null +++ b/cli/cli_entry.py @@ -0,0 +1,44 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corp 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 cli.commands.cli_ansible import CliAnsible + +CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help']) + + +@click.group(context_settings=CONTEXT_SETTINGS) +@click.version_option(version='opnfv qtip.0.1 ') +def cli(): + pass + +_ansible = CliAnsible() + + +@cli.group() +@click.pass_context +def ansible(ctx): + pass + + +@ansible.command('prepare', help="Prepares the ansible environment. " + "This step is needed run benchmarks.") +def ansible_prepare(): + _ansible.prepare() + + +@ansible.command('show', help="Shows the current ansible configuration.") +def ansible_show(): + _ansible.show() + + +@ansible.command('status', help="Checks if ansible still connects to hosts.") +def ansible_status(): + _ansible.status() diff --git a/cli/commands/__init__.py b/cli/commands/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cli/commands/__init__.py diff --git a/cli/commands/cli_ansible.py b/cli/commands/cli_ansible.py new file mode 100644 index 00000000..5919b7ac --- /dev/null +++ b/cli/commands/cli_ansible.py @@ -0,0 +1,32 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corp 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 os + +import click + +ANSIBLE_CONF = '{}/conf/ansible.cfg'.format(os.environ['HOME']) + + +class CliAnsible: + + def __init__(self): + pass + + def show(self): + click.echo("show ansible configuration") + pass + + def prepare(self): + click.echo("prepare ansible env") + pass + + def status(self): + click.echo("check connectivity") + pass diff --git a/cli/setup.py b/cli/setup.py new file mode 100644 index 00000000..1c2808b8 --- /dev/null +++ b/cli/setup.py @@ -0,0 +1,23 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corp 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 +############################################################################## + +from setuptools import setup + +setup( + name='qtip', + py_modules=['cli_entry'], + include_package_data=True, + install_requires=[ + 'click', + ], + entry_points=''' + [console_scripts] + qtip=cli_entry:cli + ''', +) |