Skip to content

Commit 897e3d5

Browse files
alexanpatrananos
authored andcommitted
feat: major fluidity update. dynamic otel. initial end-to-end tests.
Signed-off-by: Alexandros Patras <patras@uth.gr>
1 parent 3eb04d0 commit 897e3d5

File tree

135 files changed

+12150
-4984
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+12150
-4984
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
values.yaml
2+
.idea/

agents/.gitignore

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
/agents_venv/
2-
/create/
31
/.idea
42
/*.egg-info
53
/dist
64
/build
75
*.log
8-
9-
*pycache
6+
**/__pycache__/
7+
*.csv
8+
/**/.env
9+
*.kubeconfig
10+
/.*ini
11+
*.json
12+
test/*.yaml

agents/Makefile

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
11
# Variables
2-
PLATFORMS := linux/amd64 #,linux/arm64/v8
2+
PLATFORMS := linux/amd64#,linux/arm64/v8
33

44
DOCKER_BUILDX=docker buildx build
55

66
# Default tags (can be overridden from CLI)
77
NODE_AGENT_TAG ?= registry.mlsysops.eu/agent/agents/node
88
CLUSTER_AGENT_TAG ?= registry.mlsysops.eu/agent/agents/cluster
99
CONTINUUM_AGENT_TAG ?= registry.mlsysops.eu/agent/agents/continuum
10-
10+
TEST_APP_TAG ?= registry.mlsysops.eu/agent/agents/test_app
1111
CI_COMMIT_TAG ?= 0.0.0
1212

1313
module:
1414
python3 -m build
1515

1616
node_agent:
17-
$(DOCKER_BUILDX) --platform ${PLATFORMS} -t $(NODE_AGENT_TAG):$(CI_COMMIT_TAG) -f node/Dockerfile --push node
17+
$(DOCKER_BUILDX) --platform ${PLATFORMS} --no-cache -t $(NODE_AGENT_TAG):$(CI_COMMIT_TAG) --push -f node/Dockerfile node
1818

1919
cluster_agent:
20-
$(DOCKER_BUILDX) --platform ${PLATFORMS} -t $(CLUSTER_AGENT_TAG):$(CI_COMMIT_TAG) -f cluster/Dockerfile --push cluster
20+
$(DOCKER_BUILDX) --platform ${PLATFORMS} --no-cache -t $(CLUSTER_AGENT_TAG):$(CI_COMMIT_TAG) --push -f cluster/Dockerfile cluster
2121

2222
continuum_agent:
23-
$(DOCKER_BUILDX) --platform ${PLATFORMS} -t $(CONTINUUM_AGENT_TAG):$(CI_COMMIT_TAG) -f continuum/Dockerfile --push continuum
23+
$(DOCKER_BUILDX) --platform ${PLATFORMS} --no-cache -t $(CONTINUUM_AGENT_TAG):$(CI_COMMIT_TAG) --push -f continuum/Dockerfile continuum
2424

25+
test_application:
26+
$(DOCKER_BUILDX) --platform ${PLATFORMS} --no-cache -t $(TEST_APP_TAG):$(CI_COMMIT_TAG) -f tests/application/Dockerfile --push tests/application
2527
# Build all targets
2628
all: node_agent cluster_agent continuum_agent

agents/cluster/MLSClusterAgent.py

Lines changed: 247 additions & 62 deletions
Large diffs are not rendered by default.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MLSysOpsCluster:
2-
clusterID: UTH-PROD
2+
name: uth-prod-cluster
3+
cluster_id: uth-prod-cluster
34
nodes: ["csl-rpi5-1", "csl-jetson1", "csl-vader"]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
MLSysOpsCluster:
2+
name: mls-ubiw-1
3+
cluster_id: mls-ubiw-1
4+
nodes: ["mls-ubiw-2", "mls-ubiw-3"]
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
"""Configuration-related info.
2+
3+
Contains the basic configuration for the Fluidity custom resources.
4+
"""
5+
# Copyright (c) 2025. MLSysOps Consortium
6+
# #
7+
# Licensed under the Apache License, Version 2.0 (the "License");
8+
# you may not use this file except in compliance with the License.
9+
# You may obtain a copy of the License at
10+
# #
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
# #
13+
# Unless required by applicable law or agreed to in writing, software
14+
# distributed under the License is distributed on an "AS IS" BASIS,
15+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
# See the License for the specific language governing permissions and
17+
# limitations under the License.
18+
# #
19+
# #
20+
21+
import os
22+
23+
#: the REST API group name
24+
API_GROUP = 'mlsysops.eu'
25+
VERSION = 'v1'
26+
NAMESPACE = ''
27+
CLUSTER_ID = None
28+
29+
#: System file directory of CRDs
30+
_CRDS_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), './manifests/templates/'))
31+
32+
mlsysops_node_dict = {
33+
'singular': 'mlsysopsnode',
34+
'plural': 'mlsysopsnodes',
35+
'kind': 'MLSysOpsNode',
36+
'crd_name': 'mlsysopsnodes.{}'.format(API_GROUP),
37+
'crd_file': '{}/MLSysOpsNode.yaml'.format(_CRDS_DIR),
38+
'version': 'v1'
39+
}
40+
41+
mlsysops_cluster_dict = {
42+
'singular': 'mlsysopscluster',
43+
'plural': 'mlsysopsclusters',
44+
'kind': 'MLSysOpsCluster',
45+
'crd_name': 'mlsysopsclusters.{}'.format(API_GROUP),
46+
'crd_file': '{}/MLSysOpsCluster.yaml'.format(_CRDS_DIR),
47+
'version': 'v1'
48+
}
49+
50+
mlsysops_datacenter_dict = {
51+
'singular': 'mlsysopsdatacenter',
52+
'plural': 'mlsysopsdatacenters',
53+
'kind': 'MLSysOpsDatacenter',
54+
'crd_name': 'mlsysopsdatacenters.{}'.format(API_GROUP),
55+
'crd_file': '{}/MLSysOpsDatacenter.yaml'.format(_CRDS_DIR),
56+
'version': 'v1'
57+
}
58+
59+
mlsysops_app_dict = {
60+
'singular': 'mlsysopsapp',
61+
'plural': 'mlsysopsapps',
62+
'kind': 'MLSysOpsApp',
63+
'crd_name': 'mlsysopsapps.{}'.format(API_GROUP),
64+
'crd_file': '{}/MLSysOpsApplication.yaml'.format(_CRDS_DIR),
65+
'version': 'v1'
66+
}
67+
68+
69+
#: list: List with info regarding the supported custom resources
70+
CRDS_INFO_LIST = [mlsysops_node_dict, mlsysops_cluster_dict, mlsysops_app_dict]

0 commit comments

Comments
 (0)