Add Keystone options to registration of config
When registering options, the list_options was not returning the appropriate options for keystone. This adds those options. Aslo changes to use a more direct/generic adding of keystone options. Related to this, a change was required to the service_endpoints module to generate an auth object used to get a session. In addition, the zuul gates for py35 were resolving to a non-existent target. The changes to tox.ini files addresses making it so the unit test gates are restored to functionality. This change also uncovered a misconfigured unit test, and corrects that test. Change-Id: Ibc1c6c217ac7396390e7a881afbb9ef1c5ab7091
This commit is contained in:
parent
a907923d31
commit
7708ecbe64
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,6 +2,8 @@
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
**/.pytest_cache/
|
||||
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
@ -277,6 +277,26 @@
|
||||
# Config Section from which to load plugin specific options (string value)
|
||||
#auth_section = <None>
|
||||
|
||||
#
|
||||
# From shipyard_api
|
||||
#
|
||||
|
||||
# PEM encoded Certificate Authority to use when verifying HTTPs connections.
|
||||
# (string value)
|
||||
#cafile = <None>
|
||||
|
||||
# PEM encoded client certificate cert file (string value)
|
||||
#certfile = <None>
|
||||
|
||||
# PEM encoded client certificate key file (string value)
|
||||
#keyfile = <None>
|
||||
|
||||
# Verify HTTPS connections. (boolean value)
|
||||
#insecure = false
|
||||
|
||||
# Timeout value for http requests (integer value)
|
||||
#timeout = <None>
|
||||
|
||||
|
||||
[logging]
|
||||
|
||||
|
@ -277,6 +277,26 @@
|
||||
# Config Section from which to load plugin specific options (string value)
|
||||
#auth_section = <None>
|
||||
|
||||
#
|
||||
# From shipyard_api
|
||||
#
|
||||
|
||||
# PEM encoded Certificate Authority to use when verifying HTTPs connections.
|
||||
# (string value)
|
||||
#cafile = <None>
|
||||
|
||||
# PEM encoded client certificate cert file (string value)
|
||||
#certfile = <None>
|
||||
|
||||
# PEM encoded client certificate key file (string value)
|
||||
#keyfile = <None>
|
||||
|
||||
# Verify HTTPS connections. (boolean value)
|
||||
#insecure = false
|
||||
|
||||
# Timeout value for http requests (integer value)
|
||||
#timeout = <None>
|
||||
|
||||
|
||||
[logging]
|
||||
|
||||
|
@ -241,18 +241,17 @@ def register_opts(conf):
|
||||
help=section.help))
|
||||
conf.register_opts(section.options, group=section.name)
|
||||
|
||||
conf.register_opts(
|
||||
ks_loading.get_auth_plugin_conf_options('password'),
|
||||
group='keystone_authtoken'
|
||||
)
|
||||
ks_loading.register_auth_conf_options(conf, group='keystone_authtoken')
|
||||
|
||||
|
||||
def list_opts():
|
||||
""" List the options identified by this configuration
|
||||
"""
|
||||
return {
|
||||
all_opts = {
|
||||
section.name: section.options for section in SECTIONS
|
||||
}
|
||||
all_opts['keystone_authtoken'] = ks_loading.get_session_conf_options()
|
||||
return all_opts
|
||||
|
||||
|
||||
def parse_args(args=None, usage=None, default_config_files=None):
|
||||
|
@ -22,6 +22,7 @@ import logging
|
||||
import falcon
|
||||
from keystoneauth1 import exceptions as exc
|
||||
from keystoneauth1 import loading
|
||||
from keystoneauth1 import session
|
||||
from oslo_config import cfg
|
||||
|
||||
from shipyard_airflow.errors import AppError
|
||||
@ -113,8 +114,8 @@ def get_session():
|
||||
def _get_ks_session():
|
||||
# Establishes a keystone session
|
||||
try:
|
||||
return loading.load_session_from_conf_options(
|
||||
CONF, group="keystone_authtoken")
|
||||
auth = loading.load_auth_from_conf_options(CONF, "keystone_authtoken")
|
||||
return session.Session(auth=auth)
|
||||
except exc.AuthorizationFailure as aferr:
|
||||
LOG.error('Could not authorize against keystone: %s',
|
||||
str(aferr))
|
||||
|
@ -139,7 +139,12 @@ class TestActionValidator:
|
||||
# any exception is a failure
|
||||
assert False
|
||||
|
||||
def test_validate_site_missing_rev(self):
|
||||
@mock.patch("shipyard_airflow.control.service_clients.deckhand_client",
|
||||
return_value=fake_dh_doc_client('clean'), ds_name='defaulted')
|
||||
@mock.patch("shipyard_airflow.control.validators."
|
||||
"validate_deployment_strategy._get_node_lookup",
|
||||
return_value=node_lookup)
|
||||
def test_validate_site_missing_rev(self, *args):
|
||||
"""Test the function that runs the validator class with a
|
||||
deployment strategy that has a cycle in the groups
|
||||
"""
|
||||
|
@ -1,5 +1,5 @@
|
||||
[tox]
|
||||
envlist = unit, pep8, bandit
|
||||
envlist = py35, pep8, bandit
|
||||
|
||||
[testenv]
|
||||
setenv=
|
||||
@ -8,7 +8,7 @@ basepython=python3.5
|
||||
deps = -r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:unit]
|
||||
[testenv:py35]
|
||||
skipsdist=True
|
||||
commands =
|
||||
pytest \
|
||||
|
@ -1,6 +1,6 @@
|
||||
[tox]
|
||||
skipsdist=True
|
||||
envlist = unit, pep8, bandit
|
||||
envlist = py35, pep8, bandit
|
||||
|
||||
[testenv]
|
||||
setenv=
|
||||
@ -9,7 +9,7 @@ basepython=python3.5
|
||||
deps = -r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:unit]
|
||||
[testenv:py35]
|
||||
commands =
|
||||
pytest \
|
||||
{posargs} \
|
||||
|
Loading…
x
Reference in New Issue
Block a user