component

package
v0.7.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 13, 2026 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Overview

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 The Scitix Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

View Source
var (
	ComponentStatuses = make(map[string]bool) // Tracks pass/fail status for each component
	StatusMutex       sync.Mutex              // Ensures thread-safe updates
)

Functions

func CheckNcclPerf

func CheckNcclPerf(numGpus int, gpulist, beginBuffer, endBuffer string, disableNvls bool, exceptBwGbps float64, timeout int, ibHCA string) (*common.Result, error)

func DetermineComponentsToCheck

func DetermineComponentsToCheck(enableComponents string, ignoredComponents string, cfgFile string, logField string) []string

DetermineComponentsToCheck determines which components to check based on enable-components flag, ignore-components flag, and the configuration file. Parameters:

  • enableComponents: comma-separated list of components to enable (from -E flag), empty string means use config
  • ignoredComponents: list of components to ignore (from -I flag)
  • cfgFile: path to the user config file
  • logField: field name for logging (e.g., "all" or "daemon")

Returns the list of component names to check.

func GetComponentsFromConfig

func GetComponentsFromConfig(cfgFile string) ([]string, error)

GetComponentsFromConfig extracts component names from default_user_config.yaml. It returns only components with enable=true (excluding "metrics").

func GetDefaultNcclTestPath

func GetDefaultNcclTestPath(testBin string) (string, error)

func NewAllCmd

func NewAllCmd() *cobra.Command

NewAllCmd creates a new cobra.Command for performing health checks on all components. It sets up the command with a context that times out after AllCmdTimeout, and defines the command's usage, short description, and long description. The command iterates over a list of default components, performs health checks on each, and prints the results. Flags: - verbos: Enable verbose output (default: false) - eventonly: Print events output only (default: false)

func NewCPUCmd

func NewCPUCmd() *cobra.Command

func NewComponent

func NewComponent(componentName string, cfgFile string, specFile string, ignoredCheckers []string) (common.Component, error)

func NewDmesgCmd

func NewDmesgCmd() *cobra.Command

func NewEthernetCmd added in v0.7.7

func NewEthernetCmd() *cobra.Command

func NewGpfsCmd

func NewGpfsCmd() *cobra.Command

NewGpfsCmd creates and returns a subcommand instance for running in Gpfs, configuring the basic attributes of the command.

func NewGpuEventsCommand

func NewGpuEventsCommand() *cobra.Command

func NewIBLinkCheckCmd

func NewIBLinkCheckCmd() *cobra.Command

func NewIBPerftestCmd

func NewIBPerftestCmd() *cobra.Command

func NewInfinibandCmd

func NewInfinibandCmd() *cobra.Command

func NewMemoryCmd

func NewMemoryCmd() *cobra.Command

NewMemoryCmd creates and returns a subcommand instance for representing memory-related operations, configuring the basic attributes of the command.

func NewNcclPerftestCmd

func NewNcclPerftestCmd() *cobra.Command

func NewNvidiaCmd

func NewNvidiaCmd() *cobra.Command

NewNvidiaCmd creates and returns a subcommand instance for representing gpu-related operations, configuring the basic attributes of the command.

func NewPcieTopoCmd

func NewPcieTopoCmd() *cobra.Command

func NewPodLogCmd

func NewPodLogCmd() *cobra.Command

func NewRoCEGidEqualCheckCmd

func NewRoCEGidEqualCheckCmd() *cobra.Command

func NewRoCEGidsCheckCmd

func NewRoCEGidsCheckCmd() *cobra.Command

func NewRoCEPerftestCmd

func NewRoCEPerftestCmd() *cobra.Command

func NewSyslogCmd

func NewSyslogCmd() *cobra.Command

func NewTransceiverCmd added in v0.7.8

func NewTransceiverCmd() *cobra.Command

func PrintCheckResults

func PrintCheckResults(summaryPrint bool, checkResult *CheckResults)

func PrintNcclPerfInfo

func PrintNcclPerfInfo(result *common.Result) bool

Types

type CheckResults

type CheckResults struct {
	// contains filtered or unexported fields
}

func RunComponentCheck

func RunComponentCheck(ctx context.Context, comp common.Component, timeout time.Duration) (*CheckResults, error)

type Config

type Config struct {
	NumGpus int
	Gpulist string
	TestBin string

	DisableNvls bool
	// IBHCA controls NCCL_IB_HCA selection:
	//   ""             → auto-detect active RoCE VFs (respects an externally
	//                    exported NCCL_IB_HCA)
	//   "off"/"none"/  → leave NCCL_IB_HCA at its default, no detection
	//   "disable"
	//   anything else  → strict whitelist; "=" prefix is added automatically
	//                    when missing
	IBHCA string
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL