[ 
https://issues.apache.org/jira/browse/FLINK-22933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fuyao Li updated FLINK-22933:
-----------------------------
    Description: 
The current Fabric8io version in Flink is 4.9.2

See link: 
[https://github.com/apache/flink/blob/master/flink-kubernetes/pom.xml#L35]

This version of Fabric8io library is not FIPS compliant 
([https://www.sdxcentral.com/security/definitions/what-does-mean-fips-compliant/).]

Such function is added in Fabric8io.

[https://github.com/fabric8io/kubernetes-client/pull/2788]
 [https://github.com/fabric8io/kubernetes-client/issues/2732]

 

I am trying to write a native kubernetes operator leveraging APIs and 
interfaces provided by Flink source code. For example, ApplicationDeployer.

I am writing my own implementation based on Yang's example code: 
[https://github.com/wangyang0918/flink-native-k8s-operator]

 

Using version 4.9.2 for my operator will be working perfectly, but it could 
cause FIPS compliant issues.

 

Using version 5.4.0 will run into issues since Fabric8io version 4 and version 
5 API is not that compatible. I saw errors below.
{code:java}
Exception in thread "main" java.lang.AbstractMethodError: Receiver class 
io.fabric8.kubernetes.client.handlers.ServiceHandler does not define or inherit 
an implementation of the resolved method 'abstract java.lang.Object 
create(okhttp3.OkHttpClient, io.fabric8.kubernetes.client.Config, 
java.lang.String, java.lang.Object, boolean)' of interface 
io.fabric8.kubernetes.client.ResourceHandler.Exception in thread "main" 
java.lang.AbstractMethodError: Receiver class 
io.fabric8.kubernetes.client.handlers.ServiceHandler does not define or inherit 
an implementation of the resolved method 'abstract java.lang.Object 
create(okhttp3.OkHttpClient, io.fabric8.kubernetes.client.Config, 
java.lang.String, java.lang.Object, boolean)' of interface 
io.fabric8.kubernetes.client.ResourceHandler. at 
io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper.lambda$createOrReplaceItem$0(CreateOrReplaceHelper.java:77)
 at 
io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper.createOrReplace(CreateOrReplaceHelper.java:56)
 at 
io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper.createOrReplaceItem(CreateOrReplaceHelper.java:91)
 at 
io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.createOrReplaceOrDeleteExisting(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java:454)
 at 
io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.createOrReplace(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java:297)
 at 
io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.createOrReplace(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java:66)
 at 
org.apache.flink.kubernetes.kubeclient.Fabric8FlinkKubeClient.createJobManagerComponent(Fabric8FlinkKubeClient.java:113)
 at 
org.apache.flink.kubernetes.KubernetesClusterDescriptor.deployClusterInternal(KubernetesClusterDescriptor.java:274)
 at 
org.apache.flink.kubernetes.KubernetesClusterDescriptor.deployApplicationCluster(KubernetesClusterDescriptor.java:208)
 at 
org.apache.flink.client.deployment.application.cli.ApplicationClusterDeployer.run(ApplicationClusterDeployer.java:67)
 at 
org.apache.flink.kubernetes.operator.controller.FlinkApplicationController.reconcile(FlinkApplicationController.java:207)
 at 
org.apache.flink.kubernetes.operator.controller.FlinkApplicationController.run(FlinkApplicationController.java:172)
 at 
org.apache.flink.kubernetes.operator.KubernetesOperatorEntrypoint.main(KubernetesOperatorEntrypoint.java:74)2021-06-08
 19:53:57,726 WARN  
io.fabric8.kubernetes.client.dsl.internal.WatcherWebSocketListener [] - Exec 
Failure
{code}
Since  Fabric8io has fixed this issue, maybe we can bump the version in Flink 
to 5.4.0 or 5.4.1 that is released recently?

 

This will also bring additional benefits since users will be able to leverage 
new APIs provided in >=5.4.0 version if anyone need to build operators upon 
this.

See changelog: 
[https://github.com/fabric8io/kubernetes-client/blob/master/CHANGELOG.md]

 

cc [~fly_in_gis] [~rmetzger]

 

 

 

  was:
The current Fabric8io version in Flink is 4.9.2

See link: 
[https://github.com/apache/flink/blob/master/flink-kubernetes/pom.xml#L35]

This version of Fabric8io library is not FIPS compliant 
([https://www.sdxcentral.com/security/definitions/what-does-mean-fips-compliant/).]

Such function is added in Fabric8io.

[https://github.com/fabric8io/kubernetes-client/pull/2788]
[https://github.com/fabric8io/kubernetes-client/issues/2732]

 

I am trying to write a native kubernetes operator leveraging APIs and 
interfaces provided by Flink source code. For example, ApplicationDeployer.

I am writing my own implementation based on Yang's example code: 
https://github.com/wangyang0918/flink-native-k8s-operator

 

Using version 4.9.2 for my operator will be work perfectly, but it could cause 
FIPS compliant issues.

 

Using version 5.4.0 will run into issues since Fabric8io version 4 and version 
5 API is not that compatible. I saw errors below.
{code:java}
Exception in thread "main" java.lang.AbstractMethodError: Receiver class 
io.fabric8.kubernetes.client.handlers.ServiceHandler does not define or inherit 
an implementation of the resolved method 'abstract java.lang.Object 
create(okhttp3.OkHttpClient, io.fabric8.kubernetes.client.Config, 
java.lang.String, java.lang.Object, boolean)' of interface 
io.fabric8.kubernetes.client.ResourceHandler.Exception in thread "main" 
java.lang.AbstractMethodError: Receiver class 
io.fabric8.kubernetes.client.handlers.ServiceHandler does not define or inherit 
an implementation of the resolved method 'abstract java.lang.Object 
create(okhttp3.OkHttpClient, io.fabric8.kubernetes.client.Config, 
java.lang.String, java.lang.Object, boolean)' of interface 
io.fabric8.kubernetes.client.ResourceHandler. at 
io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper.lambda$createOrReplaceItem$0(CreateOrReplaceHelper.java:77)
 at 
io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper.createOrReplace(CreateOrReplaceHelper.java:56)
 at 
io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper.createOrReplaceItem(CreateOrReplaceHelper.java:91)
 at 
io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.createOrReplaceOrDeleteExisting(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java:454)
 at 
io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.createOrReplace(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java:297)
 at 
io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.createOrReplace(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java:66)
 at 
org.apache.flink.kubernetes.kubeclient.Fabric8FlinkKubeClient.createJobManagerComponent(Fabric8FlinkKubeClient.java:113)
 at 
org.apache.flink.kubernetes.KubernetesClusterDescriptor.deployClusterInternal(KubernetesClusterDescriptor.java:274)
 at 
org.apache.flink.kubernetes.KubernetesClusterDescriptor.deployApplicationCluster(KubernetesClusterDescriptor.java:208)
 at 
org.apache.flink.client.deployment.application.cli.ApplicationClusterDeployer.run(ApplicationClusterDeployer.java:67)
 at 
org.apache.flink.kubernetes.operator.controller.FlinkApplicationController.reconcile(FlinkApplicationController.java:207)
 at 
org.apache.flink.kubernetes.operator.controller.FlinkApplicationController.run(FlinkApplicationController.java:172)
 at 
org.apache.flink.kubernetes.operator.KubernetesOperatorEntrypoint.main(KubernetesOperatorEntrypoint.java:74)2021-06-08
 19:53:57,726 WARN  
io.fabric8.kubernetes.client.dsl.internal.WatcherWebSocketListener [] - Exec 
Failure
{code}
Since  Fabric8io has fixed this issue, maybe we can bump the version in Flink 
to 5.4.0 or 5.4.1 that is released recently?

 

This will also bring additional benefits since users will be able to leverage 
new APIs provided in >=5.4.0 version if anyone need to build operators upon 
this.

See changelog: 
[https://github.com/fabric8io/kubernetes-client/blob/master/CHANGELOG.md]

 

cc [~fly_in_gis] [~rmetzger]

 

 

 


> Upgrade the Flink Fabric8io/kubernetes-client version to >=5.4.0 to be FIPS 
> compliant
> -------------------------------------------------------------------------------------
>
>                 Key: FLINK-22933
>                 URL: https://issues.apache.org/jira/browse/FLINK-22933
>             Project: Flink
>          Issue Type: Improvement
>          Components: Deployment / Kubernetes
>    Affects Versions: 1.13.0, 1.13.1
>            Reporter: Fuyao Li
>            Priority: Blocker
>
> The current Fabric8io version in Flink is 4.9.2
> See link: 
> [https://github.com/apache/flink/blob/master/flink-kubernetes/pom.xml#L35]
> This version of Fabric8io library is not FIPS compliant 
> ([https://www.sdxcentral.com/security/definitions/what-does-mean-fips-compliant/).]
> Such function is added in Fabric8io.
> [https://github.com/fabric8io/kubernetes-client/pull/2788]
>  [https://github.com/fabric8io/kubernetes-client/issues/2732]
>  
> I am trying to write a native kubernetes operator leveraging APIs and 
> interfaces provided by Flink source code. For example, ApplicationDeployer.
> I am writing my own implementation based on Yang's example code: 
> [https://github.com/wangyang0918/flink-native-k8s-operator]
>  
> Using version 4.9.2 for my operator will be working perfectly, but it could 
> cause FIPS compliant issues.
>  
> Using version 5.4.0 will run into issues since Fabric8io version 4 and 
> version 5 API is not that compatible. I saw errors below.
> {code:java}
> Exception in thread "main" java.lang.AbstractMethodError: Receiver class 
> io.fabric8.kubernetes.client.handlers.ServiceHandler does not define or 
> inherit an implementation of the resolved method 'abstract java.lang.Object 
> create(okhttp3.OkHttpClient, io.fabric8.kubernetes.client.Config, 
> java.lang.String, java.lang.Object, boolean)' of interface 
> io.fabric8.kubernetes.client.ResourceHandler.Exception in thread "main" 
> java.lang.AbstractMethodError: Receiver class 
> io.fabric8.kubernetes.client.handlers.ServiceHandler does not define or 
> inherit an implementation of the resolved method 'abstract java.lang.Object 
> create(okhttp3.OkHttpClient, io.fabric8.kubernetes.client.Config, 
> java.lang.String, java.lang.Object, boolean)' of interface 
> io.fabric8.kubernetes.client.ResourceHandler. at 
> io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper.lambda$createOrReplaceItem$0(CreateOrReplaceHelper.java:77)
>  at 
> io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper.createOrReplace(CreateOrReplaceHelper.java:56)
>  at 
> io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper.createOrReplaceItem(CreateOrReplaceHelper.java:91)
>  at 
> io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.createOrReplaceOrDeleteExisting(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java:454)
>  at 
> io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.createOrReplace(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java:297)
>  at 
> io.fabric8.kubernetes.client.dsl.internal.NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.createOrReplace(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java:66)
>  at 
> org.apache.flink.kubernetes.kubeclient.Fabric8FlinkKubeClient.createJobManagerComponent(Fabric8FlinkKubeClient.java:113)
>  at 
> org.apache.flink.kubernetes.KubernetesClusterDescriptor.deployClusterInternal(KubernetesClusterDescriptor.java:274)
>  at 
> org.apache.flink.kubernetes.KubernetesClusterDescriptor.deployApplicationCluster(KubernetesClusterDescriptor.java:208)
>  at 
> org.apache.flink.client.deployment.application.cli.ApplicationClusterDeployer.run(ApplicationClusterDeployer.java:67)
>  at 
> org.apache.flink.kubernetes.operator.controller.FlinkApplicationController.reconcile(FlinkApplicationController.java:207)
>  at 
> org.apache.flink.kubernetes.operator.controller.FlinkApplicationController.run(FlinkApplicationController.java:172)
>  at 
> org.apache.flink.kubernetes.operator.KubernetesOperatorEntrypoint.main(KubernetesOperatorEntrypoint.java:74)2021-06-08
>  19:53:57,726 WARN  
> io.fabric8.kubernetes.client.dsl.internal.WatcherWebSocketListener [] - Exec 
> Failure
> {code}
> Since  Fabric8io has fixed this issue, maybe we can bump the version in Flink 
> to 5.4.0 or 5.4.1 that is released recently?
>  
> This will also bring additional benefits since users will be able to leverage 
> new APIs provided in >=5.4.0 version if anyone need to build operators upon 
> this.
> See changelog: 
> [https://github.com/fabric8io/kubernetes-client/blob/master/CHANGELOG.md]
>  
> cc [~fly_in_gis] [~rmetzger]
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to