Skip to content

Commit 9210360

Browse files
committed
Implement ECS based on Dong's perfsonar server
NOTE: Does NOT support IP request yet Signed-off-by: Kai Gao <[email protected]>
1 parent 93dde81 commit 9210360

File tree

5 files changed

+14
-14
lines changed

5 files changed

+14
-14
lines changed

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ FROM python:3.10.7
22

33
COPY . /tmp/alto
44
RUN rm -rf /tmp/alto/.git && \
5-
pip install redis geoip2 kazoo && \
6-
pip install /tmp/alto && \
5+
pip install redis geoip2 kazoo -i https://pypi.tuna.tsinghua.edu.cn/simple && \
6+
pip install /tmp/alto -i https://pypi.tuna.tsinghua.edu.cn/simple && \
77
rm -rf /tmp/alto
88

99
EXPOSE 8000

src/alto/server/components/backend.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
TEST_DYNAMIC_NM_5)
4343

4444
from .db import data_broker_manager
45-
from .vcs import vcs_singleton
4645

4746

4847
class MockService:
@@ -360,6 +359,8 @@ class TIPSControlService:
360359
"""
361360

362361
def __init__(self, namespace, tips_resource_id='', **kwargs) -> None:
362+
from .vcs import vcs_singleton
363+
363364
self.ns = namespace
364365
self.vcs = vcs_singleton
365366
self.tips_resource_id = tips_resource_id

src/alto/server/components/ext/perfsonar.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,20 @@
2626

2727
import requests
2828

29-
from alto.config import Config
30-
3129
class WrappedPerfSonarServiceV1:
3230
"""
3331
Backend algorithm for ECS based on PerfSonar wrapper
3432
3533
This algorithm is basically a proxy
3634
"""
3735

38-
def __init__(self, uri, **kwargs):
36+
def __init__(self, namespace, uri=None, **kwargs):
37+
self.namespace = namespace
3938
self.uri = uri
4039

4140
def lookup(self, srcs, dsts, cost_type):
4241
headers = {
43-
'accept': 'application/json'
42+
'content-type': 'application/json'
4443
}
4544
req = {
4645
'cost-type': {
@@ -55,6 +54,5 @@ def lookup(self, srcs, dsts, cost_type):
5554
}
5655
]
5756
}
58-
data = requests.post(self.uri, data=req, headers=headers)
59-
print(data)
60-
return None
57+
resp = requests.post(self.uri, json=req, headers=headers)
58+
return resp.json()

src/alto/server/northbound/alto/render.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ class EndpointCostRender(JSONRenderer):
6464

6565
def render(self, ecmap, accepted_media_type=None, renderer_context=None):
6666
data = dict()
67-
data['endpoint-cost-map'] = ecmap
67+
data['meta'] = ecmap['meta']
68+
data['endpoint-cost-map'] = ecmap['endpoint-cost-map']
6869
return super(EndpointCostRender, self).render(data, accepted_media_type,
6970
renderer_context)
7071

src/alto/server/northbound/alto/views.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ class TIPSView(APIView):
289289
renderer_classes = [TIPSRender]
290290
parser_classes = [TIPSParser]
291291

292-
algorithm = TIPSControlService(config.get_default_namespace())
292+
algorithm = None # TIPSControlService(config.get_default_namespace())
293293
resource_id = ''
294294
content_type = ALTO_CONTENT_TYPE_TIPS
295295

@@ -310,7 +310,7 @@ class TIPSMetadataView(APIView):
310310
"""
311311
renderer_classes = [TIPSRender]
312312

313-
algorithm = TIPSControlService(config.get_default_namespace())
313+
algorithm = None # TIPSControlService(config.get_default_namespace())
314314
resource_id = ''
315315
content_type = ALTO_CONTENT_TYPE_TIPS_VIEW
316316

@@ -336,7 +336,7 @@ class TIPSDataTransferView(APIView):
336336
"""
337337
renderer_classes = [TIPSRender]
338338

339-
algorithm = TIPSControlService(config.get_default_namespace())
339+
algorithm = None # TIPSControlService(config.get_default_namespace())
340340
resource_id = ''
341341
content_type = ALTO_CONTENT_TYPE_TIPS
342342

0 commit comments

Comments
 (0)