Skip to content

Commit 76fc6e7

Browse files
committed
Add versioning and resource_id to function names(#230)
1 parent 0478b79 commit 76fc6e7

File tree

8 files changed

+21
-14
lines changed

8 files changed

+21
-14
lines changed

config/systems.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"general": {
3-
"docker_repository": "spcleth/serverless-benchmarks"
3+
"docker_repository": "spcleth/serverless-benchmarks",
4+
"SeBS_version": "1.1.0"
45
},
56
"local": {
67
"experiments": {

sebs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ def start(
493493

494494
for i in range(deployments):
495495
func = deployment_client.get_function(
496-
benchmark_obj, deployment_client.default_function_name(benchmark_obj)
496+
benchmark_obj, deployment_client.default_function_name(benchmark_obj,deployment_client.config.resources)
497497
)
498498
result.add_function(func)
499499

sebs/aws/aws.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,13 +389,14 @@ def update_function_configuration(self, function: Function, benchmark: Benchmark
389389
self.logging.info(f"Updated configuration of {function.name} function. ")
390390

391391
@staticmethod
392-
def default_function_name(code_package: Benchmark) -> str:
392+
def default_function_name(code_package: Benchmark,resources:Resources) -> str:
393393
# Create function name
394-
func_name = "{}-{}-{}-{}".format(
394+
func_name = "{}-{}-{}-{}-{}".format(
395395
code_package.benchmark,
396396
code_package.language_name,
397397
code_package.language_version,
398398
code_package.architecture,
399+
resources.resources_id
399400
)
400401
if code_package.container_deployment:
401402
func_name = f"{func_name}-docker"

sebs/config.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,9 @@ def benchmark_image_tag(
9090
tag = f"function.{system}.{benchmark}.{language_name}-{language_version}-{architecture}"
9191
if self.image_tag_prefix:
9292
tag = f"{tag}-{self.image_tag_prefix}"
93-
return tag
93+
sebs_version=self._system_config["general"].get("SeBS_version", "unknown")
94+
tag=f"{tag}.{sebs_version}"
95+
return tag
9496

9597
def username(self, deployment_name: str, language_name: str) -> str:
9698
return self._system_config[deployment_name]["languages"][language_name]["username"]

sebs/gcp/gcp.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,10 @@ def get_storage(
104104
return self.storage
105105

106106
@staticmethod
107-
def default_function_name(code_package: Benchmark) -> str:
107+
def default_function_name(code_package: Benchmark,resources:Resources) -> str:
108108
# Create function name
109-
func_name = "{}-{}-{}".format(
110-
code_package.benchmark, code_package.language_name, code_package.language_version
109+
func_name = "{}-{}-{}-{}".format(
110+
code_package.benchmark, code_package.language_name, code_package.language_version,resources.resources_id
111111
)
112112
return GCP.format_function_name(func_name)
113113

sebs/local/local.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from sebs.faas.function import Function, FunctionConfig, ExecutionResult, Trigger
1818
from sebs.faas.storage import PersistentStorage
1919
from sebs.faas.system import System
20+
from sebs.faas.config import Resources
2021
from sebs.benchmark import Benchmark
2122

2223

@@ -341,11 +342,10 @@ def enforce_cold_start(self, functions: List[Function], code_package: Benchmark)
341342
raise NotImplementedError()
342343

343344
@staticmethod
344-
def default_function_name(code_package: Benchmark) -> str:
345+
def default_function_name(code_package: Benchmark,resources:Resources) -> str:
345346
# Create function name
346-
func_name = "{}-{}-{}".format(
347-
code_package.benchmark, code_package.language_name, code_package.language_version
348-
)
347+
func_name = "{}-{}-{}-{}".format(
348+
code_package.benchmark, code_package.language_name, code_package.language_version,resources.resources_id)
349349
return func_name
350350

351351
@staticmethod

sebs/openwhisk/openwhisk.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from sebs.openwhisk.storage import Minio
1313
from sebs.openwhisk.triggers import LibraryTrigger, HTTPTrigger
1414
from sebs.utils import LoggingHandlers
15+
from sebs.faas.config import Resources
1516
from .config import OpenWhiskConfig
1617
from .function import OpenWhiskFunction, OpenWhiskFunctionConfig
1718
from ..config import SeBSConfig
@@ -321,10 +322,10 @@ def is_configuration_changed(self, cached_function: Function, benchmark: Benchma
321322

322323
return changed
323324

324-
def default_function_name(self, code_package: Benchmark) -> str:
325+
def default_function_name(self, code_package: Benchmark,resources:Resources) -> str:
325326
return (
326327
f"{code_package.benchmark}-{code_package.language_name}-"
327-
f"{code_package.language_version}"
328+
f"{code_package.language_version}-{resources.resources_id}"
328329
)
329330

330331
def enforce_cold_start(self, functions: List[Function], code_package: Benchmark):

tools/build_docker_images.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ def build(image_type, system, language=None, version=None, version_name=None):
3737
target += "." + language
3838
if version:
3939
target += "." + version
40+
sebs_version = config["general"].get("SeBS_version", "unknown")
41+
target += "." + sebs_version
4042

4143
# if we pass an integer, the build will fail with 'connection reset by peer'
4244
buildargs = {

0 commit comments

Comments
 (0)