Emmerson created CAMEL-15519:
--------------------------------

             Summary: kubernetes-pods consumer raise a No type converter 
available exception
                 Key: CAMEL-15519
                 URL: https://issues.apache.org/jira/browse/CAMEL-15519
             Project: Camel
          Issue Type: Wish
          Components: camel-kubernetes
    Affects Versions: 3.4.2
            Reporter: Emmerson


Hello,

I am testing kubernetes-pods consumer and in the first test it works fine, then 
I run a kubernetes job (this create internally a Pod) and I get a "_No type 
converter available_" exception in the console.

 

The pod consumer source code is here: 
[https://github.com/Emmerson-Miranda/camel/blob/master/camel3-cdi/cdi-k8s-pocs/src/main/java/edu/emmerson/camel/k8s/jobs/camel_k8s_jobs/KubernetesRouteConsumerPods.java]

 

The pod creation source code is here 
[https://github.com/Emmerson-Miranda/camel/blob/master/camel3-cdi/cdi-k8s-pocs/src/main/java/edu/emmerson/camel/k8s/jobs/camel_k8s_jobs/KubernetesCreateJob.java]

 

 

*Bellow the stacktrace* 

[ https://192.168.64.3:8443/...] KubernetesRouteConsumerPods INFO KEEPING pod 
name: job-1599734811571-rls7l
[ XNIO-1 task-1] UndertowConsumer WARN Caused by: 
[org.apache.camel.NoTypeConversionAvailableException - No type converter 
available to convert from type: io.fabric8.kubernetes.api.model.batch.Job to 
the required type: java.nio.ByteBuffer with value Job(apiVersion=batch/v1, 
kind=Job, metadata=ObjectMeta(annotations=null, clusterName=null, 
creationTimestamp=2020-09-10T10:46:51Z, deletionGracePeriodSeconds=null, 
deletionTimestamp=null, finalizers=[], generateName=null, generation=null, 
labels=\{app=jobFromCamelApp, jobLabelKey1=value1, jobLabelKey2=value2}, 
managedFields=[ManagedFieldsEntry(apiVersion=batch/v1, fieldsType=FieldsV1, 
fieldsV1=FieldsV1(additionalProperties=\{f:metadata={f:labels={.={}, f:app={}, 
f:jobLabelKey1={}, f:jobLabelKey2={}}}, f:spec=\{f:activeDeadlineSeconds={}, 
f:backoffLimit={}, f:completions={}, f:parallelism={}, 
f:template=\{f:metadata={f:annotations={.={}, f:jobMetadataAnnotation1={}}, 
f:labels=\{.={}, f:app={}, f:orderId={}, f:podLabelKey1={}, 
f:podLabelKey2={}}}, f:spec=\{f:containers={k:{"name":"pi"}=\{.={}, 
f:command={}, f:image={}, f:imagePullPolicy={}, f:name={}, f:resources={}, 
f:terminationMessagePath={}, f:terminationMessagePolicy={}}}, f:dnsPolicy={}, 
f:restartPolicy={}, f:schedulerName={}, f:securityContext={}, 
f:terminationGracePeriodSeconds={}}}, f:ttlSecondsAfterFinished={}}}), 
manager=okhttp, operation=Update, time=2020-09-10T10:46:51Z, 
additionalProperties={})], name=job-1599734811571, namespace=default, 
ownerReferences=[], resourceVersion=1688691, 
selfLink=/apis/batch/v1/namespaces/default/jobs/job-1599734811571, 
uid=df5c8ed7-1436-4c57-854a-5703fa3baed8, additionalProperties={}), 
spec=JobSpec(activeDeadlineSeconds=7200, backoffLimit=6, completions=1, 
manualSelector=null, parallelism=1, selector=LabelSelector(matchExpressions=[], 
matchLabels=\{controller-uid=df5c8ed7-1436-4c57-854a-5703fa3baed8}, 
additionalProperties={}), 
template=PodTemplateSpec(metadata=ObjectMeta(annotations=\{jobMetadataAnnotation1=random
 value}, clusterName=null, creationTimestamp=null, 
deletionGracePeriodSeconds=null, deletionTimestamp=null, finalizers=[], 
generateName=null, generation=null, labels=\{app=podFromCamelApp, 
controller-uid=df5c8ed7-1436-4c57-854a-5703fa3baed8, 
job-name=job-1599734811571, orderId=54702d2c-554b-4fa8-91ef-9e4e7abfe055, 
podLabelKey1=value1, podLabelKey2=value2}, managedFields=[], name=null, 
namespace=null, ownerReferences=[], resourceVersion=null, selfLink=null, 
uid=null, additionalProperties={}), spec=PodSpec(activeDeadlineSeconds=null, 
affinity=null, automountServiceAccountToken=null, 
containers=[Container(args=[], command=[echo, Job created from Apache Camel 
code at Thu Sep 10 11:46:51 BST 2020], env=[], envFrom=[], image=perl, 
imagePullPolicy=Always, lifecycle=null, livenessProbe=null, name=pi, ports=[], 
readinessProbe=null, resources=ResourceRequirements(limits=null, requests=null, 
additionalProperties={}), securityContext=null, startupProbe=null, stdin=null, 
stdinOnce=null, terminationMessagePath=/dev/termination-log, 
terminationMessagePolicy=File, tty=null, volumeDevices=[], volumeMounts=[], 
workingDir=null, additionalProperties={})], dnsConfig=null, 
dnsPolicy=ClusterFirst, enableServiceLinks=null, ephemeralContainers=[], 
hostAliases=[], hostIPC=null, hostNetwork=null, hostPID=null, hostname=null, 
imagePullSecrets=[], initContainers=[], nodeName=null, nodeSelector=null, 
overhead=null, preemptionPolicy=null, priority=null, priorityClassName=null, 
readinessGates=[], restartPolicy=OnFailure, runtimeClassName=null, 
schedulerName=default-scheduler, 
securityContext=PodSecurityContext(fsGroup=null, fsGroupChangePolicy=null, 
runAsGroup=null, runAsNonRoot=null, runAsUser=null, seLinuxOptions=null, 
supplementalGroups=[], sysctls=[], windowsOptions=null, 
additionalProperties={}), serviceAccount=null, serviceAccountName=null, 
shareProcessNamespace=null, subdomain=null, terminationGracePeriodSeconds=30, 
tolerations=[], topologySpreadConstraints=[], volumes=[], 
additionalProperties={}), additionalProperties={}), 
ttlSecondsAfterFinished=null, additionalProperties={}), 
status=JobStatus(active=null, completionTime=null, conditions=[], failed=null, 
startTime=null, succeeded=null, additionalProperties={}), 
additionalProperties={})]
org.apache.camel.NoTypeConversionAvailableException: No type converter 
available to convert from type: io.fabric8.kubernetes.api.model.batch.Job to 
the required type: java.nio.ByteBuffer with value Job(apiVersion=batch/v1, 
kind=Job, metadata=ObjectMeta(annotations=null, clusterName=null, 
creationTimestamp=2020-09-10T10:46:51Z, deletionGracePeriodSeconds=null, 
deletionTimestamp=null, finalizers=[], generateName=null, generation=null, 
labels=\{app=jobFromCamelApp, jobLabelKey1=value1, jobLabelKey2=value2}, 
managedFields=[ManagedFieldsEntry(apiVersion=batch/v1, fieldsType=FieldsV1, 
fieldsV1=FieldsV1(additionalProperties=\{f:metadata={f:labels={.={}, f:app={}, 
f:jobLabelKey1={}, f:jobLabelKey2={}}}, f:spec=\{f:activeDeadlineSeconds={}, 
f:backoffLimit={}, f:completions={}, f:parallelism={}, 
f:template=\{f:metadata={f:annotations={.={}, f:jobMetadataAnnotation1={}}, 
f:labels=\{.={}, f:app={}, f:orderId={}, f:podLabelKey1={}, 
f:podLabelKey2={}}}, f:spec=\{f:containers={k:{"name":"pi"}=\{.={}, 
f:command={}, f:image={}, f:imagePullPolicy={}, f:name={}, f:resources={}, 
f:terminationMessagePath={}, f:terminationMessagePolicy={}}}, f:dnsPolicy={}, 
f:restartPolicy={}, f:schedulerName={}, f:securityContext={}, 
f:terminationGracePeriodSeconds={}}}, f:ttlSecondsAfterFinished={}}}), 
manager=okhttp, operation=Update, time=2020-09-10T10:46:51Z, 
additionalProperties={})], name=job-1599734811571, namespace=default, 
ownerReferences=[], resourceVersion=1688691, 
selfLink=/apis/batch/v1/namespaces/default/jobs/job-1599734811571, 
uid=df5c8ed7-1436-4c57-854a-5703fa3baed8, additionalProperties={}), 
spec=JobSpec(activeDeadlineSeconds=7200, backoffLimit=6, completions=1, 
manualSelector=null, parallelism=1, selector=LabelSelector(matchExpressions=[], 
matchLabels=\{controller-uid=df5c8ed7-1436-4c57-854a-5703fa3baed8}, 
additionalProperties={}), 
template=PodTemplateSpec(metadata=ObjectMeta(annotations=\{jobMetadataAnnotation1=random
 value}, clusterName=null, creationTimestamp=null, 
deletionGracePeriodSeconds=null, deletionTimestamp=null, finalizers=[], 
generateName=null, generation=null, labels=\{app=podFromCamelApp, 
controller-uid=df5c8ed7-1436-4c57-854a-5703fa3baed8, 
job-name=job-1599734811571, orderId=54702d2c-554b-4fa8-91ef-9e4e7abfe055, 
podLabelKey1=value1, podLabelKey2=value2}, managedFields=[], name=null, 
namespace=null, ownerReferences=[], resourceVersion=null, selfLink=null, 
uid=null, additionalProperties={}), spec=PodSpec(activeDeadlineSeconds=null, 
affinity=null, automountServiceAccountToken=null, 
containers=[Container(args=[], command=[echo, Job created from Apache Camel 
code at Thu Sep 10 11:46:51 BST 2020], env=[], envFrom=[], image=perl, 
imagePullPolicy=Always, lifecycle=null, livenessProbe=null, name=pi, ports=[], 
readinessProbe=null, resources=ResourceRequirements(limits=null, requests=null, 
additionalProperties={}), securityContext=null, startupProbe=null, stdin=null, 
stdinOnce=null, terminationMessagePath=/dev/termination-log, 
terminationMessagePolicy=File, tty=null, volumeDevices=[], volumeMounts=[], 
workingDir=null, additionalProperties={})], dnsConfig=null, 
dnsPolicy=ClusterFirst, enableServiceLinks=null, ephemeralContainers=[], 
hostAliases=[], hostIPC=null, hostNetwork=null, hostPID=null, hostname=null, 
imagePullSecrets=[], initContainers=[], nodeName=null, nodeSelector=null, 
overhead=null, preemptionPolicy=null, priority=null, priorityClassName=null, 
readinessGates=[], restartPolicy=OnFailure, runtimeClassName=null, 
schedulerName=default-scheduler, 
securityContext=PodSecurityContext(fsGroup=null, fsGroupChangePolicy=null, 
runAsGroup=null, runAsNonRoot=null, runAsUser=null, seLinuxOptions=null, 
supplementalGroups=[], sysctls=[], windowsOptions=null, 
additionalProperties={}), serviceAccount=null, serviceAccountName=null, 
shareProcessNamespace=null, subdomain=null, terminationGracePeriodSeconds=30, 
tolerations=[], topologySpreadConstraints=[], volumes=[], 
additionalProperties={}), additionalProperties={}), 
ttlSecondsAfterFinished=null, additionalProperties={}), 
status=JobStatus(active=null, completionTime=null, conditions=[], failed=null, 
startTime=null, succeeded=null, additionalProperties={}), 
additionalProperties={})
 at 
org.apache.camel.impl.converter.CoreTypeConverterRegistry.mandatoryConvertTo(CoreTypeConverterRegistry.java:216)
 ~[camel-base-3.4.2.jar:3.4.2]
 at 
org.apache.camel.impl.converter.CoreTypeConverterRegistry.mandatoryConvertTo(CoreTypeConverterRegistry.java:168)
 ~[camel-base-3.4.2.jar:3.4.2]
 at 
org.apache.camel.component.undertow.UndertowConsumer.sendResponse(UndertowConsumer.java:259)
 ~[camel-undertow-3.4.2.jar:3.4.2]
 at 
org.apache.camel.component.undertow.UndertowConsumer.handleRequest(UndertowConsumer.java:231)
 [camel-undertow-3.4.2.jar:3.4.2]
 at io.undertow.server.Connectors.executeRootHandler(Connectors.java:370) 
[undertow-core-2.1.2.Final.jar:2.1.2.Final]
 at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830) 
[undertow-core-2.1.2.Final.jar:2.1.2.Final]
 at 
org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
 [jboss-threads-3.1.0.Final.jar:3.1.0.Final]
 at 
org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019)
 [jboss-threads-3.1.0.Final.jar:3.1.0.Final]
 at 
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558)
 [jboss-threads-3.1.0.Final.jar:3.1.0.Final]
 at 
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1423)
 [jboss-threads-3.1.0.Final.jar:3.1.0.Final]
 at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
[ https://192.168.64.3:8443/...] KubernetesRouteConsumerPods INFO Got event 
from Pod: job-1599734811571-rls7l, action: MODIFIED Phase: Pending



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

Reply via email to