文件最后提交记录最后更新时间
Gazelle: Remove exclude for vendored grpc Includes generated BUILD files Signed-off-by: Luboslav Pivarc <lpivarc@redhat.com>8 个月前
Introducing vmi status synchronization controller The synchronization controller synchronizes the newly added migration source and target states between a source and target controller. The source and target controller can be the same controller. Communication happens using the gRPC introduced in this commit. There are 2 functions: - SyncTargetMigrationStatus - SyncSourceMigrationStatus Both take a VMIStatusRequest which has 2 fields: 1. MigrationID, a unique identifier 2. MigrationState This is a copy of the migration state from the sending party. Depending on if the receiver is interested in the source or target only the source or target state is updated by the receiver. An update to a VMI triggers the controller main reconcile loop, which then can trigger either a SyncSource or SyncTarget (or both) call. Added all the needed infra structure to kubevirt operator to deploy the new controller in a separate pod which has its own service account. This service account is part of the list of kubevirt service accounts which is allowed to modify VMI status fields. Added unit tests for synchronization controller demonstrating communication between the same controller (cross namespace) and different controllers (cross cluster). Is part of VEP 24 Decentralized live migration https://github.com/kubevirt/enhancements/issues/24 Signed-off-by: Alexander Wels <awels@redhat.com>1 年前
Fixed a bug in decentralized live migration where the migratedVolumes were not being synchronized between the source and the target. This caused the source to not know what the volumeMode of the target PVC was. This then translated into the migration domain xml containing a reference to the original volume instead of the target volume. Signed-off-by: Alexander Wels <awels@redhat.com>4 个月前
Introducing vmi status synchronization controller The synchronization controller synchronizes the newly added migration source and target states between a source and target controller. The source and target controller can be the same controller. Communication happens using the gRPC introduced in this commit. There are 2 functions: - SyncTargetMigrationStatus - SyncSourceMigrationStatus Both take a VMIStatusRequest which has 2 fields: 1. MigrationID, a unique identifier 2. MigrationState This is a copy of the migration state from the sending party. Depending on if the receiver is interested in the source or target only the source or target state is updated by the receiver. An update to a VMI triggers the controller main reconcile loop, which then can trigger either a SyncSource or SyncTarget (or both) call. Added all the needed infra structure to kubevirt operator to deploy the new controller in a separate pod which has its own service account. This service account is part of the list of kubevirt service accounts which is allowed to modify VMI status fields. Added unit tests for synchronization controller demonstrating communication between the same controller (cross namespace) and different controllers (cross cluster). Is part of VEP 24 Decentralized live migration https://github.com/kubevirt/enhancements/issues/24 Signed-off-by: Alexander Wels <awels@redhat.com>1 年前
Added unit tests for the synchronization controller. Signed-off-by: Alexander Wels <awels@redhat.com> Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>4 个月前