Skip to content

Commit a04f833

Browse files
authored
Query params replicate-ilm-expiry and disable-ilm-expiry-replication (#3065)
Signed-off-by: Shubhendu Ram Tripathi <shubhendu@minio.io>
1 parent 3b52cc9 commit a04f833

File tree

4 files changed

+29
-12
lines changed

4 files changed

+29
-12
lines changed

api/admin_client_mock.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -317,11 +317,11 @@ func (ac AdminClientMock) getSiteReplicationInfo(ctx context.Context) (*madmin.S
317317
return getSiteReplicationInfo(ctx)
318318
}
319319

320-
func (ac AdminClientMock) addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite) (*madmin.ReplicateAddStatus, error) {
320+
func (ac AdminClientMock) addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite, _ madmin.SRAddOptions) (*madmin.ReplicateAddStatus, error) {
321321
return addSiteReplicationInfo(ctx, sites)
322322
}
323323

324-
func (ac AdminClientMock) editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo) (*madmin.ReplicateEditStatus, error) {
324+
func (ac AdminClientMock) editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo, _ madmin.SREditOptions) (*madmin.ReplicateEditStatus, error) {
325325
return editSiteReplicationInfo(ctx, site)
326326
}
327327

api/admin_site_replication.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package api
1919
import (
2020
"context"
2121

22+
"github.com/go-openapi/runtime"
2223
"github.com/go-openapi/runtime/middleware"
2324
"github.com/minio/console/api/operations"
2425
siteRepApi "github.com/minio/console/api/operations/site_replication"
@@ -162,7 +163,13 @@ func addSiteReplication(ctx context.Context, client MinioAdmin, params *siteRepA
162163
rSites = append(rSites, *pInfo)
163164
}
164165
}
165-
cc, err := client.addSiteReplicationInfo(ctx, rSites)
166+
qs := runtime.Values(params.HTTPRequest.URL.Query())
167+
_, qhkReplicateILMExpiry, _ := qs.GetOK("replicate-ilm-expiry")
168+
var opts madmin.SRAddOptions
169+
if qhkReplicateILMExpiry {
170+
opts.ReplicateILMExpiry = true
171+
}
172+
cc, err := client.addSiteReplicationInfo(ctx, rSites, opts)
166173
if err != nil {
167174
return nil, err
168175
}
@@ -183,7 +190,17 @@ func editSiteReplication(ctx context.Context, client MinioAdmin, params *siteRep
183190
Name: params.Body.Name, // does not get updated.
184191
DeploymentID: params.Body.DeploymentID, // readonly
185192
}
186-
eRes, err := client.editSiteReplicationInfo(ctx, *peerSiteInfo)
193+
qs := runtime.Values(params.HTTPRequest.URL.Query())
194+
_, qhkDisableILMExpiryReplication, _ := qs.GetOK("disable-ilm-expiry-replication")
195+
_, qhkEnableILMExpiryReplication, _ := qs.GetOK("enable-ilm-expiry-replication")
196+
var opts madmin.SREditOptions
197+
if qhkDisableILMExpiryReplication {
198+
opts.DisableILMExpiryReplication = true
199+
}
200+
if qhkEnableILMExpiryReplication {
201+
opts.EnableILMExpiryReplication = true
202+
}
203+
eRes, err := client.editSiteReplicationInfo(ctx, *peerSiteInfo, opts)
187204
if err != nil {
188205
return nil, err
189206
}

api/admin_site_replication_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ func TestAddSiteReplicationInfo(t *testing.T) {
123123
},
124124
}
125125

126-
srInfo, err := adminClient.addSiteReplicationInfo(ctx, sites)
126+
srInfo, err := adminClient.addSiteReplicationInfo(ctx, sites, madmin.SRAddOptions{})
127127
assert.Nil(err)
128128
assert.Equal(expValueMock, srInfo, fmt.Sprintf("Failed on %s: length of lists is not the same", function))
129129
}
@@ -159,7 +159,7 @@ func TestEditSiteReplicationInfo(t *testing.T) {
159159
DeploymentID: "12345",
160160
}
161161

162-
srInfo, err := adminClient.editSiteReplicationInfo(ctx, site)
162+
srInfo, err := adminClient.editSiteReplicationInfo(ctx, site, madmin.SREditOptions{})
163163
assert.Nil(err)
164164
assert.Equal(expValueMock, srInfo, fmt.Sprintf("Failed on %s: length of lists is not the same", function))
165165
}

api/client-admin.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ type MinioAdmin interface {
9797
speedtest(ctx context.Context, opts madmin.SpeedtestOpts) (chan madmin.SpeedTestResult, error)
9898
// Site Relication
9999
getSiteReplicationInfo(ctx context.Context) (*madmin.SiteReplicationInfo, error)
100-
addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite) (*madmin.ReplicateAddStatus, error)
101-
editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo) (*madmin.ReplicateEditStatus, error)
100+
addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite, opts madmin.SRAddOptions) (*madmin.ReplicateAddStatus, error)
101+
editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo, opts madmin.SREditOptions) (*madmin.ReplicateEditStatus, error)
102102
deleteSiteReplicationInfo(ctx context.Context, removeReq madmin.SRRemoveReq) (*madmin.ReplicateRemoveStatus, error)
103103

104104
// Replication status
@@ -565,8 +565,8 @@ func (ac AdminClient) getSiteReplicationInfo(ctx context.Context) (*madmin.SiteR
565565
}, nil
566566
}
567567

568-
func (ac AdminClient) addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite) (*madmin.ReplicateAddStatus, error) {
569-
res, err := ac.Client.SiteReplicationAdd(ctx, sites, madmin.SRAddOptions{})
568+
func (ac AdminClient) addSiteReplicationInfo(ctx context.Context, sites []madmin.PeerSite, opts madmin.SRAddOptions) (*madmin.ReplicateAddStatus, error) {
569+
res, err := ac.Client.SiteReplicationAdd(ctx, sites, opts)
570570
if err != nil {
571571
return nil, err
572572
}
@@ -579,8 +579,8 @@ func (ac AdminClient) addSiteReplicationInfo(ctx context.Context, sites []madmin
579579
}, nil
580580
}
581581

582-
func (ac AdminClient) editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo) (*madmin.ReplicateEditStatus, error) {
583-
res, err := ac.Client.SiteReplicationEdit(ctx, site, madmin.SREditOptions{})
582+
func (ac AdminClient) editSiteReplicationInfo(ctx context.Context, site madmin.PeerInfo, opts madmin.SREditOptions) (*madmin.ReplicateEditStatus, error) {
583+
res, err := ac.Client.SiteReplicationEdit(ctx, site, opts)
584584
if err != nil {
585585
return nil, err
586586
}

0 commit comments

Comments
 (0)