Skip to content

Commit

Permalink
fix: handle error when no instances found for plugins in Rest
Browse files Browse the repository at this point in the history
  • Loading branch information
rahulguptajss authored and cgrinds committed Nov 8, 2022
1 parent cae1bd4 commit 401e4c5
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 7 deletions.
5 changes: 2 additions & 3 deletions cmd/collectors/commonutils.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package collectors
import (
"github.com/netapp/harvest/v2/cmd/tools/rest"
"github.com/netapp/harvest/v2/pkg/api/ontapi/zapi"
"github.com/netapp/harvest/v2/pkg/errs"
"github.com/netapp/harvest/v2/pkg/logging"
"github.com/netapp/harvest/v2/pkg/matrix"
"github.com/netapp/harvest/v2/pkg/tree/node"
Expand All @@ -12,15 +11,15 @@ import (
"time"
)

func InvokeRestCall(client *rest.Client, query string, href string, logger *logging.Logger) ([]gjson.Result, error) {
func InvokeRestCall(client *rest.Client, href string, logger *logging.Logger) ([]gjson.Result, error) {
result, err := rest.Fetch(client, href)
if err != nil {
logger.Error().Err(err).Str("href", href).Msg("Failed to fetch data")
return []gjson.Result{}, err
}

if len(result) == 0 {
return []gjson.Result{}, errs.New(errs.ErrNoInstance, "no "+query+" instances on cluster")
return []gjson.Result{}, nil
}

return result, nil
Expand Down
4 changes: 2 additions & 2 deletions cmd/collectors/rest/plugins/certificate/certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ func (my *Certificate) GetAdminVserver() (string, error) {
query := "api/private/cli/vserver"
href := rest.BuildHref("", "type", []string{"type=admin"}, "", "", "", "", query)

if result, err = collectors.InvokeRestCall(my.client, query, href, my.Logger); err != nil {
if result, err = collectors.InvokeRestCall(my.client, href, my.Logger); err != nil {
return "", err
}

Expand All @@ -242,7 +242,7 @@ func (my *Certificate) GetSecuritySsl(adminSvm string) (string, error) {
query := "api/private/cli/security/ssl"
href := rest.BuildHref("", "serial", []string{"vserver=" + adminSvm}, "", "", "", "", query)

if result, err = collectors.InvokeRestCall(my.client, query, href, my.Logger); err != nil {
if result, err = collectors.InvokeRestCall(my.client, href, my.Logger); err != nil {
return "", err
}

Expand Down
2 changes: 1 addition & 1 deletion cmd/collectors/rest/plugins/qtree/qtree.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ func (my *Qtree) Run(data *matrix.Matrix) ([]*matrix.Matrix, error) {

href := rest.BuildHref("", "*", filter, "", "", "", "", my.query)

if result, err = collectors.InvokeRestCall(my.client, my.query, href, my.Logger); err != nil {
if result, err = collectors.InvokeRestCall(my.client, href, my.Logger); err != nil {
return nil, err
}

Expand Down
2 changes: 1 addition & 1 deletion cmd/collectors/rest/plugins/volume/volume.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ func (my *Volume) getEncryptedDisks() ([]gjson.Result, error) {
query := "api/storage/disks"
href := rest.BuildHref("", strings.Join(diskFields, ","), []string{"protection_mode=!data|full"}, "", "", "", "", query)

if result, err = collectors.InvokeRestCall(my.client, query, href, my.Logger); err != nil {
if result, err = collectors.InvokeRestCall(my.client, href, my.Logger); err != nil {
return nil, err
}
return result, nil
Expand Down

0 comments on commit 401e4c5

Please sign in to comment.