include README.md
include requirements.txt
include requirements-docs.txt
+include requirements-openstack.txt
OpenStack
*********
+Requires a `pip install lftools[openstack]` to activate this command.
+
.. program-output:: lftools openstack --help
Commands
__author__ = 'Thanh Ha'
-
import click
from lftools.cli.deploy import deploy
from lftools.cli.nexus import nexus
from lftools.cli.sign import sign
from lftools.cli.version import version
-from lftools.openstack.cmd import openstack
@click.group()
cli.add_command(jenkins_cli, name='jenkins')
cli.add_command(license)
cli.add_command(nexus)
-cli.add_command(openstack)
cli.add_command(sign)
cli.add_command(version)
+try:
+ from lftools.openstack.cmd import openstack
+ cli.add_command(openstack)
+except ImportError:
+ from lftools.openstack.no_cmd import openstack
+ cli.add_command(openstack)
+
def main():
"""Entry point for lftools CLI."""
--- /dev/null
+# -*- code: utf-8 -*-
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2017 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+"""CLI configuration for openstack command."""
+
+__author__ = 'Thanh Ha'
+
+
+import click
+
+
+@click.group()
+@click.pass_context
+def openstack(ctx, os_cloud):
+ """(lftools[openstack]) Provides an OpenStack interface.
+
+ To activate this interface run `pip install lftools[openstack]`.
+ """
+ pass
--- /dev/null
+shade~=1.27.1
pyyaml
requests~=2.18.0
setuptools>=36.5.0
-shade
python-jenkins~=1.0.0
# workarounds to prevent upstream from breaking us
-babel<2.4.0
netifaces==0.10.5
-pbr<2.1.0
with open('requirements.txt') as f:
install_reqs = f.read().splitlines()
+with open('requirements-openstack.txt') as f:
+ openstack_reqs = f.read().splitlines()
+
setup(
name='lftools',
version=__version__,
'Programming Language :: Python :: 3.5',
],
install_requires=install_reqs,
+ extras_require={
+ 'openstack': openstack_reqs,
+ },
packages=find_packages(exclude=[
'*.tests',
'*.tests.*',
py3
[testenv]
-deps = -r{toxinidir}/requirements-test.txt
+deps =
+ -r{toxinidir}/requirements.txt
+ -r{toxinidir}/requirements-openstack.txt
+ -r{toxinidir}/requirements-test.txt
+ pytest
+ pytest-click
+ pytest-datafiles
commands = pytest
[testenv:coala]