Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / cyclades_settings.py @ c2873a91

History | View | Annotate | Download (3.8 kB)

1 e3ff6830 Georgios D. Tsoukalas
# Copyright 2013 GRNET S.A. All rights reserved.
2 e3ff6830 Georgios D. Tsoukalas
#
3 e3ff6830 Georgios D. Tsoukalas
# Redistribution and use in source and binary forms, with or
4 e3ff6830 Georgios D. Tsoukalas
# without modification, are permitted provided that the following
5 e3ff6830 Georgios D. Tsoukalas
# conditions are met:
6 e3ff6830 Georgios D. Tsoukalas
#
7 e3ff6830 Georgios D. Tsoukalas
#   1. Redistributions of source code must retain the above
8 e3ff6830 Georgios D. Tsoukalas
#      copyright notice, this list of conditions and the following
9 e3ff6830 Georgios D. Tsoukalas
#      disclaimer.
10 e3ff6830 Georgios D. Tsoukalas
#
11 e3ff6830 Georgios D. Tsoukalas
#   2. Redistributions in binary form must reproduce the above
12 e3ff6830 Georgios D. Tsoukalas
#      copyright notice, this list of conditions and the following
13 e3ff6830 Georgios D. Tsoukalas
#      disclaimer in the documentation and/or other materials
14 e3ff6830 Georgios D. Tsoukalas
#      provided with the distribution.
15 e3ff6830 Georgios D. Tsoukalas
#
16 e3ff6830 Georgios D. Tsoukalas
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17 e3ff6830 Georgios D. Tsoukalas
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 e3ff6830 Georgios D. Tsoukalas
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 e3ff6830 Georgios D. Tsoukalas
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20 e3ff6830 Georgios D. Tsoukalas
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 e3ff6830 Georgios D. Tsoukalas
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 e3ff6830 Georgios D. Tsoukalas
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23 e3ff6830 Georgios D. Tsoukalas
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24 e3ff6830 Georgios D. Tsoukalas
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 e3ff6830 Georgios D. Tsoukalas
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26 e3ff6830 Georgios D. Tsoukalas
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 e3ff6830 Georgios D. Tsoukalas
# POSSIBILITY OF SUCH DAMAGE.
28 e3ff6830 Georgios D. Tsoukalas
#
29 e3ff6830 Georgios D. Tsoukalas
# The views and conclusions contained in the software and
30 e3ff6830 Georgios D. Tsoukalas
# documentation are those of the authors and should not be
31 e3ff6830 Georgios D. Tsoukalas
# interpreted as representing official policies, either expressed
32 e3ff6830 Georgios D. Tsoukalas
# or implied, of GRNET S.A.
33 e3ff6830 Georgios D. Tsoukalas
34 e3ff6830 Georgios D. Tsoukalas
from django.conf import settings
35 e3ff6830 Georgios D. Tsoukalas
from synnefo.lib import join_urls, parse_base_url
36 3ab15f84 Georgios D. Tsoukalas
from synnefo.util.keypath import get_path
37 3ab15f84 Georgios D. Tsoukalas
from synnefo.api.services import cyclades_services as vanilla_cyclades_services
38 3ab15f84 Georgios D. Tsoukalas
from astakosclient import astakos_services as vanilla_astakos_services
39 3ab15f84 Georgios D. Tsoukalas
40 3ab15f84 Georgios D. Tsoukalas
from copy import deepcopy
41 e3ff6830 Georgios D. Tsoukalas
42 e3ff6830 Georgios D. Tsoukalas
BASE_URL = getattr(settings, 'CYCLADES_BASE_URL',
43 e3ff6830 Georgios D. Tsoukalas
                   'https://compute.example.synnefo.org/compute/')
44 e3ff6830 Georgios D. Tsoukalas
BASE_HOST, BASE_PATH = parse_base_url(BASE_URL)
45 e3ff6830 Georgios D. Tsoukalas
46 e3ff6830 Georgios D. Tsoukalas
ASTAKOS_BASE_URL = getattr(settings, 'ASTAKOS_BASE_URL',
47 e3ff6830 Georgios D. Tsoukalas
                           'https://accounts.example.synnefo.org/astakos/')
48 e3ff6830 Georgios D. Tsoukalas
ASTAKOS_BASE_HOST, ASTAKOS_BASE_PATH = parse_base_url(ASTAKOS_BASE_URL)
49 e3ff6830 Georgios D. Tsoukalas
50 3ab15f84 Georgios D. Tsoukalas
CUSTOMIZE_SERVICES = getattr(settings, 'CYCLADES_CUSTOMIZE_SERVICES', ())
51 3ab15f84 Georgios D. Tsoukalas
cyclades_services = deepcopy(vanilla_cyclades_services)
52 3ab15f84 Georgios D. Tsoukalas
for path, value in CUSTOMIZE_SERVICES:
53 3ab15f84 Georgios D. Tsoukalas
    set_path(cyclades_services, path, value, createpath=True)
54 3ab15f84 Georgios D. Tsoukalas
55 3ab15f84 Georgios D. Tsoukalas
astakos_services = deepcopy(vanilla_astakos_services)
56 3ab15f84 Georgios D. Tsoukalas
CUSTOMIZE_ASTAKOS_SERVICES = \
57 3ab15f84 Georgios D. Tsoukalas
        getattr(settings, 'CYCLADES_CUSTOMIZE_ASTAKOS_SERVICES', ())
58 3ab15f84 Georgios D. Tsoukalas
for path, value in CUSTOMIZE_ASTAKOS_SERVICES:
59 3ab15f84 Georgios D. Tsoukalas
    set_path(astakos_services, path, value, createpath=True)
60 3ab15f84 Georgios D. Tsoukalas
61 3ab15f84 Georgios D. Tsoukalas
COMPUTE_PREFIX = get_path(cyclades_services, 'cyclades_compute.prefix')
62 3ab15f84 Georgios D. Tsoukalas
VMAPI_PREFIX = get_path(cyclades_services, 'cyclades_vmapi.prefix')
63 3ab15f84 Georgios D. Tsoukalas
PLANKTON_PREFIX = get_path(cyclades_services, 'cyclades_plankton.prefix')
64 3ab15f84 Georgios D. Tsoukalas
HELPDESK_PREFIX = get_path(cyclades_services, 'cyclades_helpdesk.prefix')
65 3ab15f84 Georgios D. Tsoukalas
UI_PREFIX = get_path(cyclades_services, 'cyclades_ui.prefix')
66 3ab15f84 Georgios D. Tsoukalas
USERDATA_PREFIX = get_path(cyclades_services, 'cyclades_userdata.prefix')
67 3ab15f84 Georgios D. Tsoukalas
68 3ab15f84 Georgios D. Tsoukalas
ASTAKOS_ACCOUNTS_PREFIX = get_path(astakos_services, 'astakos_account.prefix')
69 3ab15f84 Georgios D. Tsoukalas
ASTAKOS_VIEWS_PREFIX = get_path(astakos_services, 'astakos_ui.prefix')
70 3ab15f84 Georgios D. Tsoukalas
ASTAKOS_KEYSTONE_PREFIX = get_path(astakos_services, 'astakos_keystone.prefix')
71 e3ff6830 Georgios D. Tsoukalas
72 e3ff6830 Georgios D. Tsoukalas
# The API implementation needs to accept and return absolute references
73 e3ff6830 Georgios D. Tsoukalas
# to its resources. Thus, it needs to know its public URL.
74 e3ff6830 Georgios D. Tsoukalas
COMPUTE_ROOT_URL = join_urls(BASE_URL, COMPUTE_PREFIX)
75 e3ff6830 Georgios D. Tsoukalas
76 e3ff6830 Georgios D. Tsoukalas
BASE_ASTAKOS_PROXY_PATH = getattr(settings,
77 e3ff6830 Georgios D. Tsoukalas
                                  'CYCLADES_BASE_ASTAKOS_PROXY_PATH',
78 e3ff6830 Georgios D. Tsoukalas
                                  ASTAKOS_BASE_PATH)
79 e3ff6830 Georgios D. Tsoukalas
BASE_ASTAKOS_PROXY_PATH = join_urls(BASE_PATH, BASE_ASTAKOS_PROXY_PATH)
80 e3ff6830 Georgios D. Tsoukalas
BASE_ASTAKOS_PROXY_PATH = BASE_ASTAKOS_PROXY_PATH.strip('/')
81 e3ff6830 Georgios D. Tsoukalas
82 e3ff6830 Georgios D. Tsoukalas
PROXY_USER_SERVICES = getattr(settings, 'CYCLADES_PROXY_USER_SERVICES', True)