We do not need tox_install.sh, pip can handle constraints itself
and install the project correctly. Thus update tox.ini and remove
the now obsolete tools/tox_install.sh file.
This follows https://review.openstack.org/#/c/508061 to remove
Tox tests are run on developer machines and on long lived slaves. We
should not leave lots of directories like
/tmp/python-openstackclient-tox_install-sdnltRu lying around.
Instead delete the temporary directory after our run.
Remove also an obsolete comment.
The usage of zuul-cloner in tox_install breaks post and periodic jobs.
Update the script, it does not need to handle unconstrainted installs
anymore (see tox.ini). There's no need to set ZUUL_BRANCH explicitely
- it's set via the environment and branch is passed in as well.
Note that this script is needed for the edit-constraints call, add a
Currently tox -epep8 will run flake8 on whole code.
To make this fast, flake8 support is added for only
Same can be run by "tox -efast8".
Implements: BP tox-pep8-diff-part-only
Stick to using tox, remove the tools directory since it only
contained references to using venv. Also update a few other
locations that would have otherwise been incorrect.
Rename tools/pip-requires to requirements.txt and tools/test-requires
to test-requirements.txt. These are standard files, and tools in the
general world are growing intelligence about them.
Fixes: bug #1179008
made the changes suggested by dtroyer
modified setup.py entry points
updated pip required
added support for create/delete/list volume types
openstack list type
openstack create type typeName
openstack delete type typeNameOrId
The movement of auth_token from keystone to keystoneclient is part
of the updated 0.2 version of keystoneclient. The server still
maintains an import back from the client for backward compatibility.
However, in order to support this, installations must upgrade to
the latest 0.2 version of the client.
Adding nosehtmloutput as a test dependency allows nose to output its
results to an html file. This will be used by Jenkins to save logs on
a different server.
If password is defined in keyring, use it; otherwise, prompt for the
password. Keying is configured using command line switch,
--os-use-keyring or env(OS_USE_KEYRING).
The abstract class for keyring, specifically for openstack. The
class is used to store encrypted password in keyring, without
prompting for keyring password. The encrypted password is
stored in ~/.openstack-keyring.cfg file.
Update openstackkeyring library from openstack.common.
OpenStackClient.build_option_parser(): New boolean argument,
--os-use-keyring, default to env(OS_USE_KEYRING).
OpenStackClient.authenticate_user(): Get password from keyring,
if it is defined; otherwise, prompt for the password. If user
enter a password and keyring is enabled, store it in keyring.
OpenStackClient.init_keyring_backend(): New method to define
openstack backend for keyring.
OpenStackClient.get_password_from_keyring(): New method to
get password from keyring.
OpenStackClient.set_password_in_keyring(): New method go set
password in keyring.
Define keyring and pycrypto as one of dependent.
Move the authentication logic into a new ClientManager class so that only commands that need to authenticate will trigger that code.
Implement "list server" and "show server" commands as examples of using the ClientManager, Lister, and ShowOne classes.
Fix pep8 errors (project is pep8 clean now).
Update setup.py to use openstack-common style dependencies.
Remove the unused novaclient dependency.
Change the keystoneclient dependency to a git URL.
Add test-requires, and move some pip-requires dependencies
Remove the test_utils unit test which wasn't testing anything
that is actually present in the project.
Add the test_authors unit test.
Use tox for running tests locally.
Tox can manage virtualenvs, and is currently doing so for running
tests in Jenkins. It's just as, or more, useful for running tests
locally, so this starts the migration from the run_tests system to
tox. The goal is to reduce duplicate testing infrastructure, and
get what's running locally on developer workstations as close to
what is run by Jenkins as possible.
Run_tests.sh will now call tox to facilitate the transition for
developers used to typing "run_tests.sh".
Developers will need tox installed on their workstations. It can
be installed from PyPI with "pip install tox". run_tests.sh outputs
those instructions if tox is not present.
New facilities are available using tox directly, including:
tox -e py26 # run tests under python 2.6
tox -e py27 # run tests under python 2.7
tox -e pep8 # run pep8 tests
tox # run all of the above
tox -e venv foo # run the command "foo" inside a virtualenv
The OpenStack nose plugin is used when running tox from the
command line, so the enhanced, colorized output is visible to
developers running the test suite locally. However, when Jenkins
runs tox, xunit output will be used instead, which is natively
understood by jenkins and much more readable in that context.