16
16
import io .fabric8 .kubernetes .client .VersionInfo ;
17
17
import io .fabric8 .openshift .client .OpenShiftClient ;
18
18
19
- import java .net .HttpURLConnection ;
20
-
21
19
public class ClusterHelper {
22
20
23
21
private ClusterHelper () {
24
22
//avoid instanciation
25
23
}
26
24
27
25
public static boolean isOpenShift (KubernetesClient client ) {
28
- return client .hasApiGroup (OpenShiftClient .BASE_API_GROUP , false );
26
+ try {
27
+ return client != null
28
+ && client .hasApiGroup (OpenShiftClient .BASE_API_GROUP , false );
29
+ } catch (KubernetesClientException e ) {
30
+ return false ;
31
+ }
29
32
}
30
33
31
34
public static ClusterInfo getClusterInfo (KubernetesClient client ) {
32
- if (client instanceof OpenShiftClient ) {
33
- return new ClusterInfo (
34
- getKubernetesVersion ((OpenShiftClient ) client ),
35
- true ,
36
- getOpenShiftVersion ((OpenShiftClient ) client ));
37
-
38
- } else if (client .adapt (OpenShiftClient .class ) != null && client .adapt (OpenShiftClient .class ).isSupported ()){
35
+ OpenShiftClient openShiftClient = getOpenShiftClient (client );
36
+ if (openShiftClient != null ) {
39
37
return new ClusterInfo (
40
38
getKubernetesVersion (client ),
41
39
true ,
42
- getOpenShiftVersion (client ));
40
+ getOpenShiftVersion (openShiftClient ));
43
41
} else {
44
42
return new ClusterInfo (
45
43
getKubernetesVersion (client ),
46
44
false ,
47
45
"" );
48
-
49
- }
50
- }
51
-
52
- private static String getKubernetesVersion (OpenShiftClient client ) {
53
- try {
54
- KubernetesClient kclient = new KubernetesClientBuilder ().withConfig (client .getConfiguration ()).build ();
55
- return getKubernetesVersion (kclient );
56
- } catch (KubernetesClientException e ) {
57
- return null ;
58
46
}
59
47
}
60
48
@@ -63,18 +51,23 @@ private static String getKubernetesVersion(KubernetesClient client) {
63
51
return version != null ? version .getGitVersion () : "" ;
64
52
}
65
53
66
- private static String getOpenShiftVersion (KubernetesClient client ) {
67
- try {
68
- OpenShiftClient oclient = client .adapt (OpenShiftClient .class );
69
- return getOpenShiftVersion (oclient );
70
- } catch (KubernetesClientException e ) {
54
+ private static OpenShiftClient getOpenShiftClient (KubernetesClient client ) {
55
+ if (client instanceof OpenShiftClient ) {
56
+ return (OpenShiftClient ) client ;
57
+ } else if (isOpenShift (client )) {
58
+ return client .adapt (OpenShiftClient .class );
59
+ } else {
71
60
return null ;
72
61
}
73
62
}
74
63
75
64
private static String getOpenShiftVersion (OpenShiftClient client ) {
76
65
VersionInfo version = client .getVersion ();
77
- return version != null && version .getMajor () != null ? getVersion (version .getMajor (), version .getMinor ()) : "" ;
66
+ if (version != null && version .getMajor () != null ) {
67
+ return getVersion (version .getMajor (), version .getMinor ());
68
+ } else {
69
+ return "" ;
70
+ }
78
71
}
79
72
80
73
private static String getVersion (String major , String minor ) {
0 commit comments