Add setup.py for install with pip
Make possible installation with pip. Change-Id: I8eec015142c4f29eadff0dac2781782b76dea308
This commit is contained in:
parent
f3610ad0e1
commit
c9da50e7e7
13
.zuul.yaml
13
.zuul.yaml
@ -46,6 +46,16 @@
|
|||||||
- name: github.com/ansible/ansible
|
- name: github.com/ansible/ansible
|
||||||
override-checkout: stable-2.9
|
override-checkout: stable-2.9
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: ansible-collections-openstack-functional-devstack-ansible-2.9-pip
|
||||||
|
parent: ansible-collections-openstack-functional-devstack-ansible-2.9
|
||||||
|
description: |
|
||||||
|
Run openstack collections functional tests against a master devstack
|
||||||
|
using master of openstacksdk and stable 2.9 branch of ansible.
|
||||||
|
Ansible collection is built using PIP
|
||||||
|
vars:
|
||||||
|
tox_envlist: ansible-pip
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: ansible-collections-openstack-functional-devstack-train-ansible-devel
|
name: ansible-collections-openstack-functional-devstack-train-ansible-devel
|
||||||
parent: ansible-collections-openstack-functional-devstack
|
parent: ansible-collections-openstack-functional-devstack
|
||||||
@ -225,6 +235,9 @@
|
|||||||
- ansible-collections-openstack-functional-devstack-queens-ansible-2.9:
|
- ansible-collections-openstack-functional-devstack-queens-ansible-2.9:
|
||||||
dependencies: *deps_unit_lint
|
dependencies: *deps_unit_lint
|
||||||
irrelevant-files: *ignore_files
|
irrelevant-files: *ignore_files
|
||||||
|
- ansible-collections-openstack-functional-devstack-ansible-2.9-pip:
|
||||||
|
dependencies: *deps_unit_lint
|
||||||
|
irrelevant-files: *ignore_files
|
||||||
|
|
||||||
|
|
||||||
gate:
|
gate:
|
||||||
|
@ -97,14 +97,19 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# install collections
|
# install collections
|
||||||
tox -ebuild
|
if [[ -z "$PIP_INSTALL" ]]; then
|
||||||
ansible-galaxy collection build --force . --output-path ./build_artifact
|
tox -ebuild
|
||||||
ansible-galaxy collection install $(ls build_artifact/openstack-cloud-*) --force
|
ansible-galaxy collection install $(ls build_artifact/openstack-cloud-*) --force
|
||||||
|
TEST_COLLECTIONS_PATHS=${HOME}/.ansible/collections:$ANSIBLE_COLLECTIONS_PATHS
|
||||||
|
else
|
||||||
|
pip freeze | grep ansible-collections-openstack
|
||||||
|
TEST_COLLECTIONS_PATHS=$VIRTUAL_ENV/share/ansible/collections:$ANSIBLE_COLLECTIONS_PATHS
|
||||||
|
fi
|
||||||
# Discover openstackSDK version
|
# Discover openstackSDK version
|
||||||
SDK_VER=$(python -c "import openstack; print(openstack.version.__version__)")
|
SDK_VER=$(python -c "import openstack; print(openstack.version.__version__)")
|
||||||
pushd ci/
|
pushd ci/
|
||||||
# run tests
|
# run tests
|
||||||
ANSIBLE_COLLECTIONS_PATHS=${HOME}/.ansible/collections ansible-playbook \
|
ANSIBLE_COLLECTIONS_PATHS=$TEST_COLLECTIONS_PATHS ansible-playbook \
|
||||||
-vvv ./run-collection.yml \
|
-vvv ./run-collection.yml \
|
||||||
-e "sdk_version=${SDK_VER} cloud=${CLOUD} image=${IMAGE} ${ANSIBLE_VARS}" \
|
-e "sdk_version=${SDK_VER} cloud=${CLOUD} image=${IMAGE} ${ANSIBLE_VARS}" \
|
||||||
${tag_opt}
|
${tag_opt}
|
||||||
|
39
setup.cfg
39
setup.cfg
@ -1,3 +1,38 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
# This is a stub file to enable tox-siblings to work
|
name = ansible-collections-openstack.cloud
|
||||||
name = ansible-collections-openstack
|
summary = Ansible collections for Openstack cloud
|
||||||
|
description-file =
|
||||||
|
README.md
|
||||||
|
|
||||||
|
author = OpenStack
|
||||||
|
author-email = openstack-discuss@lists.openstack.org
|
||||||
|
home-page = https://opendev.org/openstack/ansible-collections-openstack/
|
||||||
|
classifier =
|
||||||
|
License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
||||||
|
Development Status :: 5 - Production/Stable
|
||||||
|
Intended Audience :: Developers
|
||||||
|
Intended Audience :: System Administrators
|
||||||
|
Intended Audience :: Information Technology
|
||||||
|
Topic :: System :: Systems Administration
|
||||||
|
Topic :: Utilities
|
||||||
|
|
||||||
|
[global]
|
||||||
|
setup-hooks =
|
||||||
|
pbr.hooks.setup_hook
|
||||||
|
|
||||||
|
[files]
|
||||||
|
data_files =
|
||||||
|
share/ansible/collections/ansible_collections/openstack/cloud/ = README.md
|
||||||
|
share/ansible/collections/ansible_collections/openstack/cloud/roles/ = roles/*
|
||||||
|
share/ansible/collections/ansible_collections/openstack/cloud/plugins/ = plugins/*
|
||||||
|
share/ansible/collections/ansible_collections/openstack/cloud/playbooks/ = playbooks/*
|
||||||
|
share/ansible/collections/ansible_collections/openstack/cloud/scripts/ = scripts/*
|
||||||
|
share/ansible/collections/ansible_collections/openstack/cloud/docs/ = docs/*
|
||||||
|
share/ansible/collections/ansible_collections/openstack/cloud/meta/ = meta/*
|
||||||
|
|
||||||
|
[wheel]
|
||||||
|
universal = 1
|
||||||
|
|
||||||
|
[pbr]
|
||||||
|
skip_authors = True
|
||||||
|
skip_changelog = True
|
||||||
|
8
setup.py
Normal file
8
setup.py
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Copyright Red Hat, Inc. All Rights Reserved.
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
import setuptools
|
||||||
|
|
||||||
|
setuptools.setup(
|
||||||
|
setup_requires=['pbr'],
|
||||||
|
pbr=True)
|
16
tox.ini
16
tox.ini
@ -8,7 +8,9 @@ ignore_basepython_conflict = True
|
|||||||
skip_install = True
|
skip_install = True
|
||||||
install_command = python -m pip install {opts} {packages}
|
install_command = python -m pip install {opts} {packages}
|
||||||
basepython = python3
|
basepython = python3
|
||||||
passenv = OS_*
|
passenv =
|
||||||
|
OS_*
|
||||||
|
pip: PIP_INSTALL
|
||||||
setenv =
|
setenv =
|
||||||
VIRTUAL_ENV={envdir}
|
VIRTUAL_ENV={envdir}
|
||||||
LANG=en_US.UTF-8
|
LANG=en_US.UTF-8
|
||||||
@ -17,8 +19,10 @@ setenv =
|
|||||||
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
|
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
|
||||||
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
|
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
|
||||||
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
|
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
|
||||||
|
pip: PIP_INSTALL={env:PIP_INSTALL:true}
|
||||||
deps =
|
deps =
|
||||||
-r{toxinidir}/test-requirements.txt
|
-r{toxinidir}/test-requirements.txt
|
||||||
|
pip: {toxinidir}
|
||||||
|
|
||||||
commands = stestr run {posargs}
|
commands = stestr run {posargs}
|
||||||
stestr slowest
|
stestr slowest
|
||||||
@ -36,6 +40,7 @@ deps =
|
|||||||
ruamel.yaml
|
ruamel.yaml
|
||||||
galaxy-importer
|
galaxy-importer
|
||||||
git+https://github.com/ansible/ansible
|
git+https://github.com/ansible/ansible
|
||||||
|
|
||||||
commands =
|
commands =
|
||||||
python {toxinidir}/tools/build.py
|
python {toxinidir}/tools/build.py
|
||||||
ansible-galaxy collection build --force {toxinidir} --output-path {toxinidir}/build_artifact
|
ansible-galaxy collection build --force {toxinidir} --output-path {toxinidir}/build_artifact
|
||||||
@ -66,8 +71,15 @@ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,ansible_collections
|
|||||||
|
|
||||||
[testenv:ansible]
|
[testenv:ansible]
|
||||||
# Need to pass some env vars for the Ansible playbooks
|
# Need to pass some env vars for the Ansible playbooks
|
||||||
passenv = HOME USER ANSIBLE_VAR_*
|
passenv =
|
||||||
|
HOME
|
||||||
|
USER
|
||||||
|
ANSIBLE_*
|
||||||
deps =
|
deps =
|
||||||
{[testenv]deps}
|
{[testenv]deps}
|
||||||
commands =
|
commands =
|
||||||
/bin/bash {toxinidir}/ci/run-ansible-tests-collection.sh -e {envdir} {posargs}
|
/bin/bash {toxinidir}/ci/run-ansible-tests-collection.sh -e {envdir} {posargs}
|
||||||
|
|
||||||
|
[testenv:ansible-pip]
|
||||||
|
passenv = {[testenv:ansible]passenv}
|
||||||
|
commands = {[testenv:ansible]commands}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user