bf2fc6cc711aee1a0c2a / cos-fleetshard Goto Github PK
View Code? Open in Web Editor NEWThe cos-fleetshard-operator is responsible for provisioning and managing connectors instances on a cluster.
License: Apache License 2.0
The cos-fleetshard-operator is responsible for provisioning and managing connectors instances on a cluster.
License: Apache License 2.0
Stumbled upon this one:
2021-10-05 14:32:49,815 WARN [org.bf2.cos.fleetshard.operator.connector.ConnectorOperatorEventSource] (OkHttp https://172.21.0.1/...) Received error for watch, will try to reconnect.: io.fabric8.kubernetes.client.WatcherException: too old resource version: 30632126 (48104904)
at io.fabric8.kubernetes.client.dsl.internal.AbstractWatchManager.onStatus(AbstractWatchManager.java:273)
at io.fabric8.kubernetes.client.dsl.internal.AbstractWatchManager.onMessage(AbstractWatchManager.java:257)
at io.fabric8.kubernetes.client.dsl.internal.WatcherWebSocketListener.onMessage(WatcherWebSocketListener.java:93)
at okhttp3.internal.ws.RealWebSocket.onReadMessage(RealWebSocket.java:322)
at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.java:219)
at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:105)
at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:273)
at okhttp3.internal.ws.RealWebSocket$1.onResponse(RealWebSocket.java:209)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:174)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: io.fabric8.kubernetes.client.KubernetesClientException: too old resource version: 30632126 (48104904)
... 13 more
Is it something to be expected?
These are the features and fixes included in 5.3.0:
config.openshift.io/v1
Ingress [2]events.k8s.io
APIGroup DSL [16]Fix typo in
It should be getName
not namespaces.
When the observability secret is present the sync is unable to start with:
2022-11-24 11:27:38,803 INFO [org.bf2.cos.fleetshard.sync.client.FleetShardObservabilityClient] (main) Configuring Observatorium SSO secret
2022-11-24 11:27:39,212 ERROR [io.quarkus.runtime.Application] (main) Failed to start application (with profile prod): io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://172.30.0.1/api/v1/namespaces/redhat-openshift-connectors/secrets/redhat-openshift-connectors. Message: secrets "redhat-openshift-connectors" not found. Received status: Status(apiVersion
=v1, code=404, details=StatusDetails(causes=[], group=null, kind=secrets, name=redhat-openshift-connectors, retryAfterSeconds=null, uid=null, additionalProperties={}), kind=Status, message=secrets "
redhat-openshift-connectors" not found, metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=NotFound, status=Failure, additionalProperties={})
As today we generate the classes for every component defined in the kas-fleet-manager-private OpenApi definition but we don't need all of them so:
The openapi-generator-maven-plugin has an option typeMappings
to sets mappings between OpenAPI spec types and generated code types we can use to map generic object
types to JsonNode
. Having a JsonNode
node helps to navigate the object using Jackson facilities like JSON Pointers instead to having to manually navigate a map.
<typeMappings>object=com.fasterxml.jackson.databind.JsonNode</typeMappings>
In BDD scenarios we chould be able to change somethink like:
And the klb has annotations containing:
| trait.camel.apache.org/container.image | quay.io/lburgazzoli/mci:0.1.2-log-sink-0.1 |
in something like:
And the klb has annotations containing:
| trait.camel.apache.org/container.image | ${secret:.data.meta.conenctor_image} |
In essence, be sure that the annotation matches what it is in the managed connector secret, without having to hard-code it.
Log entry looks like:
2023-03-06 13:35:50,205 INFO [org.bf2.cos.fleetshard.sync.client.FleetShardObservabilityClient] (main) Creating Observability resource
2023-03-06 13:35:50,937 ERROR [io.quarkus.runtime.Application] (main) Failed to start application (with profile prod): com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "migrated" (class com.redhat.observability.v1.ObservabilityStatus), not marked as ignorable (6 known properties: "lastSynced", "lastMessage", "clusterId", "tokenExpires", "stage", "stageStatus"])
at [Source: (BufferedInputStream); line: 1, column: 2510] (through reference chain: com.redhat.observability.v1.Observability["status"]->com.redhat.observability.v1.ObservabilityStatus["migrated"])
This is related with the latest changes in the Observability operator where a new field Migrated was introduced
The ConnectorDeployment
metadata is defined as ConnectorDeploymentAllOfMetadata
where tha "AllOf" adds nothing:
public class ConnectorDeployment {
public static final String JSON_PROPERTY_METADATA = "metadata";
private ConnectorDeploymentAllOfMetadata metadata;
We should investigate if simpler names are possible, like ConnectorDeploymentMetadata
When using the new client, the following warning appears:
RESTEASY002160:
Provider instance org.bf2.cos.fleet.manager.api.client.ApiExceptionMapper is already registered.
2nd registration is being ignored.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.