[ 
https://issues.apache.org/jira/browse/FLINK-22933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17360309#comment-17360309
 ] 

Fuyao Li edited comment on FLINK-22933 at 6/10/21, 1:46 AM:
------------------------------------------------------------

Maybe add something like this?  — I guess this is wrong... I am not very 
familiar with editing the shading part. It would nice if you can give me some 
hints. Thanks.
{code:java}
                            <relocations>
                                <relocation>
                                    
<pattern>flink-kubernetes_${scala.version}</pattern>
                                    
<shadedPattern>flink-kubernetes_${scala.version}.shaded</shadedPattern>
                                    <excludes>
                                        <exclude>io.fabric8</exclude>
                                    </excludes>
                                </relocation>
                            </relocations>
{code}


was (Author: fuyao li):
Maybe add something like this?
{code:java}
                            <relocations>
                                <relocation>
                                    
<pattern>flink-kubernetes_${scala.version}</pattern>
                                    
<shadedPattern>flink-kubernetes_${scala.version}.shaded</shadedPattern>
                                    <excludes>
                                        <exclude>io.fabric8</exclude>
                                    </excludes>
                                </relocation>
                            </relocations>
{code}

> 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: Critical
>             Fix For: 1.14.0
>
>         Attachments: pom.xml
>
>
> 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 recently. See links below.
> [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? I think this might require some 
> code changes since version 4 and version 5 is not that compatible.
>  
> 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