Skip to content

Add offline fallbacks, orchestrator placement strategies, and regression tests#3

Open
patriziodazzi wants to merge 2 commits into
masterfrom
codex/assess-project-functionality-and-relevance-ibl55r
Open

Add offline fallbacks, orchestrator placement strategies, and regression tests#3
patriziodazzi wants to merge 2 commits into
masterfrom
codex/assess-project-functionality-and-relevance-ibl55r

Conversation

@patriziodazzi
Copy link
Copy Markdown
Owner

Motivation

  • Make the simulator runnable in offline or restricted environments by providing minimal local fallbacks for common third-party libs and packaging metadata.
  • Improve orchestrator behavior and placement flexibility to reduce deployment failures and enable a configurable placement strategy.
  • Fix several device/orchestrator bugs that caused incorrect resource checks, image handling and microservice lifecycle management.

Description

  • Add local fallback implementations for networkx, simpy, and matplotlib under src/ and include a simple maxflow and compose operator used by the simulator.
  • Introduce packaging via pyproject.toml and a .gitignore for development artifacts and caches.
  • Extend orchestrators: implement ContinuumOrchestrator.deploy, add DomainOrchestrator placement strategy support (first_fit and best_fit), add _select_target_device to pick best-fit by memory, and tighten image-finding/selection and retrieval logic.
  • Fix device-level logic in device/base.py by making storage checks inclusive (>=), making store_image idempotent, guarding duplicate retrievals, changing start_microservice to return bool, and correcting terminate_microservice to use microservice id keys.
  • Add demo loader adjustments in test/main.py and a comprehensive test/test_regressions.py suite that covers device behavior, orchestrator deployment, continuum deploy, failure cases, and placement strategy correctness.

Testing

  • Ran the unit tests with python -m unittest discover -s test -p 'test_regressions.py' -v and the test suite passed.
  • Executed the demo with python test/main.py to verify offline import path handling and basic simulation flow, which produced the expected runtime output.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant