Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 07:20
    rohanKanojia assigned #2684
  • 07:05
    rohanKanojia review_requested #2749
  • 07:05
    rohanKanojia review_requested #2749
  • 07:05
    rohanKanojia review_requested #2749
  • 07:04
    rohanKanojia edited #2749
  • 06:30
    rohanKanojia review_requested #2754
  • 06:29
    rohanKanojia review_requested #2754
  • 06:22
    salunkhe-ravi starred fabric8io/kubernetes-client
  • 03:39
    daemonlyi starred fabric8io/kubernetes-client
  • Jan 27 22:19
    sonarcloud[bot] commented #2754
  • Jan 27 22:01
    SunithaR commented #2753
  • Jan 27 21:59
    centos-ci commented #2754
  • Jan 27 21:59
    SunithaR opened #2754
  • Jan 27 20:46
    SunithaR commented #1075
  • Jan 27 20:45
    SunithaR opened #2753
  • Jan 27 19:54
    rohanKanojia commented #1075
  • Jan 27 19:33
    SunithaR commented #1075
  • Jan 27 19:33
    SunithaR commented #1075
  • Jan 27 19:33
    SunithaR commented #1075
  • Jan 27 19:32
    SunithaR commented #1075
Marc Nuri
@manusa
REST endpoints are inferred from the CRD context, so I'm quite positive this functionality is not implemented yet
Sachin Mittal
@sjmittal
ok
Marc Nuri
@manusa
Not sure either how would that be approachable
especially if you take into account multiversioned CRDs
Anyway, if you're interested in this feature or you find it useful, please open an issue
Jakub Cechacek
@jcechace

@rohanKanojia Hi.. So after holidays, I'm back on the SR stuff and there seems to be an issue with the generated classes. createOrReplace request ends with

io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: PUT at: https://api.cluster.dbz.cechacek.net:6443/apis/apicur.io/v1alpha1/namespaces/debezium-registry/apicurioregistries/debezium-registry. Message: ApicurioRegistry.apicur.io "debezium-registry" is invalid: [spec.configuration.infinispan: Invalid value: "null": spec.configuration.infinispan in body must be of type object: "null", spec.configuration.kafka: Invalid value: "null": spec.configuration.kafka in body must be of type object: "null", spec.configuration.logLevel: Invalid value: "null": spec.configuration.logLevel in body must be of type string: "null", spec.configuration.streams.applicationServerPort: Invalid value: "null": spec.configuration.streams.applicationServerPort in body must be of type string: "null", spec.configuration.streams.security: Invalid value: "null": spec.configuration.streams.security in body must be of type object: "null", ....

I suspect some issues with deserialisation.

These are all basically optional fields
Rohan Kumar
@rohanKanojia
Umm, Do you have your branch somewhere which I can pull and reproduce?
It's not required in newer versions of client but might be required in old versions
I will try the deseliarizer
Jakub Cechacek
@jcechace
@rohanKanojia no luck. Retrieving ApicurioRegistry object from cluster works fine. Creating one leads to the issue above.
Jakub Cechacek
@jcechace
@rohanKanojia is there a way to log/print out the HTTP request sent to the server?
Rohan Kumar
@rohanKanojia
I think you should be able to do it via configuring slf4j: https://github.com/fabric8io/kubernetes-client/issues/2526#issuecomment-706910918
Rohan Kumar
@rohanKanojia
Do you have that yaml manifest you apply in deployRegistry
Rohan Kumar
@rohanKanojia
Are you able to create it with kubectl? From error it looks like your customresource is not aligned with CRD validation schema
I think you would need to add this in your POJO:
@JsonProperty("logLevel")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String logLevel;
@rohanKanojia and yes I can create it through either oc apply or via ocp admin console
The descriptor itself is crtainly not the issue here as that was the first thing I checked
Rohan Kumar
@rohanKanojia
ohk, What is the payload you see being sent to Kubernetes APIServer by client during POST?
Jakub Cechacek
@jcechace
WIll check afer meeting. Since the suite itself uses okhttp there seems to be some issues with version of interceptor
java.lang.NoSuchMethodError: okhttp3.internal.platform.Platform.log(ILjava/lang/String;Ljava/lang/Throwable;)V
Jakub Cechacek
@jcechace
{
    "apiVersion": "apicur.io/v1alpha1",
    "kind": "ApicurioRegistry",
    "metadata": {
        "name": "debezium-registry",
        "resourceVersion": "655561"
    },
    "spec": {
        "configuration": {
            "dataSource": null,
            "infinispan": null,
            "kafka": null,
            "logLevel": null,
            "persistence": "streams",
            "streams": {
                "applicationId": "debezium-registry",
                "applicationServerPort": null,
                "bootstrapServers": "debezium-kafka-cluster-kafka-bootstrap.debezium.svc.cluster.local:9092",
                "security": null,
                "additionalProperties": {}
            },
            "ui": null,
            "additionalProperties": {}
        },
        "deployment": null,
        "image": null,
        "additionalProperties": {}
    },
    "status": null,
    "additionalProperties": {}
}
So yes, the issues indeed seems to be that things like "spec.image" are null as default value... which imho should be considered empty
What I seem to need here is not to include empty properties
Rohan Kumar
@rohanKanojia
I'm sorry. I think it should be @JsonInclude(Include.NON_NULL)
Jakub Cechacek
@jcechace
Still how can I influece whethr this gets added to the generated ApicurioRegistry class?
My guess is that the annotations are determined by
<customAnnotator>io.fabric8.kubernetes.ModelAnnotator</customAnnotator>
Jakub Cechacek
@jcechace
Hmm interesting.. apparently your generator example uses kinda old jsonschema2pojo plugin version, I will try to update it and see what happens
Rohan Kumar
@rohanKanojia
ohk
Jakub Cechacek
@jcechace
ok it doesn't work with anything newer than 0.5.1 (some setter e.g. setMetadata() from HasMetadata interface are not generated) however I managed to add the NON_NULL annotation, going to try it with OCP now
Jakub Cechacek
@jcechace
Hmm I had to stick with the old version of jsonschema2pojo due to jitpack.io not being able to properly resolve dependencies with newer beuilds. However it seems to work with the NON_NULL configuration. Thank you!
Rohan Kumar
@rohanKanojia
phew, cool.
Marc Nuri
@manusa
Starting release process for v4.13.1
Florian Wiesner
@FWiesner
hi guys - any hint on how to use the dry-run feature with the Java client lib?
Marc Nuri
@manusa
I think we still need to add the flag to the DSL IIRC there's already an issue for that
Florian Wiesner
@FWiesner
thanks! Well, This is a pity that it’s not yet supported
Rohan Kumar
@rohanKanojia
Umm, we will try to pick this up in our next sprint.
If you have some time, maybe you can contribute a PR. I think we only need to add an additional queryParameter in request in order to support this.
Florian Wiesner
@FWiesner

If you have some time, maybe you can contribute a PR. I think we only need to add an additional queryParameter in request in order to support this.

well, I am forwarding this to our management. Hope I get some capacity assigned to this. It’s a significant feature to us to validate a bunch of documents that reference each other upfront. The admission webhook in our case will see the dry run and use externally stored documents instead of the state of the cluster in case of dry-run. But, not being able to simulate the change request, is obviously a blocker :D

Rohan Kumar
@rohanKanojia
Hmm, ohk
Rohan Kumar
@rohanKanojia
This Sprint's Demo regarding Fabric8 Kubernetes Client 5.0.0 CustomResource Improvements: https://www.youtube.com/watch?v=JAz74FI16hs
Srinivas
@Sriniva63328880_twitter
Hi
Marc Nuri
@manusa
:wave:
Marc Nuri
@manusa
Starting release process for 5.0.1