
The empty metadata service can be used to run plugins that do not rely on metadata service information, like setting NTP, MTU, extending volumes, local scripts execution, licensing, etc. It can be used also as a fallback metadata service, in case no other previous metadata service could be loaded. EmptyMetadataService does not support the following plugins: * cloudbaseinit.plugins.windows.createuser.CreateUserPlugin * cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin * cloudbaseinit.plugins.common.sshpublickeys.SetUserSSHPublicKeysPlugin * cloudbaseinit.plugins.windows.winrmcertificateauth.ConfigWinRMCertificateAuthPlugin If any of the plugins defined above are executed, they will fail with exception NotExistingMetadataException. The reason for the hardcoded failure is that these plugins rely on metadata to execute correctly. If metadata like username or password is not provided, these plugins can lock or misconfigure the user, leading to unwanted problems. Implements: blueprint empty-metadata-provider Change-Id: I5fb88a07bf72321d0f66b16d151bf6059b448580
53 lines
1.4 KiB
INI
53 lines
1.4 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
envlist = docs,py37,pep8
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -U --force-reinstall {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = python setup.py testr --testr-args='{posargs}'
|
|
|
|
[testenv:pep8]
|
|
commands = flake8 {posargs}
|
|
|
|
[testenv:cover]
|
|
basepython = python3
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source cloudbaseinit --parallel-mode
|
|
commands =
|
|
stestr run --no-subunit-trace {posargs}
|
|
coverage combine
|
|
coverage report --fail-under=82 --skip-covered
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps =
|
|
sphinx_rtd_theme
|
|
commands =
|
|
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
|
|
|
|
[flake8]
|
|
# E125 is deliberately excluded. See https://github.com/jcrocholl/pep8/issues/126
|
|
# E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301
|
|
|
|
ignore = E125,E251
|
|
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools
|