Add policy sample generation

This adds the entry point and config file necessary for using the
oslo.policy sample generation script. It also adds a tox target to
simplify the usage of it.

The command is also run in the docs tox target since the sample file
can be considered documentation.

Change-Id: I18a1fa567fc04b0e0a37c02f20024b2ce483f060
Partially-Implements: bp policy-in-code
This commit is contained in:
Andrew Laski 2016-06-21 16:53:57 -04:00
parent 41616f9d55
commit 5e38fa3cb5
4 changed files with 15 additions and 0 deletions

1
.gitignore vendored
View File

@ -33,6 +33,7 @@ doc/build/*
api-guide/build/* api-guide/build/*
api-ref/build/* api-ref/build/*
etc/nova/nova.conf.sample etc/nova/nova.conf.sample
etc/nova/policy.yaml.sample
instances instances
keeper keeper
keys keys

View File

@ -0,0 +1,3 @@
[DEFAULT]
output_file = etc/nova/policy.yaml.sample
namespace = nova

View File

@ -36,6 +36,13 @@ oslo.config.opts =
oslo.config.opts.defaults = oslo.config.opts.defaults =
nova.api = nova.common.config:set_middleware_defaults nova.api = nova.common.config:set_middleware_defaults
oslo.policy.policies =
# The sample policies will be ordered by entry point and then by list
# returned from that entry point. If more control is desired split out each
# list_rules method into a separate entry point rather than using the
# aggregate method.
nova = nova.policies:list_rules
nova.compute.monitors.cpu = nova.compute.monitors.cpu =
virt_driver = nova.compute.monitors.cpu.virt_driver:Monitor virt_driver = nova.compute.monitors.cpu.virt_driver:Monitor
nova.compute.resources = nova.compute.resources =

View File

@ -60,6 +60,9 @@ commands =
[testenv:genconfig] [testenv:genconfig]
commands = oslo-config-generator --config-file=etc/nova/nova-config-generator.conf commands = oslo-config-generator --config-file=etc/nova/nova-config-generator.conf
[testenv:genpolicy]
commands = oslopolicy-sample-generator --config-file=etc/nova/nova-policy-generator.conf
[testenv:cover] [testenv:cover]
# Also do not run test_coverage_ext tests while gathering coverage as those # Also do not run test_coverage_ext tests while gathering coverage as those
# tests conflict with coverage. # tests conflict with coverage.
@ -87,6 +90,7 @@ commands =
python setup.py build_sphinx python setup.py build_sphinx
bash -c '! find doc/ -type f -name *.json | xargs -t -n1 python -m json.tool 2>&1 > /dev/null | grep -B1 -v ^python' bash -c '! find doc/ -type f -name *.json | xargs -t -n1 python -m json.tool 2>&1 > /dev/null | grep -B1 -v ^python'
oslo-config-generator --config-file=etc/nova/nova-config-generator.conf oslo-config-generator --config-file=etc/nova/nova-config-generator.conf
oslopolicy-sample-generator --config-file=etc/nova/nova-policy-generator.conf
sphinx-build -W -b html api-guide/source api-guide/build/html sphinx-build -W -b html api-guide/source api-guide/build/html
sphinx-build -W -b html api-ref/source api-ref/build/html sphinx-build -W -b html api-ref/source api-ref/build/html