
* each service class was moved to a new file * Service and VersionedService were moved from api_discovery to service_base.py * api_discovery.py is removed and methods for discovery were moved to a newly created class Services - class holds methods related to instantiating services, discovering their versions and extensions, configuring them * constants were moved to an independent file - constants.py Change-Id: I00880f4bd30cc4d1609c20aecca820854312b1e7
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.
|
|
|
|
import urllib2
|
|
|
|
|
|
def configure_horizon(conf):
|
|
"""Derive the horizon URIs from the identity's URI."""
|
|
uri = conf.get('identity', 'uri')
|
|
u = urllib2.urlparse.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:
|
|
urllib2.urlopen(base)
|
|
except urllib2.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/')
|