[ 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)