diagnostics

package
v3.8.33-1+incompatible Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2018 License: Apache-2.0 Imports: 49 Imported by: 0

Documentation

Overview

OpenShift v3 Diagnostics

This is a tool to help administrators and users resolve common problems that occur with OpenShift v3 deployments. It will likely remain under continuous development as the OpenShift Origin project progresses.

The goals of the diagnostics tool are summarized in the Trello card https://trello.com/c/LdUogKuN; Diagnostics are included as an `openshift` sub-command that analyzes OpenShift as it is able, whether from the perspective of an OpenShift client or on an OpenShift host.

View pkg/diagnostics/README.md for more details on developing diagnostics.

Index

Constants

View Source
const (
	DiagnosticsRecommendedName = "diagnostics"

	// Standard locations for the host config files OpenShift uses.
	StandardMasterConfigPath string = "/etc/origin/master/master-config.yaml"
	StandardNodeConfigPath   string = "/etc/origin/node/node-config.yaml"
)
View Source
const (
	// Standard locations for the secrets mounted in pods
	StandardMasterCaPath = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
	StandardTokenPath    = "/var/run/secrets/kubernetes.io/serviceaccount/token"
	StandardMasterUrl    = "https://kubernetes.default.svc.cluster.local"
)

Variables

This section is empty.

Functions

func NewCmdDiagnostics

func NewCmdDiagnostics(name string, fullName string, out io.Writer) *cobra.Command

NewCmdDiagnostics is the base command for running any diagnostics.

func NewCommandNetworkPodDiagnostics

func NewCommandNetworkPodDiagnostics(name string, out io.Writer) *cobra.Command

NewCommandNetworkPodDiagnostics is the command for running network diagnostics.

func NewCommandPodDiagnostics

func NewCommandPodDiagnostics(name string, out io.Writer) *cobra.Command

NewCommandPodDiagnostics is the command for running pod diagnostics.

Types

type DiagnosticsOptions

type DiagnosticsOptions struct {
	// list of diagnostic names to limit what is run
	RequestedDiagnostics []string
	// specify locations of host config files
	MasterConfigLocation string
	NodeConfigLocation   string
	// specify context name to be used for cluster-admin access
	ClientClusterContext string
	// indicate this is an openshift host despite lack of other indicators
	IsHost bool
	// specify the image template to use for DiagnosticPod
	ImageTemplate variable.ImageTemplate
	// When true, prevent diagnostics from changing API state (e.g. creating something)
	PreventModification bool
	// We need a factory for creating clients. Creating a factory
	// creates flags as a byproduct, most of which we don't want.
	// The command creates these and binds only the flags we want.
	ClientFlags *flag.FlagSet
	Factory     *osclientcmd.Factory
	// LogOptions determine globally what the user wants to see and how.
	LogOptions *log.LoggerOptions
	// The Logger is built with the options and should be used for all diagnostic output.
	Logger *log.Logger
	// Options specific to network diagnostics
	NetworkOptions *NetworkDiagnosticsOptions
}

DiagnosticsOptions holds values received from command line flags as well as other objects generated for the command to operate.

func (*DiagnosticsOptions) Complete

func (o *DiagnosticsOptions) Complete(args []string) error

Complete fills in DiagnosticsOptions needed if the command is actually invoked.

func (DiagnosticsOptions) Run

func (o DiagnosticsOptions) Run(diagnostics []types.Diagnostic) (bool, error, int, int)

Run performs the actual execution of diagnostics once they're built.

func (DiagnosticsOptions) RunDiagnostics

func (o DiagnosticsOptions) RunDiagnostics() (bool, error, int, int)

RunDiagnostics builds diagnostics based on the options and executes them, returning a summary.

func (*DiagnosticsOptions) Validate

func (o *DiagnosticsOptions) Validate() error

type NetworkDiagnosticsOptions

type NetworkDiagnosticsOptions struct {
	// Path to store network diagnostic results in case of errors
	LogDir string
	// Image to use for network diagnostic pod
	PodImage string
	// Image to use for network diagnostic test pod
	TestPodImage string
	// Protocol used to connect network diagnostic test pod
	TestPodProtocol string
	// Serving port on the network diagnostic test pod
	TestPodPort int
}

NetworkDiagnosticsOptions holds additional values received from command line flags that are specify to network diagnostics.

type NetworkPodDiagnosticsOptions

type NetworkPodDiagnosticsOptions struct {
	// list of diagnostic names to limit what is run
	RequestedDiagnostics []string
	// LogOptions determine globally what the user wants to see and how.
	LogOptions *log.LoggerOptions
	// The Logger is built with the options and should be used for all diagnostic output.
	Logger *log.Logger
}

NetworkPodDiagnosticsOptions holds values received from environment variables for the command to operate.

func (NetworkPodDiagnosticsOptions) BuildAndRunDiagnostics

func (o NetworkPodDiagnosticsOptions) BuildAndRunDiagnostics() (failed bool, err error, numWarnings, numErrors int)

BuildAndRunDiagnostics builds diagnostics based on the options and executes them, returning a summary.

func (*NetworkPodDiagnosticsOptions) Complete

func (o *NetworkPodDiagnosticsOptions) Complete(args []string) (err error)

Complete fills in NetworkPodDiagnosticsOptions needed if the command is actually invoked.

type PodDiagnosticsOptions

type PodDiagnosticsOptions struct {
	// list of diagnostic names to limit what is run
	RequestedDiagnostics []string
	// LogOptions determine globally what the user wants to see and how.
	LogOptions *log.LoggerOptions
	// The Logger is built with the options and should be used for all diagnostic output.
	Logger *log.Logger
}

PodDiagnosticsOptions holds values received from environment variables for the command to operate.

func (PodDiagnosticsOptions) BuildAndRunDiagnostics

func (o PodDiagnosticsOptions) BuildAndRunDiagnostics() (bool, error, int, int)

BuildAndRunDiagnostics builds diagnostics based on the options and executes them, returning a summary.

func (*PodDiagnosticsOptions) Complete

func (o *PodDiagnosticsOptions) Complete(args []string) error

Complete fills in PodDiagnosticsOptions needed if the command is actually invoked.

Directories

Path Synopsis
diagnostics
log
pod

Jump to

Keyboard shortcuts

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