Revision 4080a1df
b/astakosclient/astakosclient/services.py | ||
---|---|---|
39 | 39 |
'prefix': 'account', |
40 | 40 |
'public': True, |
41 | 41 |
'endpoints': [ |
42 |
{'version': 'v1.0', |
|
42 |
{'versionId': 'v1.0',
|
|
43 | 43 |
'publicURL': None}, |
44 | 44 |
]}, |
45 | 45 |
|
... | ... | |
49 | 49 |
'prefix': 'identity', |
50 | 50 |
'public': True, |
51 | 51 |
'endpoints': [ |
52 |
{'version': 'v2.0', |
|
52 |
{'versionId': 'v2.0',
|
|
53 | 53 |
'publicURL': None}, |
54 | 54 |
]}, |
55 | 55 |
|
... | ... | |
59 | 59 |
'prefix': 'ui', |
60 | 60 |
'public': False, |
61 | 61 |
'endpoints': [ |
62 |
{'version': 'v1.0', |
|
62 |
{'versionId': 'v1.0',
|
|
63 | 63 |
'publicURL': None}, |
64 | 64 |
]}, |
65 | 65 |
} |
b/snf-astakos-app/astakos/im/settings.py | ||
---|---|---|
1 | 1 |
from django.conf import settings |
2 | 2 |
from synnefo_branding import settings as synnefo_settings |
3 | 3 |
from synnefo.lib import parse_base_url |
4 |
from astakosclient import astakos_services |
|
4 |
from astakosclient import astakos_services as vanilla_astakos_services
|
|
5 | 5 |
from synnefo.util.keypath import get_path |
6 | 6 |
from synnefo.lib import join_urls |
7 | 7 |
|
b/snf-common/synnefo/lib/services.py | ||
---|---|---|
35 | 35 |
from synnefo.util.keypath import get_path, set_path |
36 | 36 |
|
37 | 37 |
|
38 |
def fill_in_endpoints(services, base_url):
|
|
38 |
def fill_endpoints(services, base_url): |
|
39 | 39 |
for name, service in services.iteritems(): |
40 | 40 |
prefix = get_path(service, 'prefix') |
41 | 41 |
endpoints = get_path(service, 'endpoints') |
42 |
for name, endpoint in endpoints.iteritems():
|
|
43 |
version = get_path('versionId') |
|
44 |
publicURL = get_path('publicURL') |
|
42 |
for endpoint in endpoints:
|
|
43 |
version = get_path(endpoint, 'versionId')
|
|
44 |
publicURL = get_path(endpoint, 'publicURL')
|
|
45 | 45 |
if publicURL is not None: |
46 | 46 |
continue |
47 | 47 |
|
48 | 48 |
publicURL = join_urls(base_url, prefix, version) |
49 |
set_path('publicURL', publicURL) |
|
49 |
set_path(endpoint, 'publicURL', publicURL) |
b/snf-cyclades-app/synnefo/api/services.py | ||
---|---|---|
41 | 41 |
'prefix': 'compute', |
42 | 42 |
'public': True, |
43 | 43 |
'endpoints': [ |
44 |
{'version': 'v2.0', |
|
44 |
{'versionId': 'v2.0',
|
|
45 | 45 |
'publicURL': None}, |
46 | 46 |
]}, |
47 | 47 |
|
... | ... | |
51 | 51 |
'prefix': 'image', |
52 | 52 |
'public': True, |
53 | 53 |
'endpoints': [ |
54 |
{'version': 'v1', |
|
54 |
{'versionId': 'v1',
|
|
55 | 55 |
'publicURL': None} |
56 | 56 |
]}, |
57 | 57 |
|
... | ... | |
61 | 61 |
'prefix': 'vmapi', |
62 | 62 |
'public': True, |
63 | 63 |
'endpoints': [ |
64 |
{'version': 'v1.0', |
|
64 |
{'versionId': 'v1.0',
|
|
65 | 65 |
'publicURL': None}, |
66 | 66 |
]}, |
67 | 67 |
|
... | ... | |
71 | 71 |
'prefix': 'helpdesk', |
72 | 72 |
'public': False, |
73 | 73 |
'endpoints': [ |
74 |
{'version': '', |
|
74 |
{'versionId': '',
|
|
75 | 75 |
'publicURL': None}, |
76 | 76 |
]}, |
77 | 77 |
|
... | ... | |
81 | 81 |
'prefix': 'userdata', |
82 | 82 |
'public': False, |
83 | 83 |
'endpoints': [ |
84 |
{'version': '', |
|
84 |
{'versionId': '',
|
|
85 | 85 |
'publicURL': None}, |
86 | 86 |
]}, |
87 | 87 |
|
... | ... | |
91 | 91 |
'prefix': 'ui', |
92 | 92 |
'public': False, |
93 | 93 |
'endpoints': [ |
94 |
{'version': '', |
|
94 |
{'versionId': '',
|
|
95 | 95 |
'publicURL': None}, |
96 | 96 |
]}, |
97 | 97 |
} |
b/snf-cyclades-app/synnefo/cyclades_settings.py | ||
---|---|---|
35 | 35 |
from synnefo.lib import join_urls, parse_base_url |
36 | 36 |
from synnefo.util.keypath import get_path |
37 | 37 |
from synnefo.api.services import cyclades_services as vanilla_cyclades_services |
38 |
from synnefo.lib.services import fill_endpoints |
|
38 | 39 |
from astakosclient import astakos_services |
39 | 40 |
|
40 | 41 |
from copy import deepcopy |
... | ... | |
48 | 49 |
|
49 | 50 |
CUSTOMIZE_SERVICES = getattr(settings, 'CYCLADES_CUSTOMIZE_SERVICES', ()) |
50 | 51 |
cyclades_services = deepcopy(vanilla_cyclades_services) |
52 |
fill_endpoints(cyclades_services, BASE_URL) |
|
51 | 53 |
for path, value in CUSTOMIZE_SERVICES: |
52 | 54 |
set_path(cyclades_services, path, value, createpath=True) |
53 | 55 |
|
b/snf-pithos-app/pithos/api/services.py | ||
---|---|---|
39 | 39 |
'prefix': 'object-store', |
40 | 40 |
'public': True, |
41 | 41 |
'endpoints': [ |
42 |
{'version': 'v1', |
|
42 |
{'versionId': 'v1',
|
|
43 | 43 |
'publicURL': None}, |
44 | 44 |
]}, |
45 | 45 |
|
... | ... | |
49 | 49 |
'prefix': 'public', |
50 | 50 |
'public': True, |
51 | 51 |
'endpoints': [ |
52 |
{'version': 'v2.0', |
|
52 |
{'versionId': 'v2.0',
|
|
53 | 53 |
'publicURL': None}, |
54 | 54 |
]}, |
55 | 55 |
|
... | ... | |
59 | 59 |
'prefix': 'ui', |
60 | 60 |
'public': True, |
61 | 61 |
'endpoints': [ |
62 |
{'version': '', |
|
62 |
{'versionId': '',
|
|
63 | 63 |
'publicURL': None}, |
64 | 64 |
]}, |
65 | 65 |
} |
b/snf-pithos-app/pithos/api/settings.py | ||
---|---|---|
3 | 3 |
from synnefo.lib import parse_base_url |
4 | 4 |
from astakosclient import astakos_services |
5 | 5 |
from synnefo.util.keypath import get_path |
6 |
from pithos.api.services import pithos_services |
|
6 |
from pithos.api.services import pithos_services as vanilla_pithos_services |
|
7 |
|
|
8 |
from copy import deepcopy |
|
7 | 9 |
|
8 | 10 |
# Top-level URL for Pithos. Must set. |
9 | 11 |
BASE_URL = getattr(settings, 'PITHOS_BASE_URL', |
Also available in: Unified diff