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 .hasApiGroup (OpenShiftClient .BASE_API_GROUP , false );
28
+ } catch (KubernetesClientException e ) {
29
+ return false ;
30
+ }
29
31
}
30
32
31
33
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 ()){
34
+ OpenShiftClient openShiftClient = getOpenShiftClient (client );
35
+ if (openShiftClient != null ) {
39
36
return new ClusterInfo (
40
37
getKubernetesVersion (client ),
41
38
true ,
42
- getOpenShiftVersion (client ));
39
+ getOpenShiftVersion (openShiftClient ));
43
40
} else {
44
41
return new ClusterInfo (
45
42
getKubernetesVersion (client ),
46
43
false ,
47
44
"" );
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
45
}
59
46
}
60
47
@@ -63,18 +50,23 @@ private static String getKubernetesVersion(KubernetesClient client) {
63
50
return version != null ? version .getGitVersion () : "" ;
64
51
}
65
52
66
- private static String getOpenShiftVersion (KubernetesClient client ) {
67
- try {
68
- OpenShiftClient oclient = client .adapt (OpenShiftClient .class );
69
- return getOpenShiftVersion (oclient );
70
- } catch (KubernetesClientException e ) {
53
+ private static OpenShiftClient getOpenShiftClient (KubernetesClient client ) {
54
+ if (client instanceof OpenShiftClient ) {
55
+ return (OpenShiftClient ) client ;
56
+ } else if (isOpenShift (client )) {
57
+ return client .adapt (OpenShiftClient .class );
58
+ } else {
71
59
return null ;
72
60
}
73
61
}
74
62
75
63
private static String getOpenShiftVersion (OpenShiftClient client ) {
76
64
VersionInfo version = client .getVersion ();
77
- return version != null && version .getMajor () != null ? getVersion (version .getMajor (), version .getMinor ()) : "" ;
65
+ if (version != null && version .getMajor () != null ) {
66
+ return getVersion (version .getMajor (), version .getMinor ());
67
+ } else {
68
+ return "" ;
69
+ }
78
70
}
79
71
80
72
private static String getVersion (String major , String minor ) {
0 commit comments