Skip to content

Refactor netwoek manager#183

Open
MykolaSuperman wants to merge 16 commits intoaosedge:feature_release_9.1from
MykolaSuperman:refactor_netwoek_manager
Open

Refactor netwoek manager#183
MykolaSuperman wants to merge 16 commits intoaosedge:feature_release_9.1from
MykolaSuperman:refactor_netwoek_manager

Conversation

@MykolaSuperman
Copy link

No description provided.

@MykolaSuperman MykolaSuperman force-pushed the refactor_netwoek_manager branch 3 times, most recently from 5bec2da to b5a14ed Compare March 18, 2026 15:31
Copy link
Member

@mlohvynenko mlohvynenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>

*
* @param src grpc network service data.
* @param[out] dst Aos network service data.
* @return Error
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

period at the end

*
* @param src Aos network parameters.
* @param[out] dst grpc response.
* @return Error
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

*
* @param src Aos instance network parameters.
* @param[out] dst grpc response.
* @return Error
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

err = mLauncher.Init(mConfig.mLauncher, mNodeInfoProvider, mSMController, mImageManager, mOCISpec, mUnitConfig,
mStorageState, mNetworkManager, mSMController, mAlerts, mIAMClient, utils::IsUIDValid, utils::IsGIDValid,
mDatabase);
mStorageState, mSMController, mAlerts, mIAMClient, utils::IsUIDValid, utils::IsGIDValid, mDatabase);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unclear commit message. add more info.


err = mNetworkManager.Init(mDatabase, mCNI, mTrafficMonitor, mNamespaceManager, mNetworkInterfaceManager,
mCryptoProvider, mNetworkInterfaceManager, mConfig.mWorkingDir.c_str());
mCryptoProvider, mNetworkInterfaceManager, mConfig.mWorkingDir.c_str(), mSMClient, nodeInfo->mNodeID.CStr());
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

commit message not clear.

- NetworkParameters -> NetworkParams
- InstanceNetworkParameters -> InstanceNetworkAllocation
- NetworkServiceData -> UpdateItemNetworkParams

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
@MykolaSuperman MykolaSuperman force-pushed the refactor_netwoek_manager branch from b5a14ed to 5558e4e Compare March 20, 2026 17:01
Mykola Solianko added 15 commits March 25, 2026 18:10
- Replace old push-model interface with 4 methods matching NetworkService RPCs:
  GetNodeNetworkParams, AllocateInstanceNetwork,
  ReleaseInstanceNetwork, ReleaseNodeNetwork
- Remove NodeNetworkItf dependency
- Add thread safety with mutex
- Add DeferRelease rollback in AllocateInstanceNetwork
- Inline DNS restart in allocate/release

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- Implement NetworkService server in SMController
- Forward network RPCs to CM NetworkManager
- Add NetworkProviderStub for tests

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- Implement NetworkService client in SMClient
- Add GetNodeNetworkParams, AllocateInstanceNetwork,
  ReleaseInstanceNetwork, ReleaseNodeNetwork RPCs
- Add tests and service stub

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- Add networkConfig and allocatedParams columns to instancenetwork table
- Serialize/deserialize InstanceNetworkConfig and InstanceNetworkAllocation as JSON
- Add InstanceNetworkInfoRow with FromAos/ToAos conversion
- Add DB migration 4

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- SetupNetwork: CreateInstanceNetwork + StartInstanceNetwork
- Stop: StopInstanceNetwork + ReleaseInstanceNetwork
- TODO: ReleaseInstanceNetwork should move to instance removal

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- Add pending_connections table
- Implement AddPendingConnection, GetPendingConnectionsByTarget,
  GetAllPendingConnections, RemovePendingConnection,
  RemovePendingConnections CRUD methods
- Add FromAos/ToAos conversions for PendingConnection

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- Add ConvertToProto/ConvertFromProto for FirewallRule
- Add ConvertToProto/ConvertFromProto for PendingFirewallUpdate
- Add ConvertFromProto for AllocateInstanceNetworkResponse
- Update ConvertToProto for AllocateInstanceNetworkResponse with
  firewall_rules field

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- Execute firewall DEL with old config and ADD with new config
- Rebuild full plugins list from all configs for cache preservation
- Use heap allocation for NetworkConfigList to avoid stack overflow

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- Add SubscribeInstanceNetworkUpdates method with background thread
- Wait for network stub availability via condition variable
- Parse stream notifications and forward to PendingUpdateHandlerItf
- Proper cleanup on Stop with TryCancel and thread join
- Thread-safe access to shared state under mMutex

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- CM: pass SMController as PendingUpdateHandlerItf to NetworkManager Init
- SM: call SubscribeInstanceNetworkUpdates after client Start

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- Update MockStorage with pending connection methods
- Add AllocateInstanceNetwork_MissingDependency_ReturnsPartialRules
- Add AllocateInstanceNetwork_ResolvesPending_PushesNotification
- Add ReleaseInstanceNetwork_CleansPending

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- PendingConnectionAddAndGet: add and get by target item ID
- PendingConnectionGetAll: get all pending connections
- PendingConnectionRemove: remove by requester ident

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
- SMController: SubscribeInstanceNetworkUpdates_ReceivesPendingFirewallUpdate
- SMClient: SubscribeInstanceNetworkUpdates_ReceivesUpdate
- Update SMClientStub with SubscribeInstanceNetworkUpdates and
  WaitPendingFirewallUpdate methods
- Update SMServiceStub with SubscribeInstanceNetworkUpdates stream
  handler and SendPendingFirewallUpdate

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
@MykolaSuperman MykolaSuperman force-pushed the refactor_netwoek_manager branch from 5558e4e to 2583bed Compare March 25, 2026 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants