
As it stands, the opts.py file that is passed into oslo-config-generator isn't being generated dynamically and the old way of generating the cinder.conf.sample is dependent on oslo-incubator which Cinder is trying to move away from. oslo-config-generator works differently than oslo-incubator so a number of changes had to be made in order to make this switch. This patch adds the config directory to Cinder and in it are two files: -generate_cinder_opts.py that will take the results of a grep command to create the opts.py file to be passed into oslo-config-generator. -cinder.conf which is the new configuration for oslo-config-generator. The file is inside the config directory to be consistent with other projects. Some changes were made to the generate_sample.sh file in order to give the base directories and target directories to the generate_cinder_opts.py program. tox.ini was edited to remove the checkonly option because all that needs to happen in check_uptodate.sh is a check to ensure that the cinder.conf.sample is actually being generated with no issues. All options were removed from the check_uptodate.sh because they were unnecessary given the new, more simple way of generating the cinder.conf.sample. setup.cfg was also edited in order to add information oslo-config-generator needs to run. Co-Authored By: Jay Bryant <jsbryant@us.ibm.com> Co-Authored By: Jacob Gregor <jgregor@us.ibm.com> Change-Id: I643dbe5675ae9280e204f691781e617266f570d5 Closes-Bug: 1473768 Closes-Bug: 1437904 Closes-Bug: 1381563
172 lines
5.6 KiB
INI
172 lines
5.6 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
envlist = py27,pep8
|
|
|
|
[testenv]
|
|
# Note the hash seed is set to 0 until cinder can be tested with a
|
|
# random hash seed successfully.
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONHASHSEED=0
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
# By default ostestr will set concurrency
|
|
# to ncpu, to specify something else use
|
|
# the concurrency=<n> option.
|
|
# call ie: 'tox -epy27 -- --concurrency=4'
|
|
commands = ostestr {posargs}
|
|
|
|
whitelist_externals = bash
|
|
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
|
|
|
[tox:jenkins]
|
|
downloadcache = ~/cache/pip
|
|
|
|
[testenv:py34]
|
|
commands =
|
|
python -m testtools.run \
|
|
cinder.tests.unit.image.test_glance \
|
|
cinder.tests.unit.targets.test_base_iscsi_driver \
|
|
cinder.tests.unit.targets.test_cxt_driver \
|
|
cinder.tests.unit.targets.test_iser_driver \
|
|
cinder.tests.unit.targets.test_lio_driver \
|
|
cinder.tests.unit.targets.test_scst_driver \
|
|
cinder.tests.unit.targets.test_tgt_driver \
|
|
cinder.tests.unit.test_api \
|
|
cinder.tests.unit.test_api_urlmap \
|
|
cinder.tests.unit.test_backup \
|
|
cinder.tests.unit.test_backup_ceph \
|
|
cinder.tests.unit.test_backup_driver_base \
|
|
cinder.tests.unit.test_backup_swift \
|
|
cinder.tests.unit.test_backup_tsm \
|
|
cinder.tests.unit.test_block_device \
|
|
cinder.tests.unit.test_blockbridge \
|
|
cinder.tests.unit.test_cloudbyte \
|
|
cinder.tests.unit.test_cmd \
|
|
cinder.tests.unit.test_conf \
|
|
cinder.tests.unit.test_context \
|
|
cinder.tests.unit.test_db_api \
|
|
cinder.tests.unit.test_dellfc \
|
|
cinder.tests.unit.test_dellsc \
|
|
cinder.tests.unit.test_dellscapi \
|
|
cinder.tests.unit.test_dothill \
|
|
cinder.tests.unit.test_drbdmanagedrv \
|
|
cinder.tests.unit.test_emc_xtremio \
|
|
cinder.tests.unit.test_eqlx \
|
|
cinder.tests.unit.test_evaluator \
|
|
cinder.tests.unit.test_exception \
|
|
cinder.tests.unit.test_glusterfs \
|
|
cinder.tests.unit.test_gpfs \
|
|
cinder.tests.unit.test_hitachi_hbsd_horcm_fc \
|
|
cinder.tests.unit.test_hitachi_hbsd_snm2_fc \
|
|
cinder.tests.unit.test_hitachi_hbsd_snm2_iscsi \
|
|
cinder.tests.unit.test_hitachi_hnas_backend \
|
|
cinder.tests.unit.test_hitachi_hnas_iscsi \
|
|
cinder.tests.unit.test_hitachi_hnas_nfs \
|
|
cinder.tests.unit.test_hp_xp_fc \
|
|
cinder.tests.unit.test_hplefthand \
|
|
cinder.tests.unit.test_huawei_drivers \
|
|
cinder.tests.unit.test_huawei_drivers_compatibility \
|
|
cinder.tests.unit.test_ibm_flashsystem_iscsi \
|
|
cinder.tests.unit.test_ibmnas \
|
|
cinder.tests.unit.test_ibm_xiv_ds8k \
|
|
cinder.tests.unit.test_infortrend_cli \
|
|
cinder.tests.unit.test_netapp_nfs \
|
|
cinder.tests.unit.test_nfs \
|
|
cinder.tests.unit.test_nimble \
|
|
cinder.tests.unit.test_qos_specs \
|
|
cinder.tests.unit.test_quota \
|
|
cinder.tests.unit.test_rbd \
|
|
cinder.tests.unit.test_remotefs \
|
|
cinder.tests.unit.test_replication \
|
|
cinder.tests.unit.test_san \
|
|
cinder.tests.unit.test_scality \
|
|
cinder.tests.unit.test_sheepdog \
|
|
cinder.tests.unit.test_smbfs \
|
|
cinder.tests.unit.test_solidfire \
|
|
cinder.tests.unit.test_test \
|
|
cinder.tests.unit.test_test_utils \
|
|
cinder.tests.unit.test_v6000_common \
|
|
cinder.tests.unit.test_vmware_vmdk \
|
|
cinder.tests.unit.test_vmware_volumeops \
|
|
cinder.tests.unit.test_volume_configuration \
|
|
cinder.tests.unit.test_volume_glance_metadata \
|
|
cinder.tests.unit.test_volume_rpcapi \
|
|
cinder.tests.unit.test_volume_types \
|
|
cinder.tests.unit.test_volume_types_extra_specs \
|
|
cinder.tests.unit.test_volume_utils \
|
|
cinder.tests.unit.volume.flows.test_create_volume_flow \
|
|
cinder.tests.unit.windows.test_smbfs \
|
|
cinder.tests.unit.windows.test_vhdutils \
|
|
cinder.tests.unit.windows.test_windows \
|
|
cinder.tests.unit.windows.test_windows_remotefs \
|
|
cinder.tests.unit.windows.test_windows_utils
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs} . cinder/common
|
|
# Check that .po and .pot files are valid:
|
|
bash -c "find cinder -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
{toxinidir}/tools/config/check_uptodate.sh
|
|
{toxinidir}/tools/check_exec.py {toxinidir}/cinder
|
|
|
|
[testenv:pylint]
|
|
deps = -r{toxinidir}/requirements.txt
|
|
pylint==0.26.0
|
|
commands = bash tools/lintstack.sh
|
|
|
|
[testenv:cover]
|
|
# Also do not run test_coverage_ext tests while gathering coverage as those
|
|
# tests conflict with coverage.
|
|
commands =
|
|
python setup.py testr --coverage \
|
|
--testr-args='^(?!.*test.*coverage).*$'
|
|
|
|
[testenv:genconfig]
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/venv
|
|
commands = {toxinidir}/tools/config/generate_sample.sh from_tox
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
commands = python setup.py build_sphinx
|
|
|
|
[testenv:gendriverlist]
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/venv
|
|
commands = python {toxinidir}/tools/generate_driver_list.py
|
|
|
|
[testenv:bandit]
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit -c tools/bandit.yaml -r cinder -n 5 -ll
|
|
|
|
[flake8]
|
|
# Following checks are ignored on purpose.
|
|
#
|
|
# E251 unexpected spaces around keyword / parameter equals
|
|
# reason: no improvement in readability
|
|
#
|
|
# Due to the upgrade to hacking 0.9.2 the following checking are
|
|
# ignored on purpose for the moment and should be re-enabled.
|
|
#
|
|
# H405
|
|
# Due to the upgrade to hacking 0.10.0 the following checking are
|
|
# ignored on purpose for the moment and should be cleaned up and re-enabled.
|
|
#
|
|
# H105 Don't use author tags
|
|
#
|
|
|
|
ignore = E251,H105
|
|
exclude = .git,.venv,.tox,dist,tools,doc,common,*egg,build
|
|
max-complexity=30
|
|
|
|
[hacking]
|
|
local-check-factory = cinder.hacking.checks.factory
|
|
import_exceptions = cinder.i18n
|