Skip to content

Commit 30475fb

Browse files
committed
diagnostics: reorg network diags under cluster/network
1 parent 2ae1408 commit 30475fb

File tree

16 files changed

+58
-50
lines changed

16 files changed

+58
-50
lines changed

Diff for: pkg/oc/admin/diagnostics/client.go

+2-14
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,22 @@ import (
88

99
clientdiags "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/client"
1010
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/client/pod"
11-
networkdiags "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/network"
1211
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/types"
1312
)
1413

1514
// availableClientDiagnostics returns definitions of client diagnostics that can be executed
1615
// during a single run of diagnostics. Add more diagnostics to the list as they are defined.
1716
func availableClientDiagnostics() types.DiagnosticList {
18-
return types.DiagnosticList{clientdiags.ConfigContext{}, &pod.DiagnosticPod{}, &networkdiags.NetworkDiagnostic{}}
17+
return types.DiagnosticList{clientdiags.ConfigContext{}, &pod.DiagnosticPod{}}
1918
}
2019

2120
// buildClientDiagnostics builds client Diagnostic objects based on the rawConfig passed in.
2221
// Returns the Diagnostics built, and any fatal errors encountered during the building of diagnostics.
2322
func (o DiagnosticsOptions) buildClientDiagnostics(rawConfig *clientcmdapi.Config) ([]types.Diagnostic, error) {
2423
available := availableClientDiagnostics().Names()
2524

26-
networkClient, err := o.Factory.OpenshiftInternalNetworkClient()
2725
kubeClient, clientErr := o.Factory.ClientSet()
28-
if clientErr != nil || err != nil {
26+
if clientErr != nil {
2927
o.Logger().Notice("CED0001", "Could not configure a client, so client diagnostics are limited to testing configuration and connection")
3028
available = sets.NewString(clientdiags.ConfigContextsName)
3129
}
@@ -54,16 +52,6 @@ func (o DiagnosticsOptions) buildClientDiagnostics(rawConfig *clientcmdapi.Confi
5452
dp.Factory = o.Factory
5553
dp.PreventModification = dp.PreventModification || o.PreventModification
5654
diagnostics = append(diagnostics, dp)
57-
case networkdiags.NetworkDiagnosticName:
58-
nd := o.ParameterizedDiagnostics[diagnosticName].(*networkdiags.NetworkDiagnostic)
59-
nd.KubeClient = kubeClient
60-
nd.NetNamespacesClient = networkClient.Network()
61-
nd.ClusterNetworkClient = networkClient.Network()
62-
nd.ClientFlags = o.ClientFlags
63-
nd.Level = o.LogOptions.Level
64-
nd.Factory = o.Factory
65-
nd.PreventModification = o.PreventModification
66-
diagnostics = append(diagnostics, nd)
6755
default:
6856
return nil, fmt.Errorf("unknown diagnostic: %v", diagnosticName)
6957
}

Diff for: pkg/oc/admin/diagnostics/cluster.go

+17
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ import (
1414
appsclient "github.com/openshift/origin/pkg/apps/generated/internalclientset"
1515
oauthorizationclient "github.com/openshift/origin/pkg/authorization/generated/internalclientset"
1616
imageclient "github.com/openshift/origin/pkg/image/generated/internalclientset"
17+
networkclient "github.com/openshift/origin/pkg/network/generated/internalclientset"
1718
oauthclient "github.com/openshift/origin/pkg/oauth/generated/internalclientset"
1819
clustdiags "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster"
1920
agldiags "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/aggregated_logging"
2021
appcreate "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/app_create"
22+
networkdiags "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network"
2123
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/types"
2224
osclientcmd "github.com/openshift/origin/pkg/oc/cli/util/clientcmd"
2325
projectclient "github.com/openshift/origin/pkg/project/generated/internalclientset"
@@ -41,6 +43,7 @@ func availableClusterDiagnostics() types.DiagnosticList {
4143
&clustdiags.NodeDefinitions{},
4244
&clustdiags.RouteCertificateValidation{},
4345
&clustdiags.ServiceExternalIPs{},
46+
&networkdiags.NetworkDiagnostic{},
4447
}
4548
}
4649

@@ -90,6 +93,10 @@ func (o DiagnosticsOptions) buildClusterDiagnostics(rawConfig *clientcmdapi.Conf
9093
if err != nil {
9194
return nil, err
9295
}
96+
networkClient, err := networkclient.NewForConfig(config)
97+
if err != nil {
98+
return nil, err
99+
}
93100

94101
diagnostics := []types.Diagnostic{}
95102
for _, diagnosticName := range requestedDiagnostics {
@@ -126,6 +133,16 @@ func (o DiagnosticsOptions) buildClusterDiagnostics(rawConfig *clientcmdapi.Conf
126133
d = &clustdiags.ServiceExternalIPs{MasterConfigFile: o.MasterConfigLocation, KclusterClient: kclusterClient}
127134
case clustdiags.RouteCertificateValidationName:
128135
d = &clustdiags.RouteCertificateValidation{SARClient: kclusterClient.Authorization(), RESTConfig: config}
136+
case networkdiags.NetworkDiagnosticName:
137+
nd := o.ParameterizedDiagnostics[diagnosticName].(*networkdiags.NetworkDiagnostic)
138+
nd.KubeClient = kclusterClient
139+
nd.NetNamespacesClient = networkClient.Network()
140+
nd.ClusterNetworkClient = networkClient.Network()
141+
nd.ClientFlags = o.ClientFlags
142+
nd.Level = o.LogOptions.Level
143+
nd.Factory = o.Factory
144+
nd.PreventModification = o.PreventModification
145+
diagnostics = append(diagnostics, nd)
129146
default:
130147
return nil, fmt.Errorf("unknown diagnostic: %v", diagnosticName)
131148
}

Diff for: pkg/oc/admin/diagnostics/diagnostics.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import (
1717
"github.com/openshift/origin/pkg/client/config"
1818
"github.com/openshift/origin/pkg/cmd/flagtypes"
1919
poddiag "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/client/pod/in_pod"
20+
networkpoddiag "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod"
2021
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/log"
21-
networkdiag "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/network"
2222
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/types"
2323
"github.com/openshift/origin/pkg/oc/admin/diagnostics/options"
2424
"github.com/openshift/origin/pkg/oc/admin/diagnostics/util"
@@ -135,7 +135,7 @@ func NewCmdDiagnostics(name string, fullName string, out io.Writer) *cobra.Comma
135135
// add hidden in-pod subcommands
136136
cmd.AddCommand(
137137
poddiag.NewCommandPodDiagnostics(poddiag.InPodDiagnosticRecommendedName, out),
138-
NewCommandNetworkPodDiagnostics(networkdiag.InPodNetworkCheckRecommendedName, out),
138+
networkpoddiag.NewCommandNetworkPodDiagnostics(networkpoddiag.InPodNetworkCheckRecommendedName, out),
139139
)
140140

141141
return cmd

Diff for: pkg/oc/admin/diagnostics/network_pod.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/cmd.go

+16-13
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package diagnostics
1+
package in_pod
22

33
import (
44
"fmt"
@@ -12,13 +12,16 @@ import (
1212
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
1313

1414
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/log"
15-
networkdiag "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/networkpod"
1615
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/types"
1716
"github.com/openshift/origin/pkg/oc/admin/diagnostics/options"
1817
"github.com/openshift/origin/pkg/oc/admin/diagnostics/util"
1918
osclientcmd "github.com/openshift/origin/pkg/oc/cli/util/clientcmd"
2019
)
2120

21+
const (
22+
InPodNetworkCheckRecommendedName = "inpod-networkcheck"
23+
)
24+
2225
// NetworkPodDiagnosticsOptions holds values received from environment variables
2326
// for the command to operate.
2427
type NetworkPodDiagnosticsOptions struct {
@@ -38,7 +41,7 @@ log the results so that the calling diagnostic can report them.
3841
var (
3942
// availableNetworkPodDiagnostics contains the names of network diagnostics that can be executed
4043
// during a single run of diagnostics. Add more diagnostics to the list as they are defined.
41-
availableNetworkPodDiagnostics = sets.NewString(networkdiag.CheckNodeNetworkName, networkdiag.CheckPodNetworkName, networkdiag.CheckExternalNetworkName, networkdiag.CheckServiceNetworkName, networkdiag.CollectNetworkInfoName)
44+
availableNetworkPodDiagnostics = sets.NewString(CheckNodeNetworkName, CheckPodNetworkName, CheckExternalNetworkName, CheckServiceNetworkName, CollectNetworkInfoName)
4245
)
4346

4447
// NewCommandNetworkPodDiagnostics is the command for running network diagnostics.
@@ -128,30 +131,30 @@ func (o NetworkPodDiagnosticsOptions) buildNetworkPodDiagnostics() ([]types.Diag
128131
for _, diagnosticName := range requestedDiagnostics {
129132
switch diagnosticName {
130133

131-
case networkdiag.CheckNodeNetworkName:
132-
diagnostics = append(diagnostics, networkdiag.CheckNodeNetwork{
134+
case CheckNodeNetworkName:
135+
diagnostics = append(diagnostics, CheckNodeNetwork{
133136
KubeClient: kubeClient,
134137
})
135138

136-
case networkdiag.CheckPodNetworkName:
137-
diagnostics = append(diagnostics, networkdiag.CheckPodNetwork{
139+
case CheckPodNetworkName:
140+
diagnostics = append(diagnostics, CheckPodNetwork{
138141
KubeClient: kubeClient,
139142
NetNamespacesClient: networkClient.Network(),
140143
ClusterNetworkClient: networkClient.Network(),
141144
})
142145

143-
case networkdiag.CheckExternalNetworkName:
144-
diagnostics = append(diagnostics, networkdiag.CheckExternalNetwork{})
146+
case CheckExternalNetworkName:
147+
diagnostics = append(diagnostics, CheckExternalNetwork{})
145148

146-
case networkdiag.CheckServiceNetworkName:
147-
diagnostics = append(diagnostics, networkdiag.CheckServiceNetwork{
149+
case CheckServiceNetworkName:
150+
diagnostics = append(diagnostics, CheckServiceNetwork{
148151
KubeClient: kubeClient,
149152
NetNamespacesClient: networkClient.Network(),
150153
ClusterNetworkClient: networkClient.Network(),
151154
})
152155

153-
case networkdiag.CollectNetworkInfoName:
154-
diagnostics = append(diagnostics, networkdiag.CollectNetworkInfo{
156+
case CollectNetworkInfoName:
157+
diagnostics = append(diagnostics, CollectNetworkInfo{
155158
KubeClient: kubeClient,
156159
})
157160

Diff for: pkg/oc/admin/diagnostics/diagnostics/networkpod/collect.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/collect.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package network
1+
package in_pod
22

33
import (
44
"errors"
@@ -7,7 +7,7 @@ import (
77

88
kclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
99

10-
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/networkpod/util"
10+
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/util"
1111
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/types"
1212
)
1313

Diff for: pkg/oc/admin/diagnostics/diagnostics/networkpod/external.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/external.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package network
1+
package in_pod
22

33
import (
44
"fmt"

Diff for: pkg/oc/admin/diagnostics/diagnostics/networkpod/node.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/node.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package network
1+
package in_pod
22

33
import (
44
"errors"
@@ -10,7 +10,7 @@ import (
1010
kcontainer "k8s.io/kubernetes/pkg/kubelet/container"
1111
kexec "k8s.io/utils/exec"
1212

13-
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/networkpod/util"
13+
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/util"
1414
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/types"
1515
)
1616

Diff for: pkg/oc/admin/diagnostics/diagnostics/networkpod/pod.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/pod.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package network
1+
package in_pod
22

33
import (
44
"errors"
@@ -13,7 +13,7 @@ import (
1313

1414
"github.com/openshift/origin/pkg/network"
1515
networktypedclient "github.com/openshift/origin/pkg/network/generated/internalclientset/typed/network/internalversion"
16-
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/networkpod/util"
16+
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/util"
1717
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/types"
1818
)
1919

Diff for: pkg/oc/admin/diagnostics/diagnostics/networkpod/service.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/service.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package network
1+
package in_pod
22

33
import (
44
"errors"
@@ -13,7 +13,7 @@ import (
1313

1414
"github.com/openshift/origin/pkg/network"
1515
networktypedclient "github.com/openshift/origin/pkg/network/generated/internalclientset/typed/network/internalversion"
16-
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/networkpod/util"
16+
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/util"
1717
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/types"
1818
)
1919

Diff for: pkg/oc/admin/diagnostics/diagnostics/network/objects.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/objects.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
kclientcmd "k8s.io/client-go/tools/clientcmd"
1111
kapi "k8s.io/kubernetes/pkg/apis/core"
1212

13-
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/networkpod/util"
13+
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/util"
1414
)
1515

1616
const (

Diff for: pkg/oc/admin/diagnostics/diagnostics/network/results.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/results.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
kerrs "k8s.io/apimachinery/pkg/util/errors"
1818
kapi "k8s.io/kubernetes/pkg/apis/core"
1919

20-
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/networkpod/util"
20+
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/util"
2121
)
2222

2323
func (d *NetworkDiagnostic) CollectNetworkPodLogs() error {

Diff for: pkg/oc/admin/diagnostics/diagnostics/network/run_pod.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/run_pod.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,20 @@ import (
2020
kclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
2121

2222
networktypedclient "github.com/openshift/origin/pkg/network/generated/internalclientset/typed/network/internalversion"
23+
networkpoddiag "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod"
24+
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/util"
2325
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/log"
24-
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/networkpod/util"
2526
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/types"
2627
osclientcmd "github.com/openshift/origin/pkg/oc/cli/util/clientcmd"
2728
)
2829

2930
const (
30-
InPodNetworkCheckRecommendedName = "inpod-networkcheck"
31-
NetworkDiagnosticName = "NetworkCheck"
32-
FlagNetworkDiagLogDir = "logdir"
33-
FlagNetworkDiagPodImage = "pod-image"
34-
FlagNetworkDiagTestPodImage = "test-pod-image"
35-
FlagNetworkDiagTestPodProtocol = "test-pod-protocol"
36-
FlagNetworkDiagTestPodPort = "test-pod-port"
31+
NetworkDiagnosticName = "NetworkCheck"
32+
FlagNetworkDiagLogDir = "logdir"
33+
FlagNetworkDiagPodImage = "pod-image"
34+
FlagNetworkDiagTestPodImage = "test-pod-image"
35+
FlagNetworkDiagTestPodProtocol = "test-pod-protocol"
36+
FlagNetworkDiagTestPodPort = "test-pod-port"
3737
)
3838

3939
// NetworkDiagnostic is a diagnostic that runs a network diagnostic pod and relays the results.
@@ -182,7 +182,7 @@ func (d *NetworkDiagnostic) runNetworkDiagnostic() {
182182
// In Collection phase, results from each node are moved to the user machine where the CLI cmd is executed.
183183

184184
// TEST Phase: Run network diagnostic pod on all valid nodes in parallel
185-
command := fmt.Sprintf("oc adm diagnostics %s -l %d", InPodNetworkCheckRecommendedName, loglevel)
185+
command := fmt.Sprintf("oc adm diagnostics %s -l %d", networkpoddiag.InPodNetworkCheckRecommendedName, loglevel)
186186
if err := d.runNetworkPod(command); err != nil {
187187
d.res.Error("DNet2006", err, err.Error())
188188
return

Diff for: pkg/oc/admin/diagnostics/diagnostics/network/setup.go renamed to pkg/oc/admin/diagnostics/diagnostics/cluster/network/setup.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
"github.com/openshift/origin/pkg/client/config"
2020
"github.com/openshift/origin/pkg/network"
2121
networkapi "github.com/openshift/origin/pkg/network/apis/network"
22-
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/networkpod/util"
22+
"github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/cluster/network/in_pod/util"
2323
diagutil "github.com/openshift/origin/pkg/oc/admin/diagnostics/diagnostics/util"
2424
)
2525

0 commit comments

Comments
 (0)