|
...
|
...
|
@@ -11,6 +11,7 @@ import (
|
|
11
|
11
|
"github.com/spf13/cobra"
|
|
12
|
12
|
|
|
13
|
13
|
kapi "k8s.io/kubernetes/pkg/api"
|
|
|
14
|
+ kapierrors "k8s.io/kubernetes/pkg/api/errors"
|
|
14
|
15
|
"k8s.io/kubernetes/pkg/api/meta"
|
|
15
|
16
|
kclient "k8s.io/kubernetes/pkg/client/unversioned"
|
|
16
|
17
|
"k8s.io/kubernetes/pkg/kubectl/resource"
|
|
...
|
...
|
@@ -84,7 +85,17 @@ func (p *ProjectOptions) Validate() error {
|
|
84
|
84
|
errList = append(errList, errors.New("must provide --selector=<project_selector> or projects"))
|
|
85
|
85
|
}
|
|
86
|
86
|
|
|
87
|
|
- // TODO: Validate if the openshift master is running with mutitenant network plugin
|
|
|
87
|
+ clusterNetwork, err := p.Oclient.ClusterNetwork().Get(sdnapi.ClusterNetworkDefault)
|
|
|
88
|
+ if err != nil {
|
|
|
89
|
+ if kapierrors.IsNotFound(err) {
|
|
|
90
|
+ errList = append(errList, errors.New("Managing pod network is only supported for openshift multitenant network plugin"))
|
|
|
91
|
+ } else {
|
|
|
92
|
+ errList = append(errList, errors.New("Failed to fetch current network plugin info"))
|
|
|
93
|
+ }
|
|
|
94
|
+ } else if !sdnapi.IsOpenShiftMultitenantNetworkPlugin(clusterNetwork.PluginName) {
|
|
|
95
|
+ errList = append(errList, fmt.Errorf("Using plugin: %q, managing pod network is only supported for openshift multitenant network plugin", clusterNetwork.PluginName))
|
|
|
96
|
+ }
|
|
|
97
|
+
|
|
88
|
98
|
return kerrors.NewAggregate(errList)
|
|
89
|
99
|
}
|
|
90
|
100
|
|