
- use the six version of configparser and urllib, and depends on six; - remove relative imports; - adapt few tests to the changes. The changes above should be noop from the point of view of functionalities, at least on python 2. And also: - replace the py34 tox virtualenv with py35; - add a non-voting py35 job (locally for now, it will be enabled to project-config also for gating when stable). Story: 2002574 Task: 22142 Change-Id: I0a35abaae6f5b7095ebae765fbe2163046e0a4da
34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
# Copyright 2016 Red Hat, Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
# 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.
|
|
|
|
from six.moves import urllib
|
|
|
|
|
|
def configure_horizon(conf):
|
|
"""Derive the horizon URIs from the identity's URI."""
|
|
uri = conf.get('identity', 'uri')
|
|
u = urllib.parse.urlparse(uri)
|
|
base = '%s://%s%s' % (u.scheme, u.netloc.replace(
|
|
':' + str(u.port), ''), '/dashboard')
|
|
assert base.startswith('http:') or base.startswith('https:')
|
|
has_horizon = True
|
|
try:
|
|
urllib.request.urlopen(base)
|
|
except urllib.error.URLError:
|
|
has_horizon = False
|
|
conf.set('service_available', 'horizon', str(has_horizon))
|
|
conf.set('dashboard', 'dashboard_url', base + '/')
|
|
conf.set('dashboard', 'login_url', base + '/auth/login/')
|