From 07252150290d2ce0ed3bd5b1d3268f97183efd41 Mon Sep 17 00:00:00 2001 From: Abhisek Dwivedi Date: Mon, 10 Jul 2023 18:38:44 +0530 Subject: [PATCH 1/4] Added support for simultaneous scale-down and rolling restart SC cluster --- .pre-commit-config.yaml | 6 +- Makefile | 2 +- api/v1/aerospikecluster_validating_webhook.go | 6 +- api/v1/utils.go | 2 +- controllers/aero_info_calls.go | 16 ++--- controllers/pod.go | 4 +- controllers/rack.go | 2 +- controllers/strong_consistency.go | 58 +++++++++++++++++-- go.mod | 2 +- go.sum | 4 +- 10 files changed, 75 insertions(+), 27 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cf93b7e9a..9c05e0d9d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,8 +1,12 @@ repos: - repo: https://github.com/tekwizely/pre-commit-golang - rev: v1.0.0-rc.1 # change this to the latest version + rev: v1.0.0-rc.1 hooks: - id: go-mod-tidy + + - repo: https://github.com/golangci/golangci-lint + rev: v1.52.2 + hooks: - id: golangci-lint args: - --config=.golangci.yml diff --git a/Makefile b/Makefile index d7602b691..6f950b1ea 100644 --- a/Makefile +++ b/Makefile @@ -328,5 +328,5 @@ catalog: opm ## Generate a file-based catalog and its dockerfile. docker-buildx-catalog: catalog - docker buildx create --name project-v3-builder docker buildx use project-v3-builder - - docker buildx build --push --no-cache --platform=$(PLATFORMS) --tag ${CATALOG_IMG} -f $(CATALOG_DIR).Dockerfile . + - docker buildx build --push --no-cache --platform=$(PLATFORMS) --tag $(CATALOG_IMG) -f $(CATALOG_DIR).Dockerfile . - docker buildx rm project-v3-builder diff --git a/api/v1/aerospikecluster_validating_webhook.go b/api/v1/aerospikecluster_validating_webhook.go index 8f490843c..4513dfb03 100644 --- a/api/v1/aerospikecluster_validating_webhook.go +++ b/api/v1/aerospikecluster_validating_webhook.go @@ -277,7 +277,7 @@ func (c *AerospikeCluster) validateSCNamespaces() error { for _, nsConfInterface := range nsList { nsConf := nsConfInterface.(map[string]interface{}) - isEnabled := isNSSCEnabled(nsConf) + isEnabled := IsNSSCEnabled(nsConf) if isEnabled { tmpSCNamespaceSet.Insert(nsConf["name"].(string)) @@ -1242,7 +1242,7 @@ func validateNamespaceReplicationFactor( return err } - scEnabled := isNSSCEnabled(nsConf) + scEnabled := IsNSSCEnabled(nsConf) // clSize < rf is allowed in AP mode but not in sc mode if scEnabled && (clSize < rf) { @@ -1253,7 +1253,7 @@ func validateNamespaceReplicationFactor( return nil } -func isNSSCEnabled(nsConf map[string]interface{}) bool { +func IsNSSCEnabled(nsConf map[string]interface{}) bool { scEnabled, ok := nsConf["strong-consistency"] if !ok { return false diff --git a/api/v1/utils.go b/api/v1/utils.go index d7d12f692..701ae49b8 100644 --- a/api/v1/utils.go +++ b/api/v1/utils.go @@ -469,7 +469,7 @@ func IsClusterSCEnabled(aeroCluster *AerospikeCluster) bool { nsList := rack.AerospikeConfig.Value["namespaces"].([]interface{}) for _, nsConfInterface := range nsList { - isEnabled := isNSSCEnabled(nsConfInterface.(map[string]interface{})) + isEnabled := IsNSSCEnabled(nsConfInterface.(map[string]interface{})) if isEnabled { return true } diff --git a/controllers/aero_info_calls.go b/controllers/aero_info_calls.go index 78fba1bce..f8eb0bfdf 100644 --- a/controllers/aero_info_calls.go +++ b/controllers/aero_info_calls.go @@ -34,7 +34,7 @@ import ( // The ignorablePods list should be a list of failed or pending pods that are going to be // deleted eventually and are safe to ignore in stability checks. func (r *SingleClusterReconciler) waitForMultipleNodesSafeStopReady( - pods []*corev1.Pod, ignorablePods []corev1.Pod, setRoster bool, + pods []*corev1.Pod, ignorablePods []corev1.Pod, ) reconcileResult { if len(pods) == 0 { return reconcileSuccess() @@ -63,16 +63,10 @@ func (r *SingleClusterReconciler) waitForMultipleNodesSafeStopReady( return res } - if setRoster { - // Setup roster after migration. - if err = r.getAndSetRoster(policy, r.aeroCluster.Spec.RosterNodeBlockList, ignorablePods); err != nil { - r.Log.Error(err, "Failed to set roster for cluster") - return reconcileRequeueAfter(1) - } - } else { - if err := r.validateSCClusterState(policy, ignorablePods); err != nil { - return reconcileError(err) - } + // Setup roster after migration. + if err = r.getAndSetRoster(policy, r.aeroCluster.Spec.RosterNodeBlockList, ignorablePods); err != nil { + r.Log.Error(err, "Failed to set roster for cluster") + return reconcileRequeueAfter(1) } if err := r.quiescePods(policy, allHostConns, pods, ignorablePods); err != nil { diff --git a/controllers/pod.go b/controllers/pod.go index 3a53e713c..8574b3c1c 100644 --- a/controllers/pod.go +++ b/controllers/pod.go @@ -163,7 +163,7 @@ func (r *SingleClusterReconciler) rollingRestartPods( if len(activePods) != 0 { r.Log.Info("Restart active pods", "pods", getPodNames(activePods)) - if res := r.waitForMultipleNodesSafeStopReady(activePods, ignorablePods, false); !res.isSuccess { + if res := r.waitForMultipleNodesSafeStopReady(activePods, ignorablePods); !res.isSuccess { return res } @@ -376,7 +376,7 @@ func (r *SingleClusterReconciler) safelyDeletePodsAndEnsureImageUpdated( if len(activePods) != 0 { r.Log.Info("Restart active pods with updated container image", "pods", getPodNames(activePods)) - if res := r.waitForMultipleNodesSafeStopReady(activePods, ignorablePods, false); !res.isSuccess { + if res := r.waitForMultipleNodesSafeStopReady(activePods, ignorablePods); !res.isSuccess { return res } diff --git a/controllers/rack.go b/controllers/rack.go index 8ddcc399f..720d01c0b 100644 --- a/controllers/rack.go +++ b/controllers/rack.go @@ -763,7 +763,7 @@ func (r *SingleClusterReconciler) scaleDownRack( // Ignore safe stop check on pod not in running state. if utils.IsPodRunningAndReady(pod) { - if res := r.waitForMultipleNodesSafeStopReady([]*corev1.Pod{pod}, ignorablePods, true); !res.isSuccess { + if res := r.waitForMultipleNodesSafeStopReady([]*corev1.Pod{pod}, ignorablePods); !res.isSuccess { // The pod is running and is unsafe to terminate. return found, res } diff --git a/controllers/strong_consistency.go b/controllers/strong_consistency.go index a0d0bbe32..a470a81fd 100644 --- a/controllers/strong_consistency.go +++ b/controllers/strong_consistency.go @@ -2,7 +2,9 @@ package controllers import ( corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/util/sets" + asdbv1 "github.com/aerospike/aerospike-kubernetes-operator/api/v1" "github.com/aerospike/aerospike-management-lib/deployment" as "github.com/ashishshinde/aerospike-client-go/v6" ) @@ -16,12 +18,12 @@ func (r *SingleClusterReconciler) getAndSetRoster( return err } - removedNSes, err := r.removedNamespaces(allHostConns) + ignorableNamespaces, err := r.getIgnorableNamespaces(allHostConns) if err != nil { return err } - return deployment.GetAndSetRoster(r.Log, allHostConns, policy, rosterNodeBlockList, removedNSes) + return deployment.GetAndSetRoster(r.Log, allHostConns, policy, rosterNodeBlockList, ignorableNamespaces) } func (r *SingleClusterReconciler) validateSCClusterState(policy *as.ClientPolicy, ignorablePods []corev1.Pod) error { @@ -30,10 +32,58 @@ func (r *SingleClusterReconciler) validateSCClusterState(policy *as.ClientPolicy return err } - removedNSes, err := r.removedNamespaces(allHostConns) + ignorableNamespaces, err := r.getIgnorableNamespaces(allHostConns) if err != nil { return err } - return deployment.ValidateSCClusterState(r.Log, allHostConns, policy, removedNSes) + return deployment.ValidateSCClusterState(r.Log, allHostConns, policy, ignorableNamespaces) +} + +func (r *SingleClusterReconciler) addedSCNamespaces(allHostConns []*deployment.HostConn) ([]string, error) { + var ( + specSCNamespaces = sets.NewString() + newAddedSCNamespaces = sets.NewString() + ) + + // Look inside only 1st rack. SC namespaces should be same across all the racks + rack := r.aeroCluster.Spec.RackConfig.Racks[0] + nsList := rack.AerospikeConfig.Value["namespaces"].([]interface{}) + + for _, nsConfInterface := range nsList { + if asdbv1.IsNSSCEnabled(nsConfInterface.(map[string]interface{})) { + specSCNamespaces.Insert(nsConfInterface.(map[string]interface{})["name"].(string)) + } + } + + nodesNamespaces, err := deployment.GetClusterNamespaces(r.Log, r.getClientPolicy(), allHostConns) + if err != nil { + return nil, err + } + + // Check if SC namespaces are present in all node's namespaces, if not then it's a new SC namespace + for _, namespaces := range nodesNamespaces { + nodeNamespaces := sets.NewString(namespaces...) + newAddedSCNamespaces.Insert(specSCNamespaces.Difference(nodeNamespaces).List()...) + } + + return newAddedSCNamespaces.List(), nil +} + +func (r *SingleClusterReconciler) getIgnorableNamespaces(allHostConns []*deployment.HostConn) ( + sets.Set[string], error) { + removedNSes, err := r.removedNamespaces(allHostConns) + if err != nil { + return nil, err + } + + addSCNamespaces, err := r.addedSCNamespaces(allHostConns) + if err != nil { + return nil, err + } + + ignorableNamespaces := sets.New[string](removedNSes...) + ignorableNamespaces.Insert(addSCNamespaces...) + + return ignorableNamespaces, nil } diff --git a/go.mod b/go.mod index 4bd63e8a5..f626e14a7 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/aerospike/aerospike-kubernetes-operator go 1.19 require ( - github.com/aerospike/aerospike-management-lib v0.0.0-20230504085114-42b13f1152b1 + github.com/aerospike/aerospike-management-lib v0.0.0-20230710095848-9eb02bd730be github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d github.com/ashishshinde/aerospike-client-go/v6 v6.0.1-0.20220606044039-77304169d3a4 github.com/evanphx/json-patch v4.12.0+incompatible diff --git a/go.sum b/go.sum index 9a4f222ea..67f8da8cd 100644 --- a/go.sum +++ b/go.sum @@ -33,8 +33,8 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/aerospike/aerospike-management-lib v0.0.0-20230504085114-42b13f1152b1 h1:cXKjZFcUnGm/Waxtpe1gI30UcNl3r99T8J2ZHp8fLNA= -github.com/aerospike/aerospike-management-lib v0.0.0-20230504085114-42b13f1152b1/go.mod h1:sTlH+QtluBfc1ZkUaB3sfpZxd4aIux13ENkztyh0lsY= +github.com/aerospike/aerospike-management-lib v0.0.0-20230710095848-9eb02bd730be h1:6mDjOkVPbanGvcny3ehOo15eyZddp+21955ViPjaeQY= +github.com/aerospike/aerospike-management-lib v0.0.0-20230710095848-9eb02bd730be/go.mod h1:An7udaZ/C3TiDGI24gc4nOEomeMDD6ObBnLYpjjH/+A= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= From 921154a5f5fb654ce9af78bb7c5ac2032f97af25 Mon Sep 17 00:00:00 2001 From: Abhisek Dwivedi Date: Thu, 28 Sep 2023 13:32:27 +0530 Subject: [PATCH 2/4] Resolved review comments --- controllers/aero_info_calls.go | 12 ++++++------ controllers/reconciler.go | 9 ++------- controllers/strong_consistency.go | 19 ++++++------------- go.mod | 2 +- go.sum | 2 ++ 5 files changed, 17 insertions(+), 27 deletions(-) diff --git a/controllers/aero_info_calls.go b/controllers/aero_info_calls.go index 0b0c2120d..025965bc9 100644 --- a/controllers/aero_info_calls.go +++ b/controllers/aero_info_calls.go @@ -79,11 +79,6 @@ func (r *SingleClusterReconciler) waitForMultipleNodesSafeStopReady( func (r *SingleClusterReconciler) quiescePods( policy *as.ClientPolicy, allHostConns []*deployment.HostConn, pods []*corev1.Pod, ignorablePods []corev1.Pod, ) error { - removedNSes, err := r.removedNamespaces(allHostConns) - if err != nil { - return err - } - podList := make([]corev1.Pod, 0, len(pods)) for idx := range pods { @@ -95,7 +90,12 @@ func (r *SingleClusterReconciler) quiescePods( return err } - return deployment.InfoQuiesce(r.Log, policy, allHostConns, selectedHostConns, removedNSes) + nodesNamespaces, err := deployment.GetClusterNamespaces(r.Log, r.getClientPolicy(), allHostConns) + if err != nil { + return err + } + + return deployment.InfoQuiesce(r.Log, policy, allHostConns, selectedHostConns, r.removedNamespaces(nodesNamespaces)) } // TODO: Check only for migration diff --git a/controllers/reconciler.go b/controllers/reconciler.go index f1f201e37..887a061fb 100644 --- a/controllers/reconciler.go +++ b/controllers/reconciler.go @@ -694,12 +694,7 @@ func (r *SingleClusterReconciler) checkPreviouslyFailedCluster() (bool, error) { return false, nil } -func (r *SingleClusterReconciler) removedNamespaces(allHostConns []*deployment.HostConn) ([]string, error) { - nodesNamespaces, err := deployment.GetClusterNamespaces(r.Log, r.getClientPolicy(), allHostConns) - if err != nil { - return nil, err - } - +func (r *SingleClusterReconciler) removedNamespaces(nodesNamespaces map[string][]string) []string { statusNamespaces := sets.NewString() for _, namespaces := range nodesNamespaces { statusNamespaces.Insert(namespaces...) @@ -716,7 +711,7 @@ func (r *SingleClusterReconciler) removedNamespaces(allHostConns []*deployment.H removedNamespaces := statusNamespaces.Difference(specNamespaces) - return removedNamespaces.List(), nil + return removedNamespaces.List() } func (r *SingleClusterReconciler) IsStatusEmpty() bool { diff --git a/controllers/strong_consistency.go b/controllers/strong_consistency.go index a470a81fd..379b39475 100644 --- a/controllers/strong_consistency.go +++ b/controllers/strong_consistency.go @@ -40,7 +40,7 @@ func (r *SingleClusterReconciler) validateSCClusterState(policy *as.ClientPolicy return deployment.ValidateSCClusterState(r.Log, allHostConns, policy, ignorableNamespaces) } -func (r *SingleClusterReconciler) addedSCNamespaces(allHostConns []*deployment.HostConn) ([]string, error) { +func (r *SingleClusterReconciler) addedSCNamespaces(nodesNamespaces map[string][]string) []string { var ( specSCNamespaces = sets.NewString() newAddedSCNamespaces = sets.NewString() @@ -56,33 +56,26 @@ func (r *SingleClusterReconciler) addedSCNamespaces(allHostConns []*deployment.H } } - nodesNamespaces, err := deployment.GetClusterNamespaces(r.Log, r.getClientPolicy(), allHostConns) - if err != nil { - return nil, err - } - // Check if SC namespaces are present in all node's namespaces, if not then it's a new SC namespace for _, namespaces := range nodesNamespaces { nodeNamespaces := sets.NewString(namespaces...) newAddedSCNamespaces.Insert(specSCNamespaces.Difference(nodeNamespaces).List()...) } - return newAddedSCNamespaces.List(), nil + return newAddedSCNamespaces.List() } func (r *SingleClusterReconciler) getIgnorableNamespaces(allHostConns []*deployment.HostConn) ( sets.Set[string], error) { - removedNSes, err := r.removedNamespaces(allHostConns) + nodesNamespaces, err := deployment.GetClusterNamespaces(r.Log, r.getClientPolicy(), allHostConns) if err != nil { return nil, err } - addSCNamespaces, err := r.addedSCNamespaces(allHostConns) - if err != nil { - return nil, err - } + removedNamespaces := r.removedNamespaces(nodesNamespaces) + addSCNamespaces := r.addedSCNamespaces(nodesNamespaces) - ignorableNamespaces := sets.New[string](removedNSes...) + ignorableNamespaces := sets.New[string](removedNamespaces...) ignorableNamespaces.Insert(addSCNamespaces...) return ignorableNamespaces, nil diff --git a/go.mod b/go.mod index 761e4fd49..d8f3df534 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/aerospike/aerospike-kubernetes-operator go 1.19 require ( - github.com/aerospike/aerospike-management-lib v0.0.0-20230814122406-a5247ec7486a + github.com/aerospike/aerospike-management-lib v0.0.0-20230914182119-58c99a4c1655 github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d github.com/ashishshinde/aerospike-client-go/v6 v6.0.1-0.20220606044039-77304169d3a4 github.com/evanphx/json-patch v4.12.0+incompatible diff --git a/go.sum b/go.sum index f78eac91d..9bec05b90 100644 --- a/go.sum +++ b/go.sum @@ -35,6 +35,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/aerospike/aerospike-management-lib v0.0.0-20230814122406-a5247ec7486a h1:A6KnC0czL5xt3HGcTQL1KAQgtme4zlo2hncLg/B4XqI= github.com/aerospike/aerospike-management-lib v0.0.0-20230814122406-a5247ec7486a/go.mod h1:An7udaZ/C3TiDGI24gc4nOEomeMDD6ObBnLYpjjH/+A= +github.com/aerospike/aerospike-management-lib v0.0.0-20230914182119-58c99a4c1655 h1:eS4ARHGHXWfMdozWMTKZQb3Z7P0FzSqxFQqju+z3ekM= +github.com/aerospike/aerospike-management-lib v0.0.0-20230914182119-58c99a4c1655/go.mod h1:An7udaZ/C3TiDGI24gc4nOEomeMDD6ObBnLYpjjH/+A= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= From 6f9aa0bf910f12a3dd3f2d257ce58252cc203ad7 Mon Sep 17 00:00:00 2001 From: Abhisek Dwivedi Date: Tue, 3 Oct 2023 11:18:13 +0530 Subject: [PATCH 3/4] Updated management-lib version --- controllers/strong_consistency.go | 2 +- go.mod | 2 +- go.sum | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/controllers/strong_consistency.go b/controllers/strong_consistency.go index 2f32a72b1..0b3b4ed3f 100644 --- a/controllers/strong_consistency.go +++ b/controllers/strong_consistency.go @@ -4,9 +4,9 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/sets" + as "github.com/aerospike/aerospike-client-go/v6" asdbv1 "github.com/aerospike/aerospike-kubernetes-operator/api/v1" "github.com/aerospike/aerospike-management-lib/deployment" - as "github.com/aerospike/aerospike-client-go/v6" ) func (r *SingleClusterReconciler) getAndSetRoster( diff --git a/go.mod b/go.mod index 128eaca04..d0a883cb2 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/aerospike/aerospike-client-go/v6 v6.14.0 - github.com/aerospike/aerospike-management-lib v0.0.0-20230919064932-78dffc17b22f + github.com/aerospike/aerospike-management-lib v0.0.0-20231003054401-88e04dc5ba34 github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d github.com/evanphx/json-patch v4.12.0+incompatible github.com/go-logr/logr v1.2.3 diff --git a/go.sum b/go.sum index be11c0f73..76b6f92ef 100644 --- a/go.sum +++ b/go.sum @@ -37,6 +37,8 @@ github.com/aerospike/aerospike-client-go/v6 v6.14.0 h1:Z3FcGWJda1sagzdc6Akz4EJ13 github.com/aerospike/aerospike-client-go/v6 v6.14.0/go.mod h1:/0Wm81GhMqem+9flWcpazPKoRfjFeG6WrQdXGiMNi0A= github.com/aerospike/aerospike-management-lib v0.0.0-20230919064932-78dffc17b22f h1:88Kb5XNy9+qS1/m8fr1WsbI8SlXhd2SSSKJXlg7mtz0= github.com/aerospike/aerospike-management-lib v0.0.0-20230919064932-78dffc17b22f/go.mod h1:GddTWFXSpiOUmuyG32pfjdQT7yjWTGNSZKunEFK4osc= +github.com/aerospike/aerospike-management-lib v0.0.0-20231003054401-88e04dc5ba34 h1:4CwiVakb49sPQ+zpaESltn299et3Tt8JNrhz01O24m4= +github.com/aerospike/aerospike-management-lib v0.0.0-20231003054401-88e04dc5ba34/go.mod h1:GddTWFXSpiOUmuyG32pfjdQT7yjWTGNSZKunEFK4osc= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= From b2371b26813a9b17df7ba97193687272a71259cf Mon Sep 17 00:00:00 2001 From: Abhisek Dwivedi Date: Tue, 3 Oct 2023 17:13:40 +0530 Subject: [PATCH 4/4] Updated management-lib version --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index d0a883cb2..27babf7cb 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/aerospike/aerospike-client-go/v6 v6.14.0 - github.com/aerospike/aerospike-management-lib v0.0.0-20231003054401-88e04dc5ba34 + github.com/aerospike/aerospike-management-lib v0.0.0-20231003114052-c91758138c9f github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d github.com/evanphx/json-patch v4.12.0+incompatible github.com/go-logr/logr v1.2.3 diff --git a/go.sum b/go.sum index 76b6f92ef..3df40367d 100644 --- a/go.sum +++ b/go.sum @@ -35,10 +35,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/aerospike/aerospike-client-go/v6 v6.14.0 h1:Z3FcGWJda1sagzdc6Akz4EJ13Pq55Uyn6qtFLrVUDd0= github.com/aerospike/aerospike-client-go/v6 v6.14.0/go.mod h1:/0Wm81GhMqem+9flWcpazPKoRfjFeG6WrQdXGiMNi0A= -github.com/aerospike/aerospike-management-lib v0.0.0-20230919064932-78dffc17b22f h1:88Kb5XNy9+qS1/m8fr1WsbI8SlXhd2SSSKJXlg7mtz0= -github.com/aerospike/aerospike-management-lib v0.0.0-20230919064932-78dffc17b22f/go.mod h1:GddTWFXSpiOUmuyG32pfjdQT7yjWTGNSZKunEFK4osc= -github.com/aerospike/aerospike-management-lib v0.0.0-20231003054401-88e04dc5ba34 h1:4CwiVakb49sPQ+zpaESltn299et3Tt8JNrhz01O24m4= -github.com/aerospike/aerospike-management-lib v0.0.0-20231003054401-88e04dc5ba34/go.mod h1:GddTWFXSpiOUmuyG32pfjdQT7yjWTGNSZKunEFK4osc= +github.com/aerospike/aerospike-management-lib v0.0.0-20231003114052-c91758138c9f h1:bR4R6TYDV8j2q+jOjQvS0LQ/eHdSHwkJWja+d7WrJuM= +github.com/aerospike/aerospike-management-lib v0.0.0-20231003114052-c91758138c9f/go.mod h1:GddTWFXSpiOUmuyG32pfjdQT7yjWTGNSZKunEFK4osc= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=