Unverified Commit 8f8b03fd authored by Javier Viola's avatar Javier Viola Committed by GitHub
Browse files

Wire between Orchestrator - Provider (#101)



* wip, refactor provider trait

* fmt

* wip

* wip, add from_config to NetworkSpec

* config reorgs

* add logic for create NetworkSpec

* feat: refactored FileSystem trait and errors

* chore: removed unused local_file, stdout will be hardcoded in provider at the moment

* feat: moved MockFileSystem to InMemoryFileSystem, files too, and added mirror implementation of tokio::fs with tests

* feat: added new method append to FileSystem trait

* feat: implemented new append method on InMemoryFileSystem

* feat: added anyhow dependencies to support crate

* feat: refactored FileSystem trait to expose only a single wrapped error

* feat: refacto InMemoryFileSystem following FileSystem trait refacto

* feat: added conversion between io::Error and FileSystemError

* feat: added implementation of LocalFileSystem using tokio::fs

* feat: added nix crate dependency to workspace and provider crate

* feat: added uuid with v4 as dev-dependencies for testing in support crate

* feat: added unit tests for LocalFileSystem

* feat: updated Provider, ProviderNamespace and ProviderNode traits and related DTO

* feat: added anyhow as dependency to provider crate

* feat: updated ProviderError

* feat: work on NativeProvider with individual Node, Namespace and Provider struct threadsafe using RwLock and Arc, added implementation logic of resume/restart/pause, destroy and helpers for logs

* feat: rename some provider constants

* wip

* feat: added uuid with v4 features as normal dependency

* feat: added new set_mode method on FileSystem trait to modify permissions bits, added implementations and tests

* feat: added builder for options types used in provider traits methods, moved error next to provider traits

* feat: added modified implementation of run_script/run_command/copy_from_node in NativeProvider, removed unused comments

* feat: moved filesystem, capabilities and tmp_dir out of NativeProviderInner

* wip on network spec creation

* move chain_spec to generators

* change defaults for validator/invulnerable settings

* Add test and clean-ups

* nits and clean

* fmt

* fmt

* fix docs/clippy

* fixes from clippy

* add TODO and allow dead_code for now

* fmt

* more nits

* fmt

* feat: make constructors and fields public for testing on InMemoryFileSystem

* feat: removed unused types atm and added TransferedFile

* feat: updated types for Provider methods output, updated non needed async methods

* feat: added generate_files implementation on namespace using temporary nodes, moved some non mutable fields out of inners

* feat: removed comment

* feat: refactored provider types and added builders

* feat(orchestrator) add generators

* feat(orchestrator) add logic to compute the network spec

* small changes in provider trait and native impl

* wip, example to drive exec

* make paras working, first design draft of network public api

* cleanups

* add spawner

* add logic to add new nodes to running network and methods on nodes

* modify example

* fmt

* allow to add collators to a running network

* modify example

* move Network related structs

* reorg code

* fmt

* fixes and clean-up

* removed commented code

* clippy

* fmt

* clippy

* fmt

* clippy in example

* fix validator/invulnerable true as default

* fmt

* fix base_dir for mac/linux compat

* fix, allow generate files with fullpaths (encapsualate as part of the ns)

* Add todos

* fix p2p port for full_node in collator

* fix p2p port for full_node in collator

* clippy

* fmt

* Update crates/orchestrator/src/network_spec/node.rs

Co-authored-by: default avatarLoris Moulin <[email protected]>

* Update crates/orchestrator/src/network_spec/relaychain.rs

Co-authored-by: default avatarLoris Moulin <[email protected]>

* Update crates/orchestrator/src/generators/chain_spec.rs

Co-authored-by: default avatarNikos Kontakis <[email protected]>

* Update crates/examples/examples/small_network_with_default.rs

Co-authored-by: default avatarLoris Moulin <[email protected]>

* Update crates/orchestrator/src/generators/bootnode_addr.rs

Co-authored-by: default avatarLoris Moulin <[email protected]>

* Update crates/orchestrator/src/network_spec/node.rs

Co-authored-by: default avatarLoris Moulin <[email protected]>

* Update crates/orchestrator/src/network_spec/node.rs

Co-authored-by: default avatarLoris Moulin <[email protected]>

* Update crates/orchestrator/src/network_spec/relaychain.rs

Co-authored-by: default avatarLoris Moulin <[email protected]>

* changes from feedback

* reorg deps

* clippy/fmt

* reorg generators and add some unittest

* more unittest and cleans

* fmt/clippy

* fmt/clippy

* add TODOs from feedback

---------

Co-authored-by: default avatarl0r1s <[email protected]>
Co-authored-by: default avatarLoris Moulin <[email protected]>
Co-authored-by: default avatarNikos Kontakis <[email protected]>
parent 656f56c0
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment