From 426022e764d60e77ad67481d8ef41bcd8dfc8424 Mon Sep 17 00:00:00 2001 From: Derek Su Date: Sun, 1 Dec 2024 17:18:41 +0800 Subject: [PATCH] feat(v2 upgrade/engineapi): add replicaName parameter to ReplicaRemove() Longhorn 9104 Signed-off-by: Derek Su --- engineapi/engine.go | 2 +- engineapi/enginesim.go | 8 ++++---- engineapi/enginesim_test.go | 2 +- engineapi/proxy_replica.go | 4 ++-- engineapi/types.go | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/engineapi/engine.go b/engineapi/engine.go index eedd19933f..42ea266fcb 100644 --- a/engineapi/engine.go +++ b/engineapi/engine.go @@ -177,7 +177,7 @@ func (e *EngineBinary) ReplicaAdd(engine *longhorn.Engine, replicaName, url stri // ReplicaRemove calls engine binary // TODO: Deprecated, replaced by gRPC proxy -func (e *EngineBinary) ReplicaRemove(engine *longhorn.Engine, url string) error { +func (e *EngineBinary) ReplicaRemove(engine *longhorn.Engine, url, replicaName string) error { if err := ValidateReplicaURL(url); err != nil { return err } diff --git a/engineapi/enginesim.go b/engineapi/enginesim.go index 18f6a3f223..86d4950fd6 100644 --- a/engineapi/enginesim.go +++ b/engineapi/enginesim.go @@ -143,14 +143,14 @@ func (e *EngineSimulator) ReplicaAdd(engine *longhorn.Engine, replicaName, url s return nil } -func (e *EngineSimulator) ReplicaRemove(engine *longhorn.Engine, addr string) error { +func (e *EngineSimulator) ReplicaRemove(engine *longhorn.Engine, replicaAddress, replicaName string) error { e.mutex.Lock() defer e.mutex.Unlock() - if e.replicas[addr] == nil { - return fmt.Errorf("unable to find replica %v", addr) + if e.replicas[replicaAddress] == nil { + return fmt.Errorf("unable to find replica %v", replicaAddress) } - delete(e.replicas, addr) + delete(e.replicas, replicaAddress) return nil } diff --git a/engineapi/enginesim_test.go b/engineapi/enginesim_test.go index cb6d2f2ef8..518f0f2507 100644 --- a/engineapi/enginesim_test.go +++ b/engineapi/enginesim_test.go @@ -56,7 +56,7 @@ func (s *TestSuite) TestBasic(c *C) { c.Assert(replicas[Replica1Addr].Mode, Equals, longhorn.ReplicaModeRW) c.Assert(replicas[Replica2Addr].Mode, Equals, longhorn.ReplicaModeRW) - err = sim.ReplicaRemove(e, Replica2Addr) + err = sim.ReplicaRemove(e, Replica2Addr, "") c.Assert(err, IsNil) replicas, err = sim.ReplicaList(e) diff --git a/engineapi/proxy_replica.go b/engineapi/proxy_replica.go index bb0892a03d..d4da14ff78 100644 --- a/engineapi/proxy_replica.go +++ b/engineapi/proxy_replica.go @@ -12,8 +12,8 @@ func (p *Proxy) ReplicaAdd(e *longhorn.Engine, replicaName, replicaAddress strin int(replicaFileSyncHTTPClientTimeout), fastSync, localSync, grpcTimeoutSeconds) } -func (p *Proxy) ReplicaRemove(e *longhorn.Engine, address string) (err error) { - return p.grpcClient.ReplicaRemove(string(e.Spec.DataEngine), p.DirectToURL(e), e.Name, address, "") +func (p *Proxy) ReplicaRemove(e *longhorn.Engine, replicaAddress, replicaName string) (err error) { + return p.grpcClient.ReplicaRemove(string(e.Spec.DataEngine), p.DirectToURL(e), e.Name, replicaAddress, replicaName) } func (p *Proxy) ReplicaList(e *longhorn.Engine) (replicas map[string]*Replica, err error) { diff --git a/engineapi/types.go b/engineapi/types.go index 7854bffd0d..7ccf0dd245 100644 --- a/engineapi/types.go +++ b/engineapi/types.go @@ -87,7 +87,7 @@ type EngineClient interface { ReplicaList(*longhorn.Engine) (map[string]*Replica, error) ReplicaAdd(engine *longhorn.Engine, replicaName, url string, isRestoreVolume, fastSync bool, localSync *etypes.FileLocalSync, replicaFileSyncHTTPClientTimeout, grpcTimeoutSeconds int64) error - ReplicaRemove(engine *longhorn.Engine, url string) error + ReplicaRemove(engine *longhorn.Engine, url, replicaName string) error ReplicaRebuildStatus(*longhorn.Engine) (map[string]*longhorn.RebuildStatus, error) ReplicaRebuildVerify(engine *longhorn.Engine, replicaName, url string) error ReplicaModeUpdate(engine *longhorn.Engine, url string, mode string) error