diff --git a/.zuul.yaml b/.zuul.yaml index 0c1c8d0d425..54de9034a66 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -5,11 +5,24 @@ - publish-openstack-sphinx-docs - periodic-stable-jobs - check-requirements - - integrated-gate - - integrated-gate-py35 - release-notes-jobs check: jobs: + - tempest-full: + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^api-ref/.*$ + - ^cinder/hacking/.*$ + - ^cinder/locale/.*$ + - ^cinder/tests/functional.*$ + - ^cinder/tests/unit.*$ + - ^contrib/block-box.*$ + - ^doc/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tools/.*$ + - ^tox.ini$ - cinder-tempest-dsvm-lvm-lio: voting: false branches: ^(?!driverfixes/).*$ @@ -65,21 +78,6 @@ - ^contrib/block-box.*$ - ^doc/.*$ - ^releasenotes/.*$ - - legacy-grenade-dsvm-cinder-mn-sub-volbak: - irrelevant-files: - - ^(test-|)requirements.txt$ - - ^.*\.rst$ - - ^api-ref/.*$ - - ^cinder/hacking/.*$ - - ^cinder/locale/.*$ - - ^cinder/tests/functional.*$ - - ^cinder/tests/unit.*$ - - ^contrib/block-box.*$ - - ^doc/.*$ - - ^releasenotes/.*$ - - ^setup.cfg$ - - ^tools/.*$ - - ^tox.ini$ - legacy-tempest-dsvm-lvm-multibackend: voting: false irrelevant-files: @@ -128,39 +126,9 @@ - ^setup.cfg$ - ^tools/.*$ - ^tox.ini$ - - neutron-grenade: - irrelevant-files: - - ^(test-|)requirements.txt$ - - ^.*\.rst$ - - ^api-ref/.*$ - - ^cinder/hacking/.*$ - - ^cinder/locale/.*$ - - ^cinder/tests/functional.*$ - - ^cinder/tests/unit.*$ - - ^contrib/block-box.*$ - - ^doc/.*$ - - ^releasenotes/.*$ - - ^setup.cfg$ - - ^tools/.*$ - - ^tox.ini$ gate: jobs: - - legacy-grenade-dsvm-cinder-mn-sub-volbak: - irrelevant-files: - - ^(test-|)requirements.txt$ - - ^.*\.rst$ - - ^api-ref/.*$ - - ^cinder/hacking/.*$ - - ^cinder/locale/.*$ - - ^cinder/tests/functional.*$ - - ^cinder/tests/unit.*$ - - ^contrib/block-box.*$ - - ^doc/.*$ - - ^releasenotes/.*$ - - ^setup.cfg$ - - ^tools/.*$ - - ^tox.ini$ - - neutron-grenade: + - tempest-full: irrelevant-files: - ^(test-|)requirements.txt$ - ^.*\.rst$ diff --git a/cinder/opts.py b/cinder/opts.py index 956a4ae2714..37d98dbf730 100644 --- a/cinder/opts.py +++ b/cinder/opts.py @@ -211,21 +211,21 @@ from cinder.zonemanager import fc_zone_manager as \ def list_opts(): return [ - ('BACKEND', + ('backend', itertools.chain( [cinder_cmd_volume.host_opt], )), - ('BRCD_FABRIC_EXAMPLE', + ('brcd_fabric_example', itertools.chain( cinder_zonemanager_drivers_brocade_brcdfabricopts. brcd_zone_opts, )), - ('CISCO_FABRIC_EXAMPLE', + ('cisco_fabric_example', itertools.chain( cinder_zonemanager_drivers_cisco_ciscofabricopts. cisco_zone_opts, )), - ('COORDINATION', + ('coordination', itertools.chain( cinder_coordination.coordination_opts, )), @@ -280,13 +280,13 @@ def list_opts(): cinder_volume_manager.volume_manager_opts, cinder_wsgi_eventletserver.socket_opts, )), - ('FC-ZONE-MANAGER', + ('fc-zone-manager', itertools.chain( cinder_zonemanager_drivers_brocade_brcdfczonedriver.brcd_opts, cinder_zonemanager_drivers_cisco_ciscofczonedriver.cisco_opts, cinder_zonemanager_fczonemanager.zone_manager_opts, )), - ('KEY_MANAGER', + ('key_manager', itertools.chain( cinder_keymgr_confkeymgr.key_mgr_opts, )), diff --git a/doc/source/conf.py b/doc/source/conf.py index 960c97cf946..68304f1d5e2 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -63,7 +63,7 @@ extensions = ['sphinx.ext.autodoc', ] config_generator_config_file = ( - '../../cinder/config/cinder-config-generator.conf') + '../../tools/config/cinder-config-generator.conf') sample_config_basename = '_static/cinder' # autodoc generation is a bit aggressive and a nuisance diff --git a/cinder/config/__init__.py b/tools/config/__init__.py similarity index 100% rename from cinder/config/__init__.py rename to tools/config/__init__.py diff --git a/tools/config/check_uptodate.sh b/tools/config/check_uptodate.sh index 77dcce064c3..2fbe29ff2e7 100755 --- a/tools/config/check_uptodate.sh +++ b/tools/config/check_uptodate.sh @@ -1,34 +1,55 @@ #!/usr/bin/env bash +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# This script is used to check if there have been configuration changes that +# have not been checked in. + +# The opts file needs to be present in order to compare it if [ ! -e cinder/opts.py ]; then - echo -en "\n\n#################################################" - echo -en "\nERROR: cinder/opts.py file is missing." - echo -en "\n#################################################\n" + echo "" + echo "#################################################" + echo "ERROR: cinder/opts.py file is missing." + echo "#################################################" exit 1 -else - mv cinder/opts.py cinder/opts.py.orig - tox -e genopts &> /dev/null - if [ $? -ne 0 ]; then - echo -en "\n\n#################################################" - echo -en "\nERROR: Non-zero exit from generate_cinder_opts.py." - echo -en "\n See output above for details.\n" - echo -en "#################################################\n" - mv cinder/opts.py.orig cinder/opts.py - exit 1 - else - diff cinder/opts.py.orig cinder/opts.py - if [ $? -ne 0 ]; then - echo -en "\n\n########################################################" - echo -en "\nERROR: Configuration options change detected." - echo -en "\n A new cinder/opts.py file must be generated." - echo -en "\n Run 'tox -e genopts' from the base directory" - echo -en "\n and add the result to your commit." - echo -en "\n########################################################\n\n" - rm cinder/opts.py - mv cinder/opts.py.orig cinder/opts.py - exit 1 - else - rm cinder/opts.py.orig - fi - fi fi + +# Rename the existing file so we can generate a new one to compare +mv cinder/opts.py cinder/opts.py.orig +python tools/config/generate_cinder_opts.py &> tox-genops.log +if [ $? -ne 0 ]; then + cat tox-genops.log >&2 + echo "" + echo "#################################################" + echo "ERROR: Non-zero exit from generate_cinder_opts.py." + echo " See output above for details." + echo "#################################################" + mv cinder/opts.py.orig cinder/opts.py + exit 1 +fi + +diff cinder/opts.py.orig cinder/opts.py +if [ $? -ne 0 ]; then + echo "" + echo "########################################################" + echo "ERROR: Configuration options change detected." + echo " A new cinder/opts.py file must be generated." + echo " Run 'tox -e genopts' from the base directory" + echo " and add the result to your commit." + echo "########################################################" + rm cinder/opts.py + mv cinder/opts.py.orig cinder/opts.py + exit 1 +fi + +rm cinder/opts.py.orig diff --git a/cinder/config/cinder-config-generator.conf b/tools/config/cinder-config-generator.conf similarity index 100% rename from cinder/config/cinder-config-generator.conf rename to tools/config/cinder-config-generator.conf diff --git a/cinder/config/generate_cinder_opts.py b/tools/config/generate_cinder_opts.py similarity index 94% rename from cinder/config/generate_cinder_opts.py rename to tools/config/generate_cinder_opts.py index f0b5bc47d46..2132d3afe6b 100644 --- a/cinder/config/generate_cinder_opts.py +++ b/tools/config/generate_cinder_opts.py @@ -19,6 +19,7 @@ import textwrap from cinder.compute import nova from cinder.volume import configuration +from cinder.compute import nova OrderedDict = collections.OrderedDict @@ -104,7 +105,7 @@ if __name__ == "__main__": for atree in dir_trees_list: - if atree in ["cinder/config/generate_cinder_opts.py", + if atree in ["tools/config/generate_cinder_opts.py", "cinder/hacking/checks.py", "cinder/volume/configuration.py", "cinder/test.py"]: @@ -238,8 +239,14 @@ if __name__ == "__main__": key = lambda x: x[0])) for key in registered_opts_dict: - section_start_str = (" ('" + key + "',\n" - " itertools.chain(\n") + # NOTE(jsbryant): We need to have 'DEFAULT' in uppercase but any + # other section using uppercase causes a Sphinx warning. + if (key == 'DEFAULT'): + section_start_str = (" ('" + key + "',\n" + " itertools.chain(\n") + else: + section_start_str = (" ('" + key.lower() + "',\n" + " itertools.chain(\n") opt_file.write(section_start_str) for item in registered_opts_dict[key]: _write_item(item) diff --git a/tox.ini b/tox.ini index bf4c6562115..eed2d030376 100644 --- a/tox.ini +++ b/tox.ini @@ -82,12 +82,12 @@ commands = [testenv:genconfig] sitepackages = False envdir = {toxworkdir}/pep8 -commands = oslo-config-generator --config-file=cinder/config/cinder-config-generator.conf +commands = oslo-config-generator --config-file=tools/config/cinder-config-generator.conf [testenv:genopts] sitepackages = False envdir = {toxworkdir}/pep8 -commands = python cinder/config/generate_cinder_opts.py +commands = python tools/config/generate_cinder_opts.py [testenv:venv] commands = {posargs}