Skip to content

Commit

Permalink
added more info about diagnostics tool option
Browse files Browse the repository at this point in the history
  • Loading branch information
brice committed Sep 12, 2017
1 parent c4de6c8 commit 58ed1de
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 9 deletions.
84 changes: 75 additions & 9 deletions admin_guide/diagnostics_tool.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,18 @@ administrator, run:
$ oc adm diagnostics
----

This runs all available diagnostics, skipping any that do not apply. For
example, the *NodeConfigCheck* does not run unless a node configuration is
available. You can also run specific diagnostics by name as you work to address
issues. For example:
This runs all available diagnostics, skipping any that do not apply.

You can run one or multiple specific diagnostics by name, or run specific
diagnostics by name as you work to address issues. For example:

----
$ oc adm diagnostics NodeConfigCheck UnitStatus
$ oc adm diagnostics <name1> <name2>
----

The options mostly require working configuration files. For example, the
*NodeConfigCheck* does not run unless a node configuration is available.

Diagnostics look for configuration files in standard locations:

* Client:
Expand All @@ -68,14 +71,77 @@ Non-standard locations can be specified with flags (respectively,
`--config`, `--master-config`, and `--node-config`). If a configuration file
is not found or specified, related diagnostics are skipped.

Consult the output with the `--help` flag for all available options.
Available diagnostics include:

[options="header"]
|===

|Diagnostic Name |Purpose

|`AggregatedLogging`
|Check the aggregated logging integration for proper configuration and operation.

|`AnalyzeLogs`
|Check systemd service logs for problems. Does not require a configuration file to check against.

|`ClusterRegistry`
|Check that the cluster has a working Docker registry for builds and image streams.

|`ClusterRoleBindings`
|Check that the default cluster role bindings are present and contain the expected subjects according to base policy.

|`ClusterRoles`
|Check that cluster roles are present and contain the expected permissions according to base policy.

|`ClusterRouter`
|Check for a working default router in the cluster.

|`ConfigContexts`
|Check that each context in the client configuration is complete and has connectivity to its API server.

|`DiagnosticPod`
|Creates a pod that runs diagnostics from an application standpoint, which checks that DNS within the pod is working as expected and the credentials for the default service account authenticate correctly to the master API.

|`EtcdWriteVolume`
|Check the volume of writes against etcd for a time period and classify them by operation and key. This diagnostic only runs if specifically requested, because it does not run as quickly as other diagnostics and can increase load on etcd.

|`MasterConfigCheck`
|Check this host's master configuration file for problems.

|`MasterNode`
|Check that the master running on this host is also running a node to verify that it is a member of the cluster SDN.

|`MetricsApiProxy`
|Check that the integrated Heapster metrics can be reached via the cluster API proxy.

|`NetworkCheck`
|Create diagnostic pods on multiple nodes to diagnose common network issues from an application standpoint. For example, this checks that pods can connect to services, other pods, and the external network.

If there are any errors, this diagnostic stores results and retrieved files in a local directory (*_/tmp/openshift/_*, by default) for further analysis. The directory can be specified with the `--network-logdir` flag.

|`NodeConfigCheck`
|Checks this host's node configuration file for problems.

|`NodeDefinitions`
|Check that the nodes defined in the master API are ready and can schedule pods.

|`RouteCertificateValidation`
|Check all route certificates for those that might be rejected by extended validation.

|`ServiceExternalIPs`
|Check for existing services that specify external IPs, which are disallowed according to master configuration.

|`UnitStatus`
|Check systemd status for units on this host related to {product-title}. Does not require a configuration file to check against.

|===


[[admin-guide-diagnostics-tool-server-environment]]
== Running Diagnostics in a Server Environment

Master and node diagnostics are most useful in a specific target environment,
which is a deployment of RPMs with Ansible deployment logic. This provides some
diagnostic benefits:
Master and node diagnostics are most useful in an Ansible-deployed cluster. This
provides some diagnostic benefits:

* Master and node configuration is based on a configuration file in a standard
location.
Expand Down
6 changes: 6 additions & 0 deletions admin_guide/sdn_troubleshooting.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,12 @@ on the master (or from another machine with access to the master) to generate
useful debugging information. However, this script is unsupported.
====

By default, `oadm diagnostics NetworkCheck` logs errors into *_/tmp/openshift/_*. This can be configured with the `--network-logdir` option:

----
# oc adm diagnostics NetworkCheck --network-logdir=<path/to/directory>
----

== Miscellaneous Notes

=== Other clarifications on ingress
Expand Down

0 comments on commit 58ed1de

Please sign in to comment.