From 6242499c9c6d9163d6641270d0aa69c690c84e60 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 Feb 2024 14:40:15 +0530 Subject: [PATCH 01/10] chore: update all dependencies (#2687) * style: remove potential nil dereference (#2675) * chore: update all dependencies --------- Co-authored-by: Chris Grindstaff Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- cmd/collectors/rest/plugins/volume/volume.go | 5 +- go.mod | 4 +- go.sum | 4 + vendor/github.com/tidwall/gjson/gjson.go | 4 + .../go-sysconf/zsysconf_values_linux_arm64.go | 114 ++++++++++++++++++ .../zsysconf_values_linux_loong64.go | 114 ++++++++++++++++++ .../go-sysconf/zsysconf_values_linux_mips.go | 114 ++++++++++++++++++ .../zsysconf_values_linux_mips64.go | 114 ++++++++++++++++++ .../zsysconf_values_linux_mips64le.go | 114 ++++++++++++++++++ .../zsysconf_values_linux_mipsle.go | 114 ++++++++++++++++++ .../go-sysconf/zsysconf_values_linux_ppc64.go | 114 ++++++++++++++++++ .../zsysconf_values_linux_ppc64le.go | 114 ++++++++++++++++++ .../zsysconf_values_linux_riscv64.go | 114 ++++++++++++++++++ .../go-sysconf/zsysconf_values_linux_s390x.go | 114 ++++++++++++++++++ .../go-sysconf/zsysconf_values_netbsd_386.go | 11 ++ .../zsysconf_values_netbsd_amd64.go | 11 ++ .../go-sysconf/zsysconf_values_netbsd_arm.go | 11 ++ .../zsysconf_values_netbsd_arm64.go | 11 ++ vendor/modules.txt | 4 +- 19 files changed, 1199 insertions(+), 6 deletions(-) create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_arm64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_loong64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64le.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mipsle.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64le.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_s390x.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_386.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_amd64.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm.go create mode 100644 vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm64.go diff --git a/cmd/collectors/rest/plugins/volume/volume.go b/cmd/collectors/rest/plugins/volume/volume.go index b34dcb081..35478a052 100644 --- a/cmd/collectors/rest/plugins/volume/volume.go +++ b/cmd/collectors/rest/plugins/volume/volume.go @@ -126,7 +126,8 @@ func (v *Volume) updateVolumeLabels(data *matrix.Matrix, volumeMap map[string]vo cloneSplitEstimateMetric := data.GetMetric("clone_split_estimate") if cloneSplitEstimateMetric == nil { if cloneSplitEstimateMetric, err = data.NewMetricFloat64("clone_split_estimate"); err != nil { - v.Logger.Error().Stack().Msg("error while creating clone split estimate metric") + v.Logger.Error().Err(err).Msg("error while creating clone split estimate metric") + return } } for _, volume := range data.GetInstances() { @@ -168,7 +169,7 @@ func (v *Volume) handleARWProtection(data *matrix.Matrix) { // Set all global labels v.arw.SetGlobalLabels(data.GetGlobalLabels()) arwStatusValue := "Active Mode" - // Case where cluster don't have any volumes, arwStatus show as 'Not Monitoring' + // Case where cluster doesn't have any volumes, arwStatus show as 'Not Monitoring' if len(data.GetInstances()) == 0 { arwStatusValue = "Not Monitoring" } diff --git a/go.mod b/go.mod index 8c2c710e9..924454543 100644 --- a/go.mod +++ b/go.mod @@ -11,11 +11,11 @@ require ( github.com/rs/zerolog v1.32.0 github.com/shirou/gopsutil/v3 v3.24.1 github.com/spf13/cobra v1.8.0 - github.com/tidwall/gjson v1.17.0 + github.com/tidwall/gjson v1.17.1 github.com/tidwall/pretty v1.2.1 github.com/tidwall/sjson v1.2.5 github.com/zekroTJA/timedmap v1.5.2 - golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 + golang.org/x/exp v0.0.0-20240213143201-ec583247a57a golang.org/x/sys v0.17.0 golang.org/x/term v0.17.0 golang.org/x/text v0.14.0 diff --git a/go.sum b/go.sum index d9a464133..b1ed59778 100644 --- a/go.sum +++ b/go.sum @@ -86,6 +86,8 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/gjson v1.17.0 h1:/Jocvlh98kcTfpN2+JzGQWQcqrPQwDrVEMApx/M5ZwM= github.com/tidwall/gjson v1.17.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.17.1 h1:wlYEnwqAHgzmhNUFfw7Xalt2JzQvsMx2Se4PcoFCT/U= +github.com/tidwall/gjson v1.17.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= @@ -106,6 +108,8 @@ github.com/zekroTJA/timedmap v1.5.2 h1:5bhWBdyvekLHLrZu8cNJB6iCpIQl4bGaG4HTmPbTN github.com/zekroTJA/timedmap v1.5.2/go.mod h1:Go4uPxMN1Wjl5IgO6HYD1tM9IQhkYEVqcrrdsI4ljXo= golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 h1:/RIbNt/Zr7rVhIkQhooTxCxFcdWLGIKnZA4IXNFSrvo= golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= +golang.org/x/exp v0.0.0-20240213143201-ec583247a57a h1:HinSgX1tJRX3KsL//Gxynpw5CTOAIPhgL4W8PNiIpVE= +golang.org/x/exp v0.0.0-20240213143201-ec583247a57a/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/vendor/github.com/tidwall/gjson/gjson.go b/vendor/github.com/tidwall/gjson/gjson.go index 79498250a..4acd087c0 100644 --- a/vendor/github.com/tidwall/gjson/gjson.go +++ b/vendor/github.com/tidwall/gjson/gjson.go @@ -1926,6 +1926,10 @@ func AppendJSONString(dst []byte, s string) []byte { if s[i] < ' ' { dst = append(dst, '\\') switch s[i] { + case '\b': + dst = append(dst, 'b') + case '\f': + dst = append(dst, 'f') case '\n': dst = append(dst, 'n') case '\r': diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_arm64.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_arm64.go new file mode 100644 index 000000000..362403abc --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_arm64.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && arm64 +// +build linux,arm64 + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x20000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = -0x1 + _POSIX_V7_ILP32_OFFBIG = -0x1 + _POSIX_V7_LP64_OFF64 = 0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = -0x1 + _POSIX_V6_ILP32_OFFBIG = -0x1 + _POSIX_V6_LP64_OFF64 = 0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_loong64.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_loong64.go new file mode 100644 index 000000000..95a71f4a2 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_loong64.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && loong64 +// +build linux,loong64 + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x20000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = -0x1 + _POSIX_V7_ILP32_OFFBIG = -0x1 + _POSIX_V7_LP64_OFF64 = 0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = -0x1 + _POSIX_V6_ILP32_OFFBIG = -0x1 + _POSIX_V6_LP64_OFF64 = 0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips.go new file mode 100644 index 000000000..868b0ffb3 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && mips +// +build linux,mips + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x20000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = 0x1 + _POSIX_V7_ILP32_OFFBIG = 0x1 + _POSIX_V7_LP64_OFF64 = -0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = 0x1 + _POSIX_V6_ILP32_OFFBIG = 0x1 + _POSIX_V6_LP64_OFF64 = -0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64.go new file mode 100644 index 000000000..5949f3d71 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && mips64 +// +build linux,mips64 + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x20000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = -0x1 + _POSIX_V7_ILP32_OFFBIG = -0x1 + _POSIX_V7_LP64_OFF64 = 0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = -0x1 + _POSIX_V6_ILP32_OFFBIG = -0x1 + _POSIX_V6_LP64_OFF64 = 0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64le.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64le.go new file mode 100644 index 000000000..1853419a3 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mips64le.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && mips64le +// +build linux,mips64le + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x20000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = -0x1 + _POSIX_V7_ILP32_OFFBIG = -0x1 + _POSIX_V7_LP64_OFF64 = 0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = -0x1 + _POSIX_V6_ILP32_OFFBIG = -0x1 + _POSIX_V6_LP64_OFF64 = 0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mipsle.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mipsle.go new file mode 100644 index 000000000..ff41b3469 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_mipsle.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && mipsle +// +build linux,mipsle + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x20000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = 0x1 + _POSIX_V7_ILP32_OFFBIG = 0x1 + _POSIX_V7_LP64_OFF64 = -0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = 0x1 + _POSIX_V6_ILP32_OFFBIG = 0x1 + _POSIX_V6_LP64_OFF64 = -0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64.go new file mode 100644 index 000000000..388743728 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && ppc64 +// +build linux,ppc64 + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x20000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = -0x1 + _POSIX_V7_ILP32_OFFBIG = -0x1 + _POSIX_V7_LP64_OFF64 = 0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = -0x1 + _POSIX_V6_ILP32_OFFBIG = -0x1 + _POSIX_V6_LP64_OFF64 = 0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64le.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64le.go new file mode 100644 index 000000000..6d76929a6 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_ppc64le.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && ppc64le +// +build linux,ppc64le + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x20000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = -0x1 + _POSIX_V7_ILP32_OFFBIG = -0x1 + _POSIX_V7_LP64_OFF64 = 0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = -0x1 + _POSIX_V6_ILP32_OFFBIG = -0x1 + _POSIX_V6_LP64_OFF64 = 0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go new file mode 100644 index 000000000..3d7d71b32 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && riscv64 +// +build linux,riscv64 + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x4000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = -0x1 + _POSIX_V7_ILP32_OFFBIG = -0x1 + _POSIX_V7_LP64_OFF64 = 0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = -0x1 + _POSIX_V6_ILP32_OFFBIG = -0x1 + _POSIX_V6_LP64_OFF64 = 0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_s390x.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_s390x.go new file mode 100644 index 000000000..9cf8529f5 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_linux_s390x.go @@ -0,0 +1,114 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_linux.go + +//go:build linux && s390x +// +build linux,s390x + +package sysconf + +const ( + _AIO_PRIO_DELTA_MAX = 0x14 + _BC_BASE_MAX = 0x63 + _BC_DIM_MAX = 0x800 + _BC_SCALE_MAX = 0x63 + _BC_STRING_MAX = 0x3e8 + _COLL_WEIGHTS_MAX = 0xff + _DELAYTIMER_MAX = 0x7fffffff + _EXPR_NEST_MAX = 0x20 + _HOST_NAME_MAX = 0x40 + _LINE_MAX = 0x800 + _LOGIN_NAME_MAX = 0x100 + _MQ_PRIO_MAX = 0x8000 + _NGROUPS_MAX = 0x10000 + _NSS_BUFLEN_GROUP = 0x400 + _NSS_BUFLEN_PASSWD = 0x400 + _OPEN_MAX = 0x100 + _PTHREAD_KEYS_MAX = 0x400 + _PTHREAD_STACK_MIN = 0x4000 + _RE_DUP_MAX = 0x7fff + _RTSIG_MAX = 0x20 + _SEM_VALUE_MAX = 0x7fffffff + _STREAM_MAX = 0x10 + _SYMLOOP_MAX = -0x1 + _TTY_NAME_MAX = 0x20 + + _UIO_MAXIOV = 0x400 + + _INT_MAX = 0x7fffffff + + _POSIX_ADVISORY_INFO = 0x31069 + _POSIX_ARG_MAX = 0x1000 + _POSIX_ASYNCHRONOUS_IO = 0x31069 + _POSIX_BARRIERS = 0x31069 + _POSIX_CHILD_MAX = 0x19 + _POSIX_CLOCK_SELECTION = 0x31069 + _POSIX_CPUTIME = 0x0 + _POSIX_FSYNC = 0x31069 + _POSIX_IPV6 = 0x31069 + _POSIX_JOB_CONTROL = 0x1 + _POSIX_MAPPED_FILES = 0x31069 + _POSIX_MEMLOCK = 0x31069 + _POSIX_MEMLOCK_RANGE = 0x31069 + _POSIX_MEMORY_PROTECTION = 0x31069 + _POSIX_MESSAGE_PASSING = 0x31069 + _POSIX_MONOTONIC_CLOCK = 0x0 + _POSIX_PRIORITIZED_IO = 0x31069 + _POSIX_PRIORITY_SCHEDULING = 0x31069 + _POSIX_RAW_SOCKETS = 0x31069 + _POSIX_READER_WRITER_LOCKS = 0x31069 + _POSIX_REALTIME_SIGNALS = 0x31069 + _POSIX_REGEXP = 0x1 + _POSIX_SAVED_IDS = 0x1 + _POSIX_SEMAPHORES = 0x31069 + _POSIX_SHARED_MEMORY_OBJECTS = 0x31069 + _POSIX_SHELL = 0x1 + _POSIX_SIGQUEUE_MAX = 0x20 + _POSIX_SPAWN = 0x31069 + _POSIX_SPIN_LOCKS = 0x31069 + _POSIX_SPORADIC_SERVER = -0x1 + _POSIX_SYNCHRONIZED_IO = 0x31069 + _POSIX_THREAD_ATTR_STACKADDR = 0x31069 + _POSIX_THREAD_ATTR_STACKSIZE = 0x31069 + _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4 + _POSIX_THREAD_PRIO_INHERIT = 0x31069 + _POSIX_THREAD_PRIO_PROTECT = 0x31069 + _POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069 + _POSIX_THREAD_PROCESS_SHARED = 0x31069 + _POSIX_THREAD_SAFE_FUNCTIONS = 0x31069 + _POSIX_THREAD_SPORADIC_SERVER = -0x1 + _POSIX_THREADS = 0x31069 + _POSIX_TIMEOUTS = 0x31069 + _POSIX_TIMERS = 0x31069 + _POSIX_TRACE = -0x1 + _POSIX_TRACE_EVENT_FILTER = -0x1 + _POSIX_TRACE_INHERIT = -0x1 + _POSIX_TRACE_LOG = -0x1 + _POSIX_TYPED_MEMORY_OBJECTS = -0x1 + _POSIX_VERSION = 0x31069 + + _POSIX_V7_ILP32_OFF32 = -0x1 + _POSIX_V7_ILP32_OFFBIG = -0x1 + _POSIX_V7_LP64_OFF64 = 0x1 + _POSIX_V7_LPBIG_OFFBIG = -0x1 + + _POSIX_V6_ILP32_OFF32 = -0x1 + _POSIX_V6_ILP32_OFFBIG = -0x1 + _POSIX_V6_LP64_OFF64 = 0x1 + _POSIX_V6_LPBIG_OFFBIG = -0x1 + + _POSIX2_C_BIND = 0x31069 + _POSIX2_C_DEV = 0x31069 + _POSIX2_C_VERSION = 0x31069 + _POSIX2_CHAR_TERM = 0x31069 + _POSIX2_LOCALEDEF = 0x31069 + _POSIX2_SW_DEV = 0x31069 + _POSIX2_VERSION = 0x31069 + + _XOPEN_ENH_I18N = 0x1 + _XOPEN_REALTIME = 0x1 + _XOPEN_REALTIME_THREADS = 0x1 + _XOPEN_SHM = 0x1 + _XOPEN_UNIX = 0x1 + _XOPEN_VERSION = 0x2bc + _XOPEN_XCU_VERSION = 0x4 +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_386.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_386.go new file mode 100644 index 000000000..3cd64dd66 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_386.go @@ -0,0 +1,11 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_netbsd.go + +//go:build netbsd && 386 +// +build netbsd,386 + +package sysconf + +const ( + _LONG_MAX = 0x7fffffff +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_amd64.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_amd64.go new file mode 100644 index 000000000..02fc1d0ef --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_amd64.go @@ -0,0 +1,11 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_netbsd.go + +//go:build netbsd && amd64 +// +build netbsd,amd64 + +package sysconf + +const ( + _LONG_MAX = 0x7fffffffffffffff +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm.go new file mode 100644 index 000000000..16f9b6e71 --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm.go @@ -0,0 +1,11 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_netbsd.go + +//go:build netbsd && arm +// +build netbsd,arm + +package sysconf + +const ( + _LONG_MAX = 0x7fffffff +) diff --git a/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm64.go b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm64.go new file mode 100644 index 000000000..e530339ca --- /dev/null +++ b/vendor/github.com/tklauser/go-sysconf/zsysconf_values_netbsd_arm64.go @@ -0,0 +1,11 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs sysconf_values_netbsd.go + +//go:build netbsd && arm64 +// +build netbsd,arm64 + +package sysconf + +const ( + _LONG_MAX = 0x7fffffffffffffff +) diff --git a/vendor/modules.txt b/vendor/modules.txt index ac9ff35cd..d6848888b 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -80,7 +80,7 @@ github.com/spf13/cobra # github.com/spf13/pflag v1.0.5 ## explicit; go 1.12 github.com/spf13/pflag -# github.com/tidwall/gjson v1.17.0 +# github.com/tidwall/gjson v1.17.1 ## explicit; go 1.12 github.com/tidwall/gjson # github.com/tidwall/match v1.1.1 @@ -104,7 +104,7 @@ github.com/yusufpapurcu/wmi # github.com/zekroTJA/timedmap v1.5.2 ## explicit; go 1.13 github.com/zekroTJA/timedmap -# golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 +# golang.org/x/exp v0.0.0-20240213143201-ec583247a57a ## explicit; go 1.20 golang.org/x/exp/maps # golang.org/x/sys v0.17.0 From 6d192b3cdee70759a04323baab180a80d20b7695 Mon Sep 17 00:00:00 2001 From: Rahul Date: Mon, 19 Feb 2024 19:04:44 +0530 Subject: [PATCH 02/10] fix: StorageGrid Rest collector doesn't remove deleted Objects (#2677) * fix: StorageGrid Rest collector doesn't remove deleted Objects * fix: StorageGrid Rest collector doesn't remove deleted Objects --- cmd/collectors/collectorstest.go | 18 ++ cmd/collectors/rest/rest_test.go | 20 +- cmd/collectors/storagegrid/rest/client.go | 2 + .../storagegrid/rest/dummyclient.go | 46 ++++ cmd/collectors/storagegrid/storagegrid.go | 20 +- .../storagegrid/storagegrid_test.go | 63 ++++++ .../conf/storagegrid/11.6.0/tenant.yaml | 19 ++ .../storagegrid/testdata/config.yml | 14 ++ .../storagegrid/testdata/tenant.json | 178 ++++++++++++++++ .../storagegrid/testdata/tenant_add.json | 197 ++++++++++++++++++ .../storagegrid/testdata/tenant_delete.json | 159 ++++++++++++++ 11 files changed, 715 insertions(+), 21 deletions(-) create mode 100644 cmd/collectors/storagegrid/rest/dummyclient.go create mode 100644 cmd/collectors/storagegrid/storagegrid_test.go create mode 100644 cmd/collectors/storagegrid/testdata/conf/storagegrid/11.6.0/tenant.yaml create mode 100644 cmd/collectors/storagegrid/testdata/config.yml create mode 100644 cmd/collectors/storagegrid/testdata/tenant.json create mode 100644 cmd/collectors/storagegrid/testdata/tenant_add.json create mode 100644 cmd/collectors/storagegrid/testdata/tenant_delete.json diff --git a/cmd/collectors/collectorstest.go b/cmd/collectors/collectorstest.go index 9e9b073aa..b8cc55382 100644 --- a/cmd/collectors/collectorstest.go +++ b/cmd/collectors/collectorstest.go @@ -3,6 +3,9 @@ package collectors import ( "bytes" "compress/gzip" + "fmt" + "github.com/netapp/harvest/v2/pkg/tree" + "github.com/netapp/harvest/v2/pkg/tree/node" "github.com/tidwall/gjson" "github.com/tidwall/sjson" "io" @@ -73,3 +76,18 @@ func JSONToGson(path string, flatten bool) []gjson.Result { gsonCache[path] = result return result } + +func Params(object string, path string) *node.Node { + yml := ` +schedule: + - data: 9999h +objects: + %s: %s +` + yml = fmt.Sprintf(yml, object, path) + root, err := tree.LoadYaml([]byte(yml)) + if err != nil { + panic(err) + } + return root +} diff --git a/cmd/collectors/rest/rest_test.go b/cmd/collectors/rest/rest_test.go index fe4f1a8e9..7475c5130 100644 --- a/cmd/collectors/rest/rest_test.go +++ b/cmd/collectors/rest/rest_test.go @@ -1,14 +1,11 @@ package rest import ( - "fmt" "github.com/netapp/harvest/v2/cmd/collectors" "github.com/netapp/harvest/v2/cmd/poller/collector" "github.com/netapp/harvest/v2/cmd/poller/options" "github.com/netapp/harvest/v2/pkg/conf" "github.com/netapp/harvest/v2/pkg/matrix" - "github.com/netapp/harvest/v2/pkg/tree" - "github.com/netapp/harvest/v2/pkg/tree/node" "github.com/tidwall/gjson" "os" "strings" @@ -156,7 +153,7 @@ func newRest(object string, path string) *Rest { opts.Poller = pollerName opts.HomePath = "testdata" opts.IsTest = true - ac := collector.New("Rest", object, opts, params(object, path), nil) + ac := collector.New("Rest", object, opts, collectors.Params(object, path), nil) r := Rest{} err = r.Init(ac) if err != nil { @@ -164,18 +161,3 @@ func newRest(object string, path string) *Rest { } return &r } - -func params(object string, path string) *node.Node { - yml := ` -schedule: - - data: 9999h -objects: - %s: %s -` - yml = fmt.Sprintf(yml, object, path) - root, err := tree.LoadYaml([]byte(yml)) - if err != nil { - panic(err) - } - return root -} diff --git a/cmd/collectors/storagegrid/rest/client.go b/cmd/collectors/storagegrid/rest/client.go index 0dc362a1f..e38b6b9d7 100644 --- a/cmd/collectors/storagegrid/rest/client.go +++ b/cmd/collectors/storagegrid/rest/client.go @@ -26,6 +26,8 @@ const ( DefaultAPIVersion = "3" ) +var NewClientFunc = NewClient + type Client struct { client *http.Client request *http.Request diff --git a/cmd/collectors/storagegrid/rest/dummyclient.go b/cmd/collectors/storagegrid/rest/dummyclient.go new file mode 100644 index 000000000..b9d4ecc8a --- /dev/null +++ b/cmd/collectors/storagegrid/rest/dummyclient.go @@ -0,0 +1,46 @@ +package rest + +import ( + "bytes" + + "github.com/netapp/harvest/v2/pkg/auth" + "github.com/netapp/harvest/v2/pkg/logging" + "net/http" + "time" +) + +// NewDummyClient creates a new dummy client +func NewDummyClient() *Client { + httpClient := &http.Client{ + Timeout: time.Second * 10, + } + + httpRequest, _ := http.NewRequest(http.MethodGet, "http://example.com", nil) + + buffer := new(bytes.Buffer) + + logger := logging.Get() + + cluster := Cluster{ + Name: "TestCluster", + Info: "TestInfo", + UUID: "TestUUID", + Version: [3]int{1, 2, 3}, + } + + client := &Client{ + client: httpClient, + request: httpRequest, + buffer: buffer, + Logger: logger, + baseURL: "http://example.com", + Cluster: cluster, + token: "TestToken", + Timeout: time.Second * 10, + logRest: true, + APIPath: "/api/v1", + auth: &auth.Credentials{}, + } + + return client +} diff --git a/cmd/collectors/storagegrid/storagegrid.go b/cmd/collectors/storagegrid/storagegrid.go index fa08ed7e3..df9761897 100644 --- a/cmd/collectors/storagegrid/storagegrid.go +++ b/cmd/collectors/storagegrid/storagegrid.go @@ -300,6 +300,12 @@ func (s *StorageGrid) handleResults(result []gjson.Result) uint64 { mat := s.Matrix[s.Object] + // Keep track of old instances + oldInstances := make(map[string]bool) + for key := range mat.GetInstances() { + oldInstances[key] = true + } + for _, instanceData := range result { var ( instanceKey string @@ -340,6 +346,8 @@ func (s *StorageGrid) handleResults(result []gjson.Result) uint64 { } } + delete(oldInstances, instanceKey) + for label, display := range s.Props.InstanceLabels { value := instanceData.Get(label) if value.Exists() { @@ -393,7 +401,11 @@ func (s *StorageGrid) handleResults(result []gjson.Result) uint64 { count++ } } - + } + // Remove instances not present in the new set + for key := range oldInstances { + mat.RemoveInstance(key) + s.Logger.Debug().Str("key", key).Msg("removed instance") } return count } @@ -401,10 +413,14 @@ func (s *StorageGrid) handleResults(result []gjson.Result) uint64 { func (s *StorageGrid) initClient() error { var err error - if s.client, err = srest.NewClient(s.Options.Poller, s.Params.GetChildContentS("client_timeout"), s.Auth); err != nil { + if s.client, err = srest.NewClientFunc(s.Options.Poller, s.Params.GetChildContentS("client_timeout"), s.Auth); err != nil { return err } + if s.Options.IsTest { + return nil + } + if err = s.client.Init(5); err != nil { return err } diff --git a/cmd/collectors/storagegrid/storagegrid_test.go b/cmd/collectors/storagegrid/storagegrid_test.go new file mode 100644 index 000000000..9be1cc376 --- /dev/null +++ b/cmd/collectors/storagegrid/storagegrid_test.go @@ -0,0 +1,63 @@ +package storagegrid + +import ( + "github.com/netapp/harvest/v2/cmd/collectors" + "github.com/netapp/harvest/v2/cmd/collectors/storagegrid/rest" + "github.com/netapp/harvest/v2/cmd/poller/collector" + "github.com/netapp/harvest/v2/cmd/poller/options" + "github.com/netapp/harvest/v2/pkg/auth" + "github.com/netapp/harvest/v2/pkg/conf" + "github.com/tidwall/gjson" + "os" + "testing" +) + +const ( + pollerName = "test" +) + +// newStorageGrid initializes a new StorageGrid instance for testing +func newStorageGrid(object string, path string) (*StorageGrid, error) { + opts := options.New(options.WithConfPath("testdata/conf")) + opts.Poller = pollerName + opts.HomePath = "testdata" + opts.IsTest = true + r := StorageGrid{} + rest.NewClientFunc = func(_ string, _ string, _ *auth.Credentials) (*rest.Client, error) { + return rest.NewDummyClient(), nil + } + ac := collector.New("StorageGrid", object, opts, collectors.Params(object, path), nil) + err := r.Init(ac) + if err != nil { + return nil, err + } + return &r, nil +} + +func Test_SGAddRemoveRestInstances(t *testing.T) { + conf.TestLoadHarvestConfig("testdata/config.yml") + + sg, err := newStorageGrid("Tenant", "tenant.yaml") + if err != nil { + t.Fatalf("failed to create new StorageGrid: %v", err) + } + + testFile(t, sg, "testdata/tenant.json", 9) + testFile(t, sg, "testdata/tenant_delete.json", 8) + testFile(t, sg, "testdata/tenant_add.json", 10) +} + +func testFile(t *testing.T, sg *StorageGrid, filename string, expectedLen int) { + output, err := os.ReadFile(filename) + if err != nil { + t.Fatalf("failed to read file: %v", err) + } + + data := gjson.Get(string(output), "data") + _ = sg.handleResults(data.Array()) + + got := len(sg.Matrix[sg.Object].GetInstances()) + if got != expectedLen { + t.Errorf("length of matrix = %v, want %v", got, expectedLen) + } +} diff --git a/cmd/collectors/storagegrid/testdata/conf/storagegrid/11.6.0/tenant.yaml b/cmd/collectors/storagegrid/testdata/conf/storagegrid/11.6.0/tenant.yaml new file mode 100644 index 000000000..4134dea68 --- /dev/null +++ b/cmd/collectors/storagegrid/testdata/conf/storagegrid/11.6.0/tenant.yaml @@ -0,0 +1,19 @@ + +name: Tenant +query: grid/accounts-cache +object: tenant +api: v3 + +counters: + - ^^id => id + - ^name => tenant + - dataBytes => logical_used + - objectCount => objects + - policy.quotaObjectBytes => logical_quota + +export_options: + instance_keys: + - id + - tenant + instance_labels: + - tenant \ No newline at end of file diff --git a/cmd/collectors/storagegrid/testdata/config.yml b/cmd/collectors/storagegrid/testdata/config.yml new file mode 100644 index 000000000..511d8dada --- /dev/null +++ b/cmd/collectors/storagegrid/testdata/config.yml @@ -0,0 +1,14 @@ +Exporters: + prometheus: + exporter: Prometheus + port: 12990 + +Defaults: + collectors: + - StorageGrid + exporters: + - prometheus + +Pollers: + test: + addr: localhost \ No newline at end of file diff --git a/cmd/collectors/storagegrid/testdata/tenant.json b/cmd/collectors/storagegrid/testdata/tenant.json new file mode 100644 index 000000000..fbcedc0f7 --- /dev/null +++ b/cmd/collectors/storagegrid/testdata/tenant.json @@ -0,0 +1,178 @@ +{ + "responseTime": "2024-02-16T06:52:30.577Z", + "status": "success", + "apiVersion": "3.5", + "data": [ + { + "id": "93344766954338342034", + "name": "aron", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 41, + "dataBytes": 4071 + }, + { + "id": "98890514448483475847", + "name": "abc", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 0, + "dataBytes": 0 + }, + { + "id": "40578667806366551017", + "name": "CBS_QA", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 0, + "dataBytes": 0 + }, + { + "id": "10691391421272079234", + "name": "DataSyncTarget", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 624, + "dataBytes": 177282918666 + }, + { + "id": "16429420949817240610", + "name": "harvest_test", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 0, + "dataBytes": 0 + }, + { + "id": "86668583907971980516", + "name": "ONTAP", + "description": "ONTAP integration (FP, S3 SM, SM-C)", + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": true, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 650, + "dataBytes": 1262432101 + }, + { + "id": "05650621260716048258", + "name": "S3direct", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 2000000, + "dataBytes": 61440000000 + }, + { + "id": "77989775702687844882", + "name": "s3tester", + "description": "s3tester", + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 31507, + "dataBytes": 73202139136 + }, + { + "id": "28066107260763713256", + "name": "Veeam", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 108639, + "dataBytes": 111140922622 + } + ] +} \ No newline at end of file diff --git a/cmd/collectors/storagegrid/testdata/tenant_add.json b/cmd/collectors/storagegrid/testdata/tenant_add.json new file mode 100644 index 000000000..8649cd178 --- /dev/null +++ b/cmd/collectors/storagegrid/testdata/tenant_add.json @@ -0,0 +1,197 @@ +{ + "responseTime": "2024-02-16T06:52:30.577Z", + "status": "success", + "apiVersion": "3.5", + "data": [ + { + "id": "93344766954338342034", + "name": "aron", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 41, + "dataBytes": 4071 + }, + { + "id": "98890514448483475847", + "name": "abc", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 0, + "dataBytes": 0 + }, + { + "id": "40578667806366551017", + "name": "CBS_QA", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 0, + "dataBytes": 0 + }, + { + "id": "10691391421272079234", + "name": "DataSyncTarget", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 624, + "dataBytes": 177282918666 + }, + { + "id": "16429420949817240610", + "name": "harvest_test", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 0, + "dataBytes": 0 + }, + { + "id": "86668583907971980516", + "name": "ONTAP", + "description": "ONTAP integration (FP, S3 SM, SM-C)", + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": true, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 650, + "dataBytes": 1262432101 + }, + { + "id": "05650621260716048258", + "name": "S3direct", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 2000000, + "dataBytes": 61440000000 + }, + { + "id": "77989775702687844882", + "name": "s3tester", + "description": "s3tester", + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 31507, + "dataBytes": 73202139136 + }, + { + "id": "28066107260763713256", + "name": "Veeam", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 108639, + "dataBytes": 111140922622 + }, + { + "id": "28066107260763713288", + "name": "Veeam1", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 108639, + "dataBytes": 111140922622 + } + ] +} \ No newline at end of file diff --git a/cmd/collectors/storagegrid/testdata/tenant_delete.json b/cmd/collectors/storagegrid/testdata/tenant_delete.json new file mode 100644 index 000000000..4dca2c4f0 --- /dev/null +++ b/cmd/collectors/storagegrid/testdata/tenant_delete.json @@ -0,0 +1,159 @@ +{ + "responseTime": "2024-02-16T06:52:30.577Z", + "status": "success", + "apiVersion": "3.5", + "data": [ + { + "id": "93344766954338342034", + "name": "aron", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 41, + "dataBytes": 4071 + }, + { + "id": "98890514448483475847", + "name": "abc", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 0, + "dataBytes": 0 + }, + { + "id": "40578667806366551017", + "name": "CBS_QA", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 0, + "dataBytes": 0 + }, + { + "id": "10691391421272079234", + "name": "DataSyncTarget", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 624, + "dataBytes": 177282918666 + }, + { + "id": "16429420949817240610", + "name": "harvest_test", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": true, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 0, + "dataBytes": 0 + }, + { + "id": "86668583907971980516", + "name": "ONTAP", + "description": "ONTAP integration (FP, S3 SM, SM-C)", + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": true, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 650, + "dataBytes": 1262432101 + }, + { + "id": "05650621260716048258", + "name": "S3direct", + "description": null, + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": true, + "allowSelectObjectContent": true, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 2000000, + "dataBytes": 61440000000 + }, + { + "id": "77989775702687844882", + "name": "s3tester", + "description": "s3tester", + "capabilities": [ + "management", + "s3" + ], + "synchronizeRules": {}, + "policy": { + "useAccountIdentitySource": false, + "allowPlatformServices": false, + "allowSelectObjectContent": false, + "allowedGridFederationConnections": [], + "quotaObjectBytes": null + }, + "objectCount": 31507, + "dataBytes": 73202139136 + } + ] +} \ No newline at end of file From d6d6268888fdc682c8850938a45e5674d42dcea7 Mon Sep 17 00:00:00 2001 From: Rahul Gupta Date: Mon, 19 Feb 2024 18:20:55 +0530 Subject: [PATCH 03/10] fix: NABox doctor command errors for custom.yaml --- cmd/tools/doctor/doctor.go | 16 ++++++++++------ cmd/tools/doctor/doctor_test.go | 10 ++++++++-- .../doctor/testdata/nabox/conf/rest/custom.yaml | 2 ++ .../conf/rest/custom_volume_blacklist1.yaml | 3 +++ .../nabox/conf/rest/custom_volume_flexgroup.yaml | 3 +++ 5 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 cmd/tools/doctor/testdata/nabox/conf/rest/custom.yaml create mode 100644 cmd/tools/doctor/testdata/nabox/conf/rest/custom_volume_blacklist1.yaml create mode 100644 cmd/tools/doctor/testdata/nabox/conf/rest/custom_volume_flexgroup.yaml diff --git a/cmd/tools/doctor/doctor.go b/cmd/tools/doctor/doctor.go index 29f7802df..2ac69bf4f 100644 --- a/cmd/tools/doctor/doctor.go +++ b/cmd/tools/doctor/doctor.go @@ -314,12 +314,16 @@ func checkConfTemplates(confPaths []string) validation { continue } searchDir := path.Join(confDir, flavor) - if !templateExists(searchDir, t.GetContentS()) { - valid.isValid = false - msg := fmt.Sprintf(`%s references template file "%s" which does not exist in %s`, - custom, t.GetContentS(), path.Join(searchDir, "**")) - valid.invalid = append(valid.invalid, msg) - continue + fileNames := strings.Split(t.GetContentS(), ",") + for _, fileName := range fileNames { + fileName = strings.TrimSpace(fileName) // Remove any leading or trailing spaces + if !templateExists(searchDir, fileName) { + valid.isValid = false + msg := fmt.Sprintf(`%s references template file "%s" which does not exist in %s`, + custom, fileName, path.Join(searchDir, "**")) + valid.invalid = append(valid.invalid, msg) + continue + } } } } diff --git a/cmd/tools/doctor/doctor_test.go b/cmd/tools/doctor/doctor_test.go index 0b3d84953..ac4a7fb03 100644 --- a/cmd/tools/doctor/doctor_test.go +++ b/cmd/tools/doctor/doctor_test.go @@ -137,6 +137,7 @@ func TestExporterTypesAreValid(t *testing.T) { func TestCustomYamlIsValid(t *testing.T) { type test struct { path string + isValid bool numInvalid int msgContains string } @@ -157,12 +158,17 @@ func TestCustomYamlIsValid(t *testing.T) { numInvalid: 1, msgContains: "does not exist", }, + { + path: "testdata/nabox/conf", + numInvalid: 1, + msgContains: "does not exist", + }, } for _, tt := range tests { t.Run(tt.path, func(t *testing.T) { valid := checkConfTemplates([]string{tt.path}) - if valid.isValid { - t.Errorf("want isValid=%t, got %t", false, valid.isValid) + if valid.isValid != tt.isValid { + t.Errorf("want isValid=%t, got %t", tt.isValid, valid.isValid) } if len(valid.invalid) != tt.numInvalid { t.Errorf("want %d invalid, got %d", tt.numInvalid, len(valid.invalid)) diff --git a/cmd/tools/doctor/testdata/nabox/conf/rest/custom.yaml b/cmd/tools/doctor/testdata/nabox/conf/rest/custom.yaml new file mode 100644 index 000000000..20899aa7e --- /dev/null +++ b/cmd/tools/doctor/testdata/nabox/conf/rest/custom.yaml @@ -0,0 +1,2 @@ +objects: + Volume: custom_volume_blacklist.yaml,custom_volume_flexgroup.yaml diff --git a/cmd/tools/doctor/testdata/nabox/conf/rest/custom_volume_blacklist1.yaml b/cmd/tools/doctor/testdata/nabox/conf/rest/custom_volume_blacklist1.yaml new file mode 100644 index 000000000..6fb445771 --- /dev/null +++ b/cmd/tools/doctor/testdata/nabox/conf/rest/custom_volume_blacklist1.yaml @@ -0,0 +1,3 @@ +objects: + Volume: + - custom_volume_blacklist.yaml \ No newline at end of file diff --git a/cmd/tools/doctor/testdata/nabox/conf/rest/custom_volume_flexgroup.yaml b/cmd/tools/doctor/testdata/nabox/conf/rest/custom_volume_flexgroup.yaml new file mode 100644 index 000000000..a2bc13cfd --- /dev/null +++ b/cmd/tools/doctor/testdata/nabox/conf/rest/custom_volume_flexgroup.yaml @@ -0,0 +1,3 @@ +objects: + Volume: + - custom_node_blacklist.yaml \ No newline at end of file From d9fa056e08baa971f4f8172bcadf77db6c2da866 Mon Sep 17 00:00:00 2001 From: Rahul Date: Wed, 21 Feb 2024 10:37:56 +0530 Subject: [PATCH 04/10] fix: WaflSizer RestPerf template panics (#2695) * fix: WaflSizer RestPerf template panics * fix: WaflSizer RestPerf template panics --- cmd/collectors/restperf/restperf.go | 12 +++++------- cmd/collectors/restperf/restperf_test.go | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/cmd/collectors/restperf/restperf.go b/cmd/collectors/restperf/restperf.go index c83725a9a..26faab833 100644 --- a/cmd/collectors/restperf/restperf.go +++ b/cmd/collectors/restperf/restperf.go @@ -468,23 +468,21 @@ func parseMetricResponses(instanceData gjson.Result, metric map[string]*rest2.Me subLabelSlice := strings.Split(subLabelsS, ",") var finalLabels []string var finalValues []string - var vLen int subCounters.ForEach(func(_, subCounter gjson.Result) bool { label := strings.Clone(subCounter.Get("label").String()) subValues := subCounter.Get("values").String() m := util.ArrayMetricToString(strings.Clone(subValues)) ms := strings.Split(m, ",") - for range ms { - finalLabels = append(finalLabels, label+arrayKeyToken+subLabelSlice[vLen]) - vLen++ - } - if vLen > len(subLabelSlice) { + if len(ms) > len(subLabelSlice) { return false } + for i := range ms { + finalLabels = append(finalLabels, subLabelSlice[i]+arrayKeyToken+label) + } finalValues = append(finalValues, ms...) return true }) - if vLen == len(subLabelSlice) { + if len(finalLabels) == len(finalValues) { mr := metricResponse{ value: strings.Join(finalValues, ","), label: strings.Join(finalLabels, ","), diff --git a/cmd/collectors/restperf/restperf_test.go b/cmd/collectors/restperf/restperf_test.go index 4bab09bba..7c817dab8 100644 --- a/cmd/collectors/restperf/restperf_test.go +++ b/cmd/collectors/restperf/restperf_test.go @@ -43,7 +43,7 @@ func Test_parseMetricResponse(t *testing.T) { args: args{ instanceData: instanceData, metric: "rss_matrix", }, want: &metricResponse{ - label: "tx_frames#queue_0,tx_frames#queue_1,tx_frames#queue_2,tx_bytes#queue_0,tx_bytes#queue_1,tx_bytes#queue_2", + label: "queue_0#tx_frames,queue_1#tx_frames,queue_2#tx_frames,queue_0#tx_bytes,queue_1#tx_bytes,queue_2#tx_bytes", value: "6177010,1605252882,0,3,1,4", isArray: true, }, From 6f8734163e48f73ef91384a37f4a8a3deaf80ff4 Mon Sep 17 00:00:00 2001 From: Hardikl <83282894+Hardikl@users.noreply.github.com> Date: Wed, 21 Feb 2024 15:15:06 +0530 Subject: [PATCH 05/10] fix: purging unused metrics from shelf template for 7mode (#2696) --- cmd/collectors/zapi/plugins/shelf/shelf.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmd/collectors/zapi/plugins/shelf/shelf.go b/cmd/collectors/zapi/plugins/shelf/shelf.go index 613115ae9..96c90290b 100644 --- a/cmd/collectors/zapi/plugins/shelf/shelf.go +++ b/cmd/collectors/zapi/plugins/shelf/shelf.go @@ -227,8 +227,9 @@ func (my *Shelf) handle7Mode(data *matrix.Matrix, result []*node.Node) ([]*matri my.shelfMetrics.PurgeInstances() my.shelfMetrics.Reset() - // Purge instances generated from template and updated data metrics from shelfMetrics + // Purge instances and metrics generated from template and updated data metrics and instances from shelfMetrics data.PurgeInstances() + data.PurgeMetrics() for metricName, m := range my.shelfMetrics.GetMetrics() { _, err := data.NewMetricFloat64(metricName, m.GetName()) if err != nil { From 099d61a8f4289014c7bf180f5fd210228d513bec Mon Sep 17 00:00:00 2001 From: Hardikl <83282894+Hardikl@users.noreply.github.com> Date: Wed, 21 Feb 2024 15:31:36 +0530 Subject: [PATCH 06/10] fix: handle inter-cluster snapmirrors when different datacenter (#2688) (#2697) * fix: handle inter-cluster snapmirrors when different datacenter --- grafana/dashboards/cmode/snapmirror.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/grafana/dashboards/cmode/snapmirror.json b/grafana/dashboards/cmode/snapmirror.json index 6a1f97e0a..bd903f021 100644 --- a/grafana/dashboards/cmode/snapmirror.json +++ b/grafana/dashboards/cmode/snapmirror.json @@ -4027,8 +4027,8 @@ "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(snapmirror_labels{system_type!=\"7mode\"},datacenter)", - "description": null, + "definition": "label_values(cluster_new_status{system_type!=\"7mode\"},datacenter)", + "description": "Select all the datacenters that contain the ONTAP clusters acting as source for SnapMirror relationships.", "error": null, "hide": 0, "includeAll": false, @@ -4037,7 +4037,7 @@ "name": "Datacenter", "options": [], "query": { - "query": "label_values(snapmirror_labels{system_type!=\"7mode\"},datacenter)", + "query": "label_values(cluster_new_status{system_type!=\"7mode\"},datacenter)", "refId": "Prometheus-Datacenter-Variable-Query" }, "refresh": 2, From 290bf7aaad2e6311d9976c3aa4af18e57ef2f304 Mon Sep 17 00:00:00 2001 From: Hardikl <83282894+Hardikl@users.noreply.github.com> Date: Wed, 21 Feb 2024 18:35:55 +0530 Subject: [PATCH 07/10] doc: release 24.02 metric docs (#2694) * doc: release 24.02 metric docs * doc: update release 24.02 metric docs * doc: update release 24.02 metric docs * doc: update release 24.02 metric docs --- cmd/tools/generate/counter.yaml | 32 ++++++++++++++++ docs/ontap-metrics.md | 66 ++++++++++++++++++++++++++++++++- 2 files changed, 97 insertions(+), 1 deletion(-) diff --git a/cmd/tools/generate/counter.yaml b/cmd/tools/generate/counter.yaml index 72d04f22f..cfba9451e 100644 --- a/cmd/tools/generate/counter.yaml +++ b/cmd/tools/generate/counter.yaml @@ -903,3 +903,35 @@ counters: Description: amount of storage space currently used by a volume's snapshot reserve, which is calculated by subtracting the snapshot reserve available space from the snapshot reserve size. + + - Name: metrocluster_check_cluster_status + Description: Detail of the type of diagnostic operation run for the Cluster with diagnostic operation result. + APIs: + - API: REST + Endpoint: NA + ONTAPCounter: Harvest generated + Template: conf/rest/9.12.0/metrocluster_check.yaml + + - Name: metrocluster_check_node_status + Description: Detail of the type of diagnostic operation run for the Node with diagnostic operation result. + APIs: + - API: REST + Endpoint: NA + ONTAPCounter: Harvest generated + Template: conf/rest/9.12.0/metrocluster_check.yaml + + - Name: metrocluster_check_aggr_status + Description: Detail of the type of diagnostic operation run for the Aggregate with diagnostic operation result. + APIs: + - API: REST + Endpoint: NA + ONTAPCounter: Harvest generated + Template: conf/rest/9.12.0/metrocluster_check.yaml + + - Name: metrocluster_check_volume_status + Description: Detail of the type of diagnostic operation run for the Volume with diagnostic operation result. + APIs: + - API: REST + Endpoint: NA + ONTAPCounter: Harvest generated + Template: conf/rest/9.12.0/metrocluster_check.yaml diff --git a/docs/ontap-metrics.md b/docs/ontap-metrics.md index 07e9a4fa3..ea39b2bcf 100644 --- a/docs/ontap-metrics.md +++ b/docs/ontap-metrics.md @@ -7,7 +7,7 @@ These can be generated on demand by running `bin/harvest grafana metrics`. See - More information about ONTAP REST performance counters can be found [here](https://docs.netapp.com/us-en/ontap-pcmap-9121/index.html). ``` -Creation Date : 2024-Jan-12 +Creation Date : 2024-Feb-21 ONTAP Version: 9.13.1 ``` ## Understanding the structure @@ -3614,6 +3614,42 @@ status of the system being monitored. 0 means reachable, 1 means unreachable | ZAPI | `NA` | `Harvest generated`
Unit: enum | NA | +### metrocluster_check_aggr_status + +Detail of the type of diagnostic operation run for the Aggregate with diagnostic operation result. + +| API | Endpoint | Metric | Template | +|--------|----------|--------|---------| +| REST | `NA` | `Harvest generated` | conf/rest/9.12.0/metrocluster_check.yaml | + + +### metrocluster_check_cluster_status + +Detail of the type of diagnostic operation run for the Cluster with diagnostic operation result. + +| API | Endpoint | Metric | Template | +|--------|----------|--------|---------| +| REST | `NA` | `Harvest generated` | conf/rest/9.12.0/metrocluster_check.yaml | + + +### metrocluster_check_node_status + +Detail of the type of diagnostic operation run for the Node with diagnostic operation result. + +| API | Endpoint | Metric | Template | +|--------|----------|--------|---------| +| REST | `NA` | `Harvest generated` | conf/rest/9.12.0/metrocluster_check.yaml | + + +### metrocluster_check_volume_status + +Detail of the type of diagnostic operation run for the Volume with diagnostic operation result. + +| API | Endpoint | Metric | Template | +|--------|----------|--------|---------| +| REST | `NA` | `Harvest generated` | conf/rest/9.12.0/metrocluster_check.yaml | + + ### namespace_avg_other_latency Average other ops latency in microseconds for all operations on the Namespace @@ -3764,6 +3800,24 @@ Number of write operations | ZAPI | `perf-object-get-instances namespace` | `write_ops`
Unit: per_sec
Type: rate
Base: | conf/zapiperf/cdot/9.10.1/namespace.yaml | +### ndmp_session_data_bytes_processed + + + +| API | Endpoint | Metric | Template | +|--------|----------|--------|---------| +| REST | `api/protocols/ndmp/sessions` | `data.bytes_processed` | conf/rest/9.7.0/ndmp_session.yaml | + + +### ndmp_session_mover_bytes_moved + + + +| API | Endpoint | Metric | Template | +|--------|----------|--------|---------| +| REST | `api/protocols/ndmp/sessions` | `mover.bytes_moved` | conf/rest/9.7.0/ndmp_session.yaml | + + ### net_port_mtu Maximum transmission unit, largest packet size on this network @@ -13058,6 +13112,16 @@ amount of storage space currently used by a volume's snapshot reserve, which is | ZAPI | `volume-get-iter` | `volume-attributes.volume-space-attributes.physical-used-percent` | conf/zapi/cdot/9.8.0/volume.yaml | +### volume_total_data + + + +| API | Endpoint | Metric | Template | +|--------|----------|--------|---------| +| REST | `api/cluster/counter/tables/volume` | `bytes_read, bytes_written`
Unit:
Type:
Base: | conf/restperf/9.12.0/volume.yaml | +| ZAPI | `volume` | `read_data, write_data`
Unit:
Type:
Base: | conf/zapiperf/cdot/9.8.0/volume.yaml | + + ### volume_total_ops Number of operations per second serviced by the volume From 5f20cfbc34ead7ca7d7409b5ec51e81739c6e128 Mon Sep 17 00:00:00 2001 From: Rahul Date: Wed, 21 Feb 2024 18:39:09 +0530 Subject: [PATCH 08/10] fix: multi poller in a container should route logs to console (#2698) * fix: multi poller in a container should route logs to console * fix: multi poller in a container should route logs to console --- cmd/harvest/harvest.go | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/cmd/harvest/harvest.go b/cmd/harvest/harvest.go index 8520639e1..3f56e2634 100644 --- a/cmd/harvest/harvest.go +++ b/cmd/harvest/harvest.go @@ -358,7 +358,7 @@ func stopPoller(ps *util.PollerStatus) { } func startPoller(pollerName string, promPort int, opts *options) { - + isDocker := os.Getenv("HARVEST_DOCKER") == "yes" argv := []string{ filepath.Join(HarvestHomePath, "bin", "poller"), "--poller", @@ -423,20 +423,9 @@ func startPoller(pollerName string, promPort int, opts *options) { os.Exit(0) } - argv = append(argv, "--daemon") - - // special case if we are in container, don't actually daemonize - if os.Getenv("HARVEST_DOCKER") == "yes" { - cmd := exec.Command(argv[0], argv[1:]...) //nolint:gosec - if err := cmd.Start(); err != nil { - fmt.Println(err) - os.Exit(1) - } - if err := cmd.Wait(); err != nil { - fmt.Println(err) - os.Exit(1) - } - os.Exit(0) + // special case if we are in container, don't daemonize + if !isDocker { + argv = append(argv, "--daemon") } // Set the Setsid attribute to true, which creates a new session for the child process @@ -455,9 +444,15 @@ func startPoller(pollerName string, promPort int, opts *options) { defer closeDevNull(devNull) - cmd.Stdin = devNull - cmd.Stdout = devNull - cmd.Stderr = devNull + if isDocker { + cmd.Stdin = nil + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + } else { + cmd.Stdin = devNull + cmd.Stdout = devNull + cmd.Stderr = devNull + } // Start the poller process in the background if err := cmd.Start(); err != nil { From 3f86417e3dcb4cbb885489a9dd460acc51282001 Mon Sep 17 00:00:00 2001 From: Hardikl <83282894+Hardikl@users.noreply.github.com> Date: Wed, 21 Feb 2024 19:07:53 +0530 Subject: [PATCH 09/10] doc: changelog doc (#2680) * doc: changelog doc * doc: release changelog (#2682) * doc: update changelog * doc: updated change log with review comment * doc: changelog 24.02 * doc: changelog 24.02 * doc: update changelog 24.02 * doc: update changelog doc for release 24.02 * doc: update changelog doc for release 24.02 --------- Co-authored-by: Chris Grindstaff --- CHANGELOG.md | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 206 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b69a13b7..5c9950b87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,211 @@ # Change Log ## [Releases](https://github.com/NetApp/harvest/releases) +## 24.02.0 / 2024-02-21 Release +:pushpin: Highlights of this major release include: +- New Datacenter dashboard which contains node health, capacity, performance, storage efficiency, issues, snapshot, power, and temperature details. +- Harvest includes SnapMirror active sync EMS events with alert rules. Thanks @Nikhita-13 for reporting. +- Harvest monitors FlexCache performance metrics and includes a new FlexCache dashboard to visualize them. Thanks to @ewilts for raising. +- Harvest detects HA pair down and sensor failures. These are shown in the Health dashboard. Thanks to @johnwarlick for raising. +- Harvest monitors MetroCluster diagnostics and shows them in the MetroCluster dashboard. Thanks to @wagneradrian92 for reporting. +- We improved the performance of all dashboards that include topk queries. Thanks to @mamoep for reporting! +- We added filter support for the ZapiPerf collector. See [filter](https://netapp.github.io/harvest/nightly/configure-zapi/#filter) for more detail. Thanks to @debbrata-netapp for reporting. +- A `bin/harvest grafana customize` command that writes the dashboards to the filesystem so other programs can manage them. Thanks to @nicolai-hornung-bl for reporting! +- We fixed an intermittent latency spike problem that impacted all perf objects. Thanks to @summertony15 and @rodenj1 for reporting this critical issue. + +- :star: Several of the existing dashboards include new panels in this release: + - Node and Aggregate dashboard include volume stats panels. Thanks to @BrendonA667 for raising. + - SVM dashboard includes volume capacity panels. Thanks to @BrendonA667 for raising. + - SnapMirror dashboard includes automated_failover and automated_failover_duplex policies. + +- More Harvest dashboard dropdown variables include the `All` option. Making it easier to get an overview of your environment. +- All EMS alerts include an impact annotation. Thanks to @Divya for raising. + +- :ear_of_rice: Harvest includes new templates to collect: + - Network filesystem (NFS) rewinds performance metrics (rw_ctx). Thanks to @shawnahall71 for raising + - Network data management protocol (NDMP) session metrics. Thanks to @schumijo for raising. + +- :closed_book: Documentation additions + - Harvest describe why and how to configure Docker's logging drivers [Docker logging configuration](https://netapp.github.io/harvest/nightly/install/containers/#note-on-docker-logging-configuration) Thanks to @Madaan for raising. + - How to create templates that use ONTAP's private CLI [details](https://netapp.github.io/harvest/nightly/configure-rest/#ontap-private-cli) + - How to create custom Grafana dashboards [Steps](https://netapp.github.io/harvest/nightly/dashboards/#creating-a-custom-grafana-dashboard-with-harvest-metrics-stored-in-prometheus) + - How to validate your `harvest.yml` file and share a redacted copy with the Harvest team. [Details](https://netapp.github.io/harvest/nightly/help/config-collection/) + - Harvest describes high-level concepts [here](https://netapp.github.io/harvest/nightly/concepts/) Thanks to @norespers for raising. + +- All constituents are disabled by default for workload detail performance templates. +- The `bin/harvest zapi` CLI now supports a `timeout` argument. +- Harvest performance collectors (ZapiPerf and RestPerf) ask ONTAP for performance counter metadata every 24 hours instead of every 20 minutes. Thanks to BrianMa for raising. +- The Harvest REST collector's `api_time` metric now includes the API time for all template endpoints. Thanks to ChristopherWilcox for raising. + +## Announcements + +:bangbang: **IMPORTANT** Release `24.02` disables four templates that collected metrics not used in dashboards. +These four templates are disabled by default: `ObjectStoreClient`, `TokenManager`, `OntapS3SVM`, and `Vscan`. +This change was made to reduce the number of collected metrics. +If you require these templates, you can enable them by uncommenting them in their corresponding `default.yaml` or by extending the [existing object template](https://netapp.github.io/harvest/latest/configure-templates/#extend-an-existing-object-template). + +:small_red_triangle: **IMPORTANT** The minimum version of Prometheus required to run Harvest is now 2.33. +Version 2.33 is required to take advantage of [Prometheus's `@` modifier](https://prometheus.io/docs/prometheus/latest/querying/basics/#modifier). +Please upgrade your Prometheus server to at least 2.33 before upgrading Harvest. + +:bulb: **IMPORTANT** After upgrade, don't forget to re-import your dashboards, so you get all the new enhancements and fixes. You can import them via the 'bin/harvest grafana import' CLI, from the Grafana UI, or from the 'Maintenance > Reset Harvest Dashboards' button in NAbox. + +## Known Issues + +- Harvest does not calculate power metrics for AFF A250 systems. This data is not available from ONTAP via ZAPI or REST. + See ONTAP bug [1511476](https://burtview.netapp.com/burt/burt-bin/start?burt-id=1511476) for more details. + +- ONTAP does not include REST metrics for `offbox_vscan_server` and `offbox_vscan` until ONTAP 9.13.1. See ONTAP bug + [1473892](https://burtview.netapp.com/burt/burt-bin/start?burt-id=1473892) for more details. + +**IMPORTANT** 7-mode filers that are not on the latest release of ONTAP may experience TLS connection issues with errors +like `tls: server selected unsupported protocol version 301` This is caused by a change in Go 1.18. +The [default for TLS client connections was changed to TLS 1.2](https://tip.golang.org/doc/go1.18#tls10) in Go 1.18. +Please upgrade your 7-mode filers (recommended) or set `tls_min_version: tls10` in +your `harvest.yml` [poller section](https://github.com/NetApp/harvest/tree/release/22.05.0#pollers). +See [#1007](https://github.com/NetApp/harvest/issues/1007) for more details. + +## Thanks to all the awesome contributors + +:metal: Thanks to all the people who've opened issues, asked questions on Discord, and contributed code or dashboards +this release: + +@shawnahall71, @pilot7777, @ben, @Madaan, @johnwarlick, @jfong5040, @santosh725, @summertony15, @jmg011, @cheese1, @mamoep, @Falcon667, @Dess, @debbrata-netapp, @ewilts, +@Nikhita-13, @norespers, @nicolai-hornung-bl, @BrendonA667, @schumijo, @Divya, @joshuacook-tamu, @wagneradrian92, @george-strother + +:seedling: This release includes 26 features, 24 bug fixes, 20 documentation, 3 styling, 5 refactoring, 11 miscellaneous, and 12 ci pull requests. + +### :rocket: Features +- Include Start Time, Exported Metrics, And Poll Duration In Collector logs ([#2493](https://github.com/NetApp/harvest/pull/2493)) +- Adding Rw_ctx Zapiperf Object Template ([#2494](https://github.com/NetApp/harvest/pull/2494)) +- Change Pollcounter Schedule To 24H ([#2499](https://github.com/NetApp/harvest/pull/2499)) +- Add Ha Down And Sensor Issues In Health Dashboard ([#2519](https://github.com/NetApp/harvest/pull/2519)) +- Adding Ndmp Session Rest Template ([#2531](https://github.com/NetApp/harvest/pull/2531)) +- Use Modifier For Topk To Improve Svm Dashboard Performance ([#2553](https://github.com/NetApp/harvest/pull/2553)) +- Add Timeout For Zapi Cli ([#2566](https://github.com/NetApp/harvest/pull/2566)) +- Restperf Disk Plugin Should Support Metric Customization ([#2573](https://github.com/NetApp/harvest/pull/2573)) +- Add Filter Support For Zapiperf Collector ([#2575](https://github.com/NetApp/harvest/pull/2575)) +- FlexCache Monitoring ([#2583](https://github.com/NetApp/harvest/pull/2583)) +- Supporting Automated_failover, Automated_failover_duplex Policy In Sm ([#2584](https://github.com/NetApp/harvest/pull/2584)) +- Disabled The Templates Whose All Metrics Are Not Consumed In Dashboards ([#2587](https://github.com/NetApp/harvest/pull/2587)) +- Harvest Should Include Snapmirror Active Sync Ems Events ([#2588](https://github.com/NetApp/harvest/pull/2588)) +- Use Modifier For Topk To Improve Dashboard Performance ([#2590](https://github.com/NetApp/harvest/pull/2590)) +- Harvest Should Include A Snapmirror Active Sync Template ([#2596](https://github.com/NetApp/harvest/pull/2596)) +- Disable Constituents By Default For Workload Detail Performance Templates ([#2598](https://github.com/NetApp/harvest/pull/2598)) +- Adding Template For Metrocluster Diagnostics Check ([#2601](https://github.com/NetApp/harvest/pull/2601)) +- Adding Per Volume Panels In Svm Dashboard ([#2602](https://github.com/NetApp/harvest/pull/2602)) +- Add Grafana Customize Command ([#2619](https://github.com/NetApp/harvest/pull/2619)) +- Add Volume Stats To Node And Aggregate Dashboard ([#2627](https://github.com/NetApp/harvest/pull/2627)) +- Ems Alerts Should Include An Impact Annotation ([#2631](https://github.com/NetApp/harvest/pull/2631)) +- Improving Debug Log Clarity And Reducing Noise ([#2637](https://github.com/NetApp/harvest/pull/2637)) +- Datacenter Dashboard ([#2650](https://github.com/NetApp/harvest/pull/2650)) +- Harvest Dashboards Should Include An All Option ([#2661](https://github.com/NetApp/harvest/pull/2661)) +- Percent Unit Panels Should Use Decimal Points ([#2663](https://github.com/NetApp/harvest/pull/2663)) +- Change Stat Panel For Uptime,Power Status,Fan Status To Table In Node Dashboard ([#2668](https://github.com/NetApp/harvest/pull/2668)) + +### :bug: Bug Fixes +- Handled Missing Uuid In Volume For Change_log ([#2478](https://github.com/NetApp/harvest/pull/2478)) +- Remove Docs From Deb Binary ([#2489](https://github.com/NetApp/harvest/pull/2489)) +- Parsed Logger Changes ([#2490](https://github.com/NetApp/harvest/pull/2490)) +- Array Metrics Should Have Correct Base Label In Zapiperf ([#2496](https://github.com/NetApp/harvest/pull/2496)) +- Harvest Should Collect Luns In Qtress ([#2502](https://github.com/NetApp/harvest/pull/2502)) +- Grafana Export Should Set Correct Permissions ([#2505](https://github.com/NetApp/harvest/pull/2505)) +- `Begin` Log For Pollcounter And Pollinstance Should Be In Ms ([#2509](https://github.com/NetApp/harvest/pull/2509)) +- Quickstart.md Docs Should Not Duplicate Pollers ([#2521](https://github.com/NetApp/harvest/pull/2521)) +- Print Results If Not Nil For Rest Cli ([#2525](https://github.com/NetApp/harvest/pull/2525)) +- `Storage Efficiency Ratios` Panels Should Show Cluster Capacity ([#2529](https://github.com/NetApp/harvest/pull/2529)) +- Qos Fixed% Should Include Admin Svm Qos Policy ([#2532](https://github.com/NetApp/harvest/pull/2532)) +- Handling Shelf_new_status For 7Mode ([#2535](https://github.com/NetApp/harvest/pull/2535)) +- Rest Aggr.yaml Template Should Be In The 9.11.0 Folder ([#2538](https://github.com/NetApp/harvest/pull/2538)) +- Storagegrid Collectors Should Support Only_cluster_instance ([#2542](https://github.com/NetApp/harvest/pull/2542)) +- Intermittent Latency Spike ([#2548](https://github.com/NetApp/harvest/pull/2548)) +- Hide Idle Metric And Max To Auto For Cpu_domain_busy ([#2555](https://github.com/NetApp/harvest/pull/2555)) +- Storagegrid Error When Password Has ([#2576](https://github.com/NetApp/harvest/pull/2576)) +- Container Workflow Creates Files As Root Even When The Commands Are Executed By A Non-Root User ([#2581](https://github.com/NetApp/harvest/pull/2581)) +- Clone_split_estimate Parse Error ([#2613](https://github.com/NetApp/harvest/pull/2613)) +- Qos Latency Spikes Due To Low Iops ([#2615](https://github.com/NetApp/harvest/pull/2615)) +- Fix Datacenter Count In Metadata Dashboard ([#2622](https://github.com/NetApp/harvest/pull/2622)) +- Doctor Print Should Include Child Pollers Into Optional Parent Pollers ([#2641](https://github.com/NetApp/harvest/pull/2641)) +- Remove Max Percent Limit From 'Volumes Per Snapshot Reserve Used' Panel ([#2662](https://github.com/NetApp/harvest/pull/2662)) +- Align Template Name With Object Name For Ndmp ([#2667](https://github.com/NetApp/harvest/pull/2667)) +- Honor absolute paths from the HARVEST_CONF environment variable ([#2674](https://github.com/NetApp/harvest/pull/2674)) +- Rest collector should include endpoint `api_time`s ([#2679](https://github.com/NetApp/harvest/pull/2679)) +- StorageGrid Rest collector doesn't remove deleted Objects ([#2677](https://github.com/NetApp/harvest/pull/2677)) +- NABox doctor command errors for custom.yaml ([#2691](https://github.com/NetApp/harvest/pull/2691)) +- WaflSizer RestPerf template panics ([#2695](https://github.com/NetApp/harvest/pull/2695)) +- Purging unused metrics from shelf template for 7mode ([#2696](https://github.com/NetApp/harvest/pull/2696)) +- Handle inter-cluster snapmirrors when different datacenter ([#2697](https://github.com/NetApp/harvest/pull/2697)) +- Multi poller in a container should route logs to console ([#2698](https://github.com/NetApp/harvest/pull/2698)) + +### :closed_book: Documentation +- Fix Service Latency ([#2492](https://github.com/NetApp/harvest/pull/2492)) +- Fix Doc Link From Changelog Dashboard ([#2510](https://github.com/NetApp/harvest/pull/2510)) +- How To Use Harvest With Rest Private Cli ([#2523](https://github.com/NetApp/harvest/pull/2523)) +- Add Docker Logging Configuration Guide ([#2524](https://github.com/NetApp/harvest/pull/2524)) +- Mention Iec Is Base2 And Source ([#2527](https://github.com/NetApp/harvest/pull/2527)) +- Change Link From Netapp.io To Github ([#2533](https://github.com/NetApp/harvest/pull/2533)) +- Steps To Create Custom Grafana Dashboard ([#2550](https://github.com/NetApp/harvest/pull/2550)) +- Add Type And Base For Qos Detail Metrics ([#2557](https://github.com/NetApp/harvest/pull/2557)) +- Ems Doc Update ([#2561](https://github.com/NetApp/harvest/pull/2561)) +- Unit For Nfs Throughput Should Be B_per_sec ([#2562](https://github.com/NetApp/harvest/pull/2562)) +- Consolidate Upgrade Steps With Install ([#2567](https://github.com/NetApp/harvest/pull/2567)) +- Bump The Minimum Prometheus Version To 2.33 ([#2569](https://github.com/NetApp/harvest/pull/2569)) +- Add Restart Information In Power Document ([#2572](https://github.com/NetApp/harvest/pull/2572)) +- Add Rest Strategy Under Left Nav ([#2578](https://github.com/NetApp/harvest/pull/2578)) +- Add Rest Permissions ([#2604](https://github.com/NetApp/harvest/pull/2604)) +- Add Fsa Template Description ([#2606](https://github.com/NetApp/harvest/pull/2606)) +- Update Grafana Datasource Docs ([#2614](https://github.com/NetApp/harvest/pull/2614)) +- Add Vserver For Rest Role Creation ([#2620](https://github.com/NetApp/harvest/pull/2620)) +- Fix Broken Link And Remove Todo ([#2624](https://github.com/NetApp/harvest/pull/2624)) +- Harvest Should Describe High-Level Concepts ([#2625](https://github.com/NetApp/harvest/pull/2625)) +- Add doctor print commands for each platform ([2670](https://github.com/NetApp/harvest/pull/2670)) +- Release 24.02 metric docs ([#2694](https://github.com/NetApp/harvest/pull/2694)) + +### Styling +- Resolve Spell Check Warnings ([#2461](https://github.com/NetApp/harvest/pull/2461)) +- Address All Lint Errors ([#2643](https://github.com/NetApp/harvest/pull/2643)) +- Address Lint Warnings In Integration ([#2659](https://github.com/NetApp/harvest/pull/2659)) + +### Refactoring +- Move `Begin` Logging To The End Of The Line ([#2513](https://github.com/NetApp/harvest/pull/2513)) +- Update Aggr Dashboard To Sync With Sm ([#2568](https://github.com/NetApp/harvest/pull/2568)) +- Remove Dead Code ([#2570](https://github.com/NetApp/harvest/pull/2570)) +- Address Data Flow Analysis Warnings ([#2589](https://github.com/NetApp/harvest/pull/2589)) +- Revert Ontap Mediator Alert Names ([#2618](https://github.com/NetApp/harvest/pull/2618)) + +### Miscellaneous +- Update All Dependencies ([#2481](https://github.com/NetApp/harvest/pull/2481)) +- Merge 23.11.0 To Main ([#2488](https://github.com/NetApp/harvest/pull/2488)) +- Update All Dependencies ([#2522](https://github.com/NetApp/harvest/pull/2522)) +- Update All Dependencies ([#2543](https://github.com/NetApp/harvest/pull/2543)) +- Update All Dependencies ([#2558](https://github.com/NetApp/harvest/pull/2558)) +- Update All Dependencies ([#2564](https://github.com/NetApp/harvest/pull/2564)) +- Update All Dependencies ([#2579](https://github.com/NetApp/harvest/pull/2579)) +- Update All Dependencies ([#2585](https://github.com/NetApp/harvest/pull/2585)) +- Update Golang.org/X/Exp Digest To 1B97071 ([#2592](https://github.com/NetApp/harvest/pull/2592)) +- Update All Dependencies ([#2629](https://github.com/NetApp/harvest/pull/2629)) +- Update Golangci/Golangci-Lint-Action Action To V4 ([#2653](https://github.com/NetApp/harvest/pull/2653)) +- Update all dependencies ([#2687](https://github.com/NetApp/harvest/pull/2687)) + +### :hammer: CI +- Keep Mkdocs Version Fixed For Build Servers ([#2511](https://github.com/NetApp/harvest/pull/2511)) +- Bump Go ([#2536](https://github.com/NetApp/harvest/pull/2536)) +- Update Range In Query To 3H Before Validation ([#2571](https://github.com/NetApp/harvest/pull/2571)) +- Bump Go ([#2582](https://github.com/NetApp/harvest/pull/2582)) +- Template Validation For Rest, Restperf ([#2586](https://github.com/NetApp/harvest/pull/2586)) +- Bump Dependencies ([#2600](https://github.com/NetApp/harvest/pull/2600)) +- Detect Poller Logs Errors ([#2603](https://github.com/NetApp/harvest/pull/2603)) +- Detect Poller Logs Errors ([#2609](https://github.com/NetApp/harvest/pull/2609)) +- Fix Nightly Build ([#2630](https://github.com/NetApp/harvest/pull/2630)) +- Bump Go And Dependencies ([#2649](https://github.com/NetApp/harvest/pull/2649)) +- Disable Dockerfile Updtes By Renovate ([#2655](https://github.com/NetApp/harvest/pull/2655)) +- Ignore Metrocluster Error In Counter Test ([#2664](https://github.com/NetApp/harvest/pull/2664)) +- Bump go ([#2671](https://github.com/NetApp/harvest/pull/2671)) +- Update makefile go version ([#2678](https://github.com/NetApp/harvest/pull/2678)) + +--- + + ## 23.11.0 / 2023-11-13 Release :pushpin: Highlights of this major release include: @@ -141,7 +346,7 @@ this release: - Handled Cloud_target For Fabricpool ([#2467](https://github.com/NetApp/harvest/pull/2467)) - Harvest.yml Defaults Should Be Applied To Child Harvest.yml ([#2471](https://github.com/NetApp/harvest/pull/2471)) - Update Flexgroup Text In Dashboard ([#2474](https://github.com/NetApp/harvest/pull/2474)) -- Handled Missing Uuid In Volume For Change_log (#2478) ([#2479](https://github.com/NetApp/harvest/pull/2479)) +- Handled Missing Uuid In Volume For Change_log ([#2479](https://github.com/NetApp/harvest/pull/2479)) ### :closed_book: Documentation - Add Workload Information To Release Notes ([#2316](https://github.com/NetApp/harvest/pull/2316)) From 8f9201cc6915132b1e2d7fc7bf8c7f1a716b826c Mon Sep 17 00:00:00 2001 From: Rahul Date: Wed, 21 Feb 2024 20:15:46 +0530 Subject: [PATCH 10/10] doc: debian upgrade documentation (#2699) * doc: debian upgrade documentation * doc: debian upgrade documentation --- CHANGELOG.md | 1 + docs/install/package-managers.md | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c9950b87..6e2305fc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -160,6 +160,7 @@ this release: - Harvest Should Describe High-Level Concepts ([#2625](https://github.com/NetApp/harvest/pull/2625)) - Add doctor print commands for each platform ([2670](https://github.com/NetApp/harvest/pull/2670)) - Release 24.02 metric docs ([#2694](https://github.com/NetApp/harvest/pull/2694)) +- Debian upgrade documentation ([#2699](https://github.com/NetApp/harvest/pull/2699)) ### Styling - Resolve Spell Check Warnings ([#2461](https://github.com/NetApp/harvest/pull/2461)) diff --git a/docs/install/package-managers.md b/docs/install/package-managers.md index 48ac67f79..fb792faaa 100644 --- a/docs/install/package-managers.md +++ b/docs/install/package-managers.md @@ -48,8 +48,7 @@ Download the latest deb of [Harvest](https://github.com/NetApp/harvest/releases/ tab and install with apt. ```bash -sudo apt update -sudo apt install ./harvest-.amd64.deb +sudo apt install ./harvest-.amd64.deb ``` ### Upgrade @@ -58,8 +57,7 @@ Download the latest deb of [Harvest](https://github.com/NetApp/harvest/releases/ tab and upgrade with apt. ```bash -sudo apt update -sudo apt upgrade ./harvest-.amd64.deb +sudo apt install --only-upgrade ./harvest-.amd64.deb ``` Once the installation or upgrade has finished, edit the [harvest.yml configuration](../configure-harvest-basic.md) file