Skip to content

Instantly share code, notes, and snippets.

@tarokkk
Last active February 19, 2022 10:56
Show Gist options
  • Save tarokkk/be24d9c1fde100b21150fa26a6031ce9 to your computer and use it in GitHub Desktop.
Save tarokkk/be24d9c1fde100b21150fa26a6031ce9 to your computer and use it in GitHub Desktop.
Fluvio errors

Kubernetes versuion: Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.6", GitCommit:"8a62859e515889f07e3e3be6a1080413f17cf2c3", GitTreeState:"clean", BuildDate:"2021-04-15T03:19:55Z", GoVersion:"go1.15.10", Compiler:"gc", Platform:"linux/amd64"}

First attempt with latest CLI

$ fluvio cluster start
Current channel: stable
📝 Running pre-flight checks
    ✅ Kubectl active cluster kubernetes-admin@mcom-0-9-0 at: https://34.254.26.179:6443 found
    ✅ Supported helm version 3.6.1+g61d8e8c is installed
    ✅ Supported Kubernetes server 1.20.6 found
    ✅ Fixed: Fluvio Sys chart 0.9.20 is installed
    ✅ Previous fluvio installation not found
🎉 All checks passed!
Error:
   0: Fluvio cluster error
   1: Failed to install Fluvio on Kubernetes
   2: Kubernetes client error
   3: error trying to connect: tls handshake: HandshakeError: the handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1916:: unable to get issuer certificate
   4: error trying to connect: tls handshake: HandshakeError: the handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1916:: unable to get issuer certificate
   5: tls handshake: HandshakeError: the handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1916:: unable to get issuer certificate
   6: tls handshake: HandshakeError: the handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1916:: unable to get issuer certificate

Then I switched to install from Helm chart. Helm chart that needed a bit of fine tuning (missing AppVersion from Chart

diff --git a/k8-util/helm/fluvio-app/Chart.yaml b/k8-util/helm/fluvio-app/Chart.yaml
index d31e639c..29c944bf 100644
--- a/k8-util/helm/fluvio-app/Chart.yaml
+++ b/k8-util/helm/fluvio-app/Chart.yaml
@@ -2,4 +2,5 @@ apiVersion: v2
 name: fluvio-app
 description: A Helm chart for Fluvio
 type: application
-version: 0.9.2
+version: 0.9.20
+AppVersion: 0.9.20

After that the install is succesfull and the we have th sc pod

$ kubectl get po -n fluvio
NAME                         READY   STATUS        RESTARTS   AGE
fluvio-sc-5554c7649b-c2hnh   1/1     Running       0          12s

The problem is that we have Handshake error in the server as well

2022-02-19T10:38:12.427034Z ERROR K8StateDispatcher{spec="DerivedStream" namespace="fluvio"}: fluvio_stream_dispatcher::dispatcher::k8_dispatcher: error with reconcillation loop: Custom {
    kind: InvalidData,
    error: "error retrieving k8: HyperError(hyper::Error(Connect, IoError(Custom { kind: Other, error: \"tls handshake: HandshakeError: the handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1916:: unable to get issuer certificate\" })))",
}, sleep 10 seconds
2022-02-19T10:38:12.430324Z ERROR K8StateDispatcher{spec="SpgService" namespace="fluvio"}: fluvio_stream_dispatcher::dispatcher::k8_dispatcher: error with reconcillation loop: Custom {
    kind: InvalidData,
    error: "error retrieving k8: HyperError(hyper::Error(Connect, IoError(Custom { kind: Other, error: \"tls handshake: HandshakeError: the handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1916:: unable to get issuer certificate\" })))",
}, sleep 10 seconds

And obviously it won't reconcile any object lige SPU group

apiVersion: "fluvio.infinyon.com/v1"
kind: SpuGroup
metadata:
  name: "group1"
spec:
  replicas: 1
  minId:  10
$ kubectl apply -f spugroup.yaml -n fluvio
$ kubectl get po -n fluvio                                                                                                                   *[master]
NAME                         READY   STATUS    RESTARTS   AGE
fluvio-sc-5554c7649b-q8x2s   1/1     Running   0          107s

I tried with older version of fluvio (0.9.10) that don't have the Handshake error. But I assume there is a compatibility issue with the Event format.

In this case the SPU pod started:

kubectl get po -n fluvio
NAME                         READY   STATUS    RESTARTS   AGE
fluvio-sc-574d8779d7-5zvhn   1/1     Running   0          4m12s
fluvio-spg-group1-0          1/1     Running   0          5m34s

But the Event of topic creation not working

Feb 19 10:47:50.254  INFO accept_incoming{self=FluvioApiServer("0.0.0.0:9003")}: fluvio_service::server: Received connection, spawning request handler
Feb 19 10:47:50.255  INFO handle_request{host="0.0.0.0:9003"}: fluvio_service::server: Response sent successfully, closing connection host=0.0.0.0:9003 peer_addr=10.20.4.17:30930
Feb 19 10:47:56.933 ERROR K8StateDispatcher{spec="Topic" namespace="fluvio"}: k8_client::client::client_impl: parsing error, chunk_len: 951, error: missing field `type` at line 1 column 949
Feb 19 10:47:56.933 ERROR K8StateDispatcher{spec="Topic" namespace="fluvio"}: k8_client::client::client_impl: error raw stream {"type":"ADDED","object":{"apiVersion":"fluvio.infinyon.com/v1","kind":"Topic","metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"fluvio.infinyon.com/v2\",\"kind\":\"Topic\",\"metadata\":{\"annotations\":{},\"name\":\"topic1\",\"namespace\":\"fluvio\"},\"spec\":{\"replicas\":{\"computed\":{\"partitions\":1,\"replicationFactor\":1}}}}\n"},"creationTimestamp":"2022-02-19T10:47:56Z","generation":1,"managedFields":[{"apiVersion":"fluvio.infinyon.com/v2","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubectl.kubernetes.io/last-applied-configuration":{}}},"f:spec":{".":{},"f:replicas":{".":{},"f:computed":{".":{},"f:partitions":{},"f:replicationFactor":{}}}}},"manager":"kubectl-client-side-apply","operation":"Update","time":"2022-02-19T10:47:56Z"}],"name":"topic1","namespace":"fluvio","resourceVersion":"1284435","uid":"78fb64e0-ddab-4726-8fa2-258480369047"},"spec":{}}}
Feb 19 10:47:56.933 ERROR K8StateDispatcher{spec="Topic" namespace="fluvio"}:k8_watch_events_to_metadata_actions: fluvio_stream_dispatcher::dispatcher::k8_dispatcher::convert: Problem parsing Topic event: missing field `type` at line 1 column 949 ... (exiting)
NAME     PARTITIONS   REPLICATIONS   RETENTION(SECS)   STATUS
topic1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment