From 1a5886e776de79fc6598838242e4dc7ff21e7bea Mon Sep 17 00:00:00 2001 From: Ekaterina Lebedeva Date: Mon, 17 Jun 2024 16:58:10 +0300 Subject: [PATCH] [#228] client: Move isClientErrMaintenance from node Signed-off-by: Ekaterina Lebedeva --- client/errors.go | 6 ++++++ client/errors_test.go | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/client/errors.go b/client/errors.go index be87c62..b457ff0 100644 --- a/client/errors.go +++ b/client/errors.go @@ -67,6 +67,12 @@ func IsErrAPEManagerAccessDenied(err error) bool { return wrapsErrType[*apistatus.APEManagerAccessDenied](err) } +// IsErrNodeUnderMaintenance checks if err corresponds to FrostFS status return +// corresponding to nodes being under maintenance. Supports wrapped errors. +func IsErrNodeUnderMaintenance(err error) bool { + return wrapsErrType[*apistatus.NodeUnderMaintenance](err) +} + // returns error describing missing field with the given name. func newErrMissingResponseField(name string) error { return fmt.Errorf("missing %s field in the response", name) diff --git a/client/errors_test.go b/client/errors_test.go index 53872fa..acf82b9 100644 --- a/client/errors_test.go +++ b/client/errors_test.go @@ -38,6 +38,10 @@ func TestErrors(t *testing.T) { check: client.IsErrSessionNotFound, err: new(apistatus.SessionTokenNotFound), }, + { + check: client.IsErrNodeUnderMaintenance, + err: new(apistatus.NodeUnderMaintenance), + }, } for i := range errs {