Sammy Kerata Oina
b44780df95
NOISSUE - Enhance OCI image extraction to return algorithm and requirements paths, and add deferred cleanup for temporary files ( #586 )
...
CI / lint (push) Has been cancelled
CI / test (agent) (push) Has been cancelled
CI / test (cli) (push) Has been cancelled
CI / test (cmd) (push) Has been cancelled
CI / test (internal) (push) Has been cancelled
CI / test (manager, true) (push) Has been cancelled
CI / test (pkg) (push) Has been cancelled
CI / upload-coverage (push) Has been cancelled
* feat: Enhance OCI image extraction to return algorithm and requirements paths, and add deferred cleanup for temporary files.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* feat: implement deterministic zipping and enhance checksum verification for resources
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* feat: Update component build sources, add gRPC health checks to the CVM server, and refine algorithm argument handling and documentation.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* docs: Update remote resources testing guide with `sudo` for KBS, algorithm result saving, `requirements.txt`, and `algo-args` for RVPS.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* refactor: Explicitly ignore `stderr.Write` return values and add minor whitespace in tests.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* test: add comprehensive error path and edge case tests for file, zip, OCI, and agent components.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* feat: Add mutexes for thread-safe algorithm execution and expand recognized data file extensions to include common archive formats.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* feat: Add OCI extraction tests for Python algorithms and multi-layer datasets, refactor algorithm execution for testability, and enhance algorithm stop and error handling tests.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* test: Add error assertions to OCI extraction test helpers and remove an unused mock exec command.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* test: Improve error handling test coverage for algorithm execution and OCI resource extraction.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix: Improve algorithm process termination, enhance computation error handling, and add concurrency safety to agent service.
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
---------
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
2026-03-27 14:23:52 +01:00
Sammy Kerata Oina
bf84f45306
Update Buildroot reference in HAL workflow and README to 2025.05-rc1; add nil check in Stop methods for binary, python, and wasm algorithms ( #443 )
...
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
2025-05-29 10:40:23 +02:00
Sammy Kerata Oina
ecad6514f3
COCOS-344 - New agent structure ( #350 )
...
CI / checkproto (push) Has been cancelled
CI / ci (push) Has been cancelled
* new agent structure
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* minor fixes and testing
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix lint
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix tests
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* cvm tests fix
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix test
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix cli test
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* rename
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* rename cvm to cvms plural
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* rename service
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix tests
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* remove context
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* refactor: reorder parameters in NewAlgorithm functions and update CVMClient to CVMSClient
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix(tests): update SendEvent mock to include an additional parameter
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* move expectations
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix(tests): move event initialization to the correct scope in service tests
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix(tests): update SendEvent mock to use EXPECT instead of On in service tests
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
---------
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
2025-01-17 12:50:53 +01:00
Sammy Kerata Oina
fad3182638
NOISSUE - Refactor manager events and detangle service ( #287 )
...
* extract events service
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* major refactor and detangling
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* small fixes
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* handle tests better
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix lint
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix race condition
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix race
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* use plain interface
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* move mutex
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
---------
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
2024-10-30 16:07:54 +01:00
Sammy Kerata Oina
c402248515
COCOS-169 - Add support for algo arguments ( #202 )
...
* custom args
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* DEBUG
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* args bug
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* switch to slice
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* add flags
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* switch to string array
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
---------
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
2024-08-23 16:51:35 +02:00
b1ackd0t
afc306a85b
NOISSUE - Enable WASM Support and FileSystem Support ( #189 )
...
* feat(algorithm): Add wasm as an algo type
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
* feat(algorithm): Use filesystem to store results
Move from unix socket for results storage to filesystem
* test: test new filesystem changes
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
* refactor(files): rename resultFile to resultsFilePath
* feat(wasm-runtime): change from wasmtime to wasmedge
Wasmedge enables easier directory mapping to get results
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
* feat(algorithm): send results as zipped directory
Create a new function to zip the results directory and send it back to the user
* fix(wasm): runtime argument
Fix the directory mapping for wasm runtime arguments
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
* fix(errors): provide useful error message
* chore(gitignore): add results zip to gitignore
* feat(filesystem): Enable storing results on filesystem for python algos
* refactor: revert to upstream cocos repo
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
* fix: remove AddDataset from algorithm interface
* fix: agent to handle results zipping
* test: test zipping directories
* refactor(agent): Handle file operations from agent
* test: run test inside eos
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
* refactor(test): Document and test algos are running
Document steps on running the 2 python exampls and ensure they are running on eos
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
* fix: remove witheDataset option
* test: test without dataset argument
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
---------
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
2024-08-06 19:06:48 +02:00
Sammy Kerata Oina
67d01e39be
COCOS-155 - Add python algo support ( #178 )
...
* * feat(algorithm.go): add support for algorithm type context
* feat(python.go): implement Python algorithm runtime
* fix(cocos_defconfig): add IPTABLES package
Signed-off-by: SammyOina <sammyoina@gmail.com >
* update proto
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* small fixes
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* add metadata
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* debug
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* debug
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* chunk logger
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* debug logger
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* test lock
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* add req file
Signed-off-by: SammyOina <sammyoina@gmail.com >
* stream result
Signed-off-by: SammyOina <sammyoina@gmail.com >
* test with venv
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* fix missing requirements file
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* result stream
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* modify test server
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* remove debugging and cleaning up
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* original repo
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* add missing header
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
* downgrade protoc
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
---------
Signed-off-by: SammyOina <sammyoina@gmail.com >
Signed-off-by: Sammy Oina <sammyoina@gmail.com >
2024-07-23 16:38:03 +02:00
Sammy Kerata Oina
2ceb1c3562
COCOS-152 - Refactor algorithm execution and add visibility through logging and events ( #176 )
...
* * feat(agent): add support for binary algorithm execution
*
* feat(agent/algorithm): add Algorithm interface and binary implementation
*
* feat(agent/algorithm/binary): implement Run method for binary algorithm execution
*
* feat(agent/algorithm/logging): implement Stdout and Stderr writers for algorithm logging
*
* feat(agent/algorithm/logging_test): add tests for Stdout and Stderr writers
*
* feat(agent/events): add Service interface for sending events
*
* feat(agent/events/mocks): add mock implementation for Service interface
*
* refactor(agent/service): update runComputation method to use binary algorithm implementation
Signed-off-by: SammyOina <sammyoina@gmail.com >
* * fix(logging.go): handle error when sending event in Write method of Stderr struct
* test(logging_test.go): add copyright header
* fix(backend_info.go): add missing type declaration in function signature
* fix(agent.go): rename progressbar variable to pb for clarity and consistency
Signed-off-by: SammyOina <sammyoina@gmail.com >
---------
Signed-off-by: SammyOina <sammyoina@gmail.com >
2024-07-11 12:24:19 +02:00