Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ConnectorClusterState enum values don't reflect the values returned by the cos-fleetmanager #207

Closed
tplevko opened this issue Feb 22, 2022 · 2 comments

Comments

@tplevko
Copy link

tplevko commented Feb 22, 2022

I'm hitting following issue when trying to use createConnectorCluster method from connector-management-sdk:

ConnectFleetshardTest > testConnectCluster() FAILED
    javax.ws.rs.ProcessingException: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.openshift.cloud.api.connector.models.ConnectorClusterState`, problem: Unexpected value 'unconnected'
     at [Source: (org.jboss.resteasy.specimpl.AbstractBuiltResponse$InputStreamWrapper); line: 1, column: 308] (through reference chain: com.openshift.cloud.api.connector.models.ConnectorCluster["status"]->com.openshift.cloud.api.connector.models.ConnectorClusterStatusStatus["state"])
        at app//org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:254)
        at app//org.jboss.resteasy.specimpl.BuiltResponse.readEntity(BuiltResponse.java:90)
        at app//org.jboss.resteasy.specimpl.AbstractBuiltResponse.readEntity(AbstractBuiltResponse.java:270)
        at app//com.openshift.cloud.api.connector.invoker.ApiClient.deserialize(ApiClient.java:528)
        at app//com.openshift.cloud.api.connector.invoker.ApiClient.invokeAPI(ApiClient.java:682)
        at app//com.openshift.cloud.api.connector.ConnectorClustersApi.createConnectorCluster(ConnectorClustersApi.java:89)
        at app//org.bf2.cos.e2e.client.RhocMgmt.registerCluster(RhocMgmt.kt:52)
        at app//org.bf2.cos.e2e.ConnectFleetshardTest.testConnectCluster(ConnectFleetshardTest.kt:15)

        Caused by:
        com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.openshift.cloud.api.connector.models.ConnectorClusterState`, problem: Unexpected value 'unconnected'
         at [Source: (org.jboss.resteasy.specimpl.AbstractBuiltResponse$InputStreamWrapper); line: 1, column: 308] (through reference chain: com.openshift.cloud.api.connector.models.ConnectorCluster["status"]->com.openshift.cloud.api.connector.models.ConnectorClusterStatusStatus["state"])
            at app//com.fasterxml.jackson.databind.exc.ValueInstantiationException.from(ValueInstantiationException.java:47)
            at app//com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:1907)
            at app//com.fasterxml.jackson.databind.DeserializationContext.handleInstantiationProblem(DeserializationContext.java:1260)
            at app//com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:168)
            at app//com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:324)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
            at app//com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:324)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
            at app//com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:322)
            at app//com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:2007)
            at app//com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1174)
            at app//org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.readFrom(ResteasyJackson2Provider.java:193)
            at app//org.jboss.resteasy.core.interception.jaxrs.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:101)
            at app//org.jboss.resteasy.core.interception.jaxrs.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:80)
            at app//org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:217)
            ... 7 more

            Caused by:
            java.lang.IllegalArgumentException: Unexpected value 'unconnected'
                at com.openshift.cloud.api.connector.models.ConnectorClusterState.fromValue(ConnectorClusterState.java:56)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:566)
                at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.callOnWith(AnnotatedMethod.java:115)
                at com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:160)
                ... 20 more

Seems like there is different set of values in ConnectorClusterState, compared to what is returned by cos-fleetmanager API
https://github.com/redhat-developer/app-services-sdk-java/blob/main/packages/connector-management-sdk/api/openapi.yaml#L1273-L1277

compared with:
https://github.com/bf2fc6cc711aee1a0c2a/kas-fleet-manager/blob/main/internal/connector/internal/api/dbapi/connector_cluster.go#L16-L25

@wtrocki
Copy link
Collaborator

wtrocki commented Feb 22, 2022

That would be API contract issue that should be fixed in source openapi.
I would suggest to log that directly on kas-fleet-manager repository

@wtrocki
Copy link
Collaborator

wtrocki commented Jul 6, 2022

Fixed

@wtrocki wtrocki closed this as completed Jul 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants