spcl / serverless-benchmarks

SeBS: serverless benchmarking suite for automatic performance analysis of FaaS platforms.
https://mcopik.github.io/projects/sebs/
BSD 3-Clause "New" or "Revised" License
149 stars 67 forks source link

Error running Openwhisk experiment Perf-cost #170

Closed jchigu closed 1 year ago

jchigu commented 1 year ago

'''I am running openwhisk for the first time and I might have misssed some important step. Is there a step by step documentation to follow specifically for SeBS?

See the following error log (python-venv) j@DESKTOP-68S4M6E:~/serverless-benchmarks$ ./sebs.py experiment invoke perf-cost --config config/openwhisk.json --deployment openwhisk [09:02:10.143488] SeBS-6774 Created experiment output at /home/j/serverless-benchmarks [09:02:11.316994] OpenWhisk.Resources-be69 Using user-provided Docker registry for OpenWhisk. [09:02:11.317170] OpenWhisk.Resources-be69 Using user-provided configuration of storage for OpenWhisk. [09:02:11.317432] OpenWhisk.Resources-be69 User-provided configuration is different from cached storage, we will update existing OpenWhisk actions. [09:02:11.326301] Benchmark-d874 Building benchmark 120.uploader. Reason: no cached code package. [09:02:11.386644] Benchmark-d874 There is no Docker build image for openwhisk run in python, thus skipping the Docker-based installation of dependencies. [09:02:14.125876] OpenWhisk-bbd3 Skipping building OpenWhisk Docker package for 120.uploader, using Docker image spcleth/serverless-benchmarks:function.openwhisk.120.uploader.python-3.7 from registry: Docker Hub. [09:02:14.140245] OpenWhisk-bbd3 Created /home/j/serverless-benchmarks/120.uploader_code/python/3.7/120.uploader.zip archive [09:02:14.140729] OpenWhisk-bbd3 Zip archive size 0.000665 MB [09:02:14.142560] Benchmark-d874 Created code package (source hash: dc962b93944dbf9af64dab90e6ebbc05), for run on openwhisk with python:3.7 [09:02:14.147341] OpenWhisk-bbd3 Creating new function! Reason: function 120.uploader-python-3.7 not found in cache. [09:02:14.147741] OpenWhisk-bbd3 Creating function as an action in OpenWhisk. [09:02:14.501953] OpenWhisk-bbd3 Creating new OpenWhisk action 120.uploader-python-3.7 [09:02:14.704510] OpenWhisk-bbd3 Cannot create action 120.uploader-python-3.7. ERROR:root:Command '['wsk', '-i', 'action', 'create', '120.uploader-python-3.7', '--web', 'true', '--docker', 'spcleth/serverless-benchmarks:function.openwhisk.120.uploader.python-3.7', '--memory', '2048', '--timeout', '30000', '-p', 'MINIO_STORAGE_SECRET_KEY', '9792a52a6bd158c660a91edcadb3374002aa7e8e52ae7bd5fba76ef9d8920562', '-p', 'MINIO_STORAGE_ACCESS_KEY', '-ZSST6FtzwarOfZO6gnwJvrns7AVUa6_QCLOJrHvel0', '-p', 'MINIO_STORAGE_CONNECTION_URL', '172.17.0.1:9011', '/home/j/serverless-benchmarks/cache/120.uploader/openwhisk/python/3.7/120.uploader.zip']' returned non-zero exit status 3. Traceback (most recent call last): File "/home/j/serverless-benchmarks/sebs/openwhisk/openwhisk.py", line 279, in create_function subprocess.run( File "/usr/lib/python3.10/subprocess.py", line 524, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['wsk', '-i', 'action', 'create', '120.uploader-python-3.7', '--web', 'true', '--docker', 'spcleth/serverless-benchmarks:function.openwhisk.120.uploader.python-3.7', '--memory', '2048', '--timeout', '30000', '-p', 'MINIO_STORAGE_SECRET_KEY', '9792a52a6bd158c660a91edcadb3374002aa7e8e52ae7bd5fba76ef9d8920562', '-p', 'MINIO_STORAGE_ACCESS_KEY', '-ZSST6FtzwarOfZO6gnwJvrns7AVUa6_QCLOJrHvel0', '-p', 'MINIO_STORAGE_CONNECTION_URL', '172.17.0.1:9011', '/home/j/serverless-benchmarks/cache/120.uploader/openwhisk/python/3.7/120.uploader.zip']' returned non-zero exit status 3.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/j/serverless-benchmarks/./sebs.py", line 30, in call return self.main(args, kwargs) File "/home/j/serverless-benchmarks/python-venv/lib/python3.10/site-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/home/j/serverless-benchmarks/python-venv/lib/python3.10/site-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/j/serverless-benchmarks/python-venv/lib/python3.10/site-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/j/serverless-benchmarks/python-venv/lib/python3.10/site-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, ctx.params) File "/home/j/serverless-benchmarks/python-venv/lib/python3.10/site-packages/click/core.py", line 760, in invoke return __callback(args, kwargs) File "/home/j/serverless-benchmarks/./sebs.py", line 72, in wrapper return func(*args, *kwargs) File "/home/j/serverless-benchmarks/./sebs.py", line 97, in wrapper return func(args, kwargs) File "/home/j/serverless-benchmarks/./sebs.py", line 463, in experiment_invoke experiment.prepare(sebs_client, deployment_client) File "/home/j/serverless-benchmarks/sebs/experiments/perf_cost.py", line 49, in prepare self._function = deployment_client.get_function(self._benchmark) File "/home/j/serverless-benchmarks/sebs/faas/system.py", line 174, in get_function function = self.create_function(code_package, func_name) File "/home/j/serverless-benchmarks/sebs/openwhisk/openwhisk.py", line 306, in create_function raise RuntimeError(e) RuntimeError: Command '['wsk', '-i', 'action', 'create', '120.uploader-python-3.7', '--web', 'true', '--docker', 'spcleth/serverless-benchmarks:function.openwhisk.120.uploader.python-3.7', '--memory', '2048', '--timeout', '30000', '-p', 'MINIO_STORAGE_SECRET_KEY', '9792a52a6bd158c660a91edcadb3374002aa7e8e52ae7bd5fba76ef9d8920562', '-p', 'MINIO_STORAGE_ACCESS_KEY', '-ZSST6FtzwarOfZO6gnwJvrns7AVUa6_QCLOJrHvel0', '-p', 'MINIO_STORAGE_CONNECTION_URL', '172.17.0.1:9011', '/home/j/serverless-benchmarks/cache/120.uploader/openwhisk/python/3.7/120.uploader.zip']' returned non-zero exit status 3. [09:02:14.713235] Benchmark-0845 Update cached config /home/j/serverless-benchmarks/cache/aws.json [09:02:14.713641] Benchmark-0845 Update cached config /home/j/serverless-benchmarks/cache/openwhisk.json (python-venv) j@DESKTOP-68S4M6E:~/serverless-benchmarks$ '''

mcopik commented 1 year ago

@jchigu Please verify that you can create any function on your local OpenWhisk installation by using the wsk tool - you will find relevant information in the OpenWhisk documentation, including examples in Python.

The log suggests that your OpenWhisk installation is not configured properly.

mcopik commented 1 year ago

New changes on the dev branch now have a more helpful error message. It should provide a better insight into OpenWhisk errors.

mcopik commented 1 year ago

@jchigu Does the issue still persist? Did you find out why it was failing? If yes, then please close the issue and share the information what went wrong - we are happy to update the documentation with new information on installing OpenWhisk.

mcopik commented 1 year ago

Closing as inactive. If the issue persists, then please feel free to reopen the issue. Pull the most recent master and rerun the failing experiment, such that you can provide me with a more detailed error log.