Skip to content

Commit 857cb1b

Browse files
author
Vivek M
committed
To add more context in the response packets from terminator to Kafka so that jtimon process them appropriately.
1 parent 72c1847 commit 857cb1b

14 files changed

+477
-83
lines changed

Dockerfile

+2
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ COPY --from=builder /usr/local/bin/jtimon /usr/local/bin/jtimon
1919

2020
VOLUME /u
2121
WORKDIR /u
22+
RUN mkdir -p certs/self_signed/
23+
COPY ./certs/self_signed/ certs/self_signed
2224
ENTRYPOINT ["/usr/local/bin/jtimon"]

certs/self_signed/ca-cert.pem

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIFtjCCA54CCQCJbjvV2AAiHjANBgkqhkiG9w0BAQsFADCBmzELMAkGA1UEBhMC
3+
SU4xEjAQBgNVBAgMCUtBUk5BVEFLQTESMBAGA1UEBwwJQkFOR0FMT1JFMRAwDgYD
4+
VQQKDAdKVU5JUEVSMQ0wCwYDVQQLDARFUElDMSAwHgYDVQQDDBdqY2xvdWRfZGVt
5+
by5qdW5pcGVyLm5ldDEhMB8GCSqGSIb3DQEJARYSbXZpdmVrQGp1bmlwZXIubmV0
6+
MCAXDTIyMDQwNjIxMTMyNVoYDzMwMjEwODA3MjExMzI1WjCBmzELMAkGA1UEBhMC
7+
SU4xEjAQBgNVBAgMCUtBUk5BVEFLQTESMBAGA1UEBwwJQkFOR0FMT1JFMRAwDgYD
8+
VQQKDAdKVU5JUEVSMQ0wCwYDVQQLDARFUElDMSAwHgYDVQQDDBdqY2xvdWRfZGVt
9+
by5qdW5pcGVyLm5ldDEhMB8GCSqGSIb3DQEJARYSbXZpdmVrQGp1bmlwZXIubmV0
10+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuQwSXON+/YU94y7LC5xx
11+
/ABKG2G2es4j+dtUIZy+dU+OuQi7lOxgGjDiAq4GrU6nKsvhrtTF7rPiChyFf6jk
12+
8chTRiHTW+7YN3GQj5S58ZjGX1edPN4+MdtV9ygMSoTWWtk+Jc0T5OIuNSTx9Oov
13+
C0PLWkbTKXQXWVVSc+q/5Qfa6YYb/Pb/8lzCyC7xBF8Zo1uf21B2AFj6Mz9TtDG6
14+
2IBRmHkdFHZd96AS69gyUyLyZquNmGhMueBweUroM2lEdonsJawVLE6PNifXmjQB
15+
4q37GbU/4MJKkegrRR41KN9VbPDWBxmSAFiXYLxPTl+i33MDjPduHr1ijA3D1k8u
16+
SGTRJ+gxdxuUWWZWaHhqoPVyS0Jsv6hCfh+hjY4AUXkVAwdDiZBaVAoEzfzpsCK5
17+
OOQuUBD4IzN7Hq2R9FY7MJ58wU31roSpNJP0Ev+ab3nUaF0/w+SeKU7kPqkRo8+K
18+
BhfJuZq1W5A8e69nDZhBUBNQ+cYCnPtAJKHD7ZJb12dzc1TBYeZVc8QOnKFnaD+S
19+
8HVPuVDQ5T1VildIzsyKVmrCXFOZJTbrRfNfaYHxU380QrLBcijviwLf9FGrQAqf
20+
2nYX+3SH1KgpH/3+V6qvbGVGCs58fZVy/Ly/Jk5CvqPQ1yCSOnSqsW/+dwz40aem
21+
Wvp5K0FDzi1gtOqbj2vNXy8CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEApCAjoqMq
22+
u1KJArS6GyQBhmI/zykHdjOAjAIiQhcEoxNBumS1/z/ljxkKA6xhCrpB4OifdRsO
23+
65Q/CVM3xn/8ER9lMMc4zsHzkM0pdrQi+Rm7toW0TSyUQfpZjkr7YQcX6LmFaQRd
24+
PiKQ5HjKQGDhAFSMmYCM+6TozneZA6F9DCU1OGYjGcpFldtu+0/I+yE8d7MbfhSq
25+
tIOkfnJwlp9mSyATqWPjuf13FVYjmFHbOQJJpRPPPnTZLujqtZKG/LbiISjwMv71
26+
keKdrKApB37o6QbZKaHysYRTyF4l+wbD/uHXrajTwkJCRSY8iqf4P5jJzoX8256C
27+
3pk1N+ZjcRf/XjWVNEjrnOkf7oDnWLezRUCwiLFq+rHQmqkhAJl50trvbnFm+Ngd
28+
iO0UcNACFCvhz+4qH2rX1XnImpJqAYHAAoMGopEKirRjaY1ZY47Te1Q6uknudemU
29+
TK1QbVU4vfJvMf2mY+Dycg5uZ31PZKEpb/vO125355BpvAt0WYMG94Jn72MAVkPO
30+
GYLaiI6FBswUYY3RID+g2ftrLpZje6b4P8bKArNgEc++2vIBkleXjaRKQviv2hvZ
31+
lx0mjFMX8xkRwAO5Ar5OlrGgUE65QWPj+TrrQdODCbZUi89lOfaOO5RblsiP4O5S
32+
P6dJn8aee90T+aUYdTb3nxz2+olHbZoU5ec=
33+
-----END CERTIFICATE-----

certs/self_signed/server-cert.pem

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIHPTCCBSWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBmzELMAkGA1UEBhMCSU4x
3+
EjAQBgNVBAgMCUtBUk5BVEFLQTESMBAGA1UEBwwJQkFOR0FMT1JFMRAwDgYDVQQK
4+
DAdKVU5JUEVSMQ0wCwYDVQQLDARFUElDMSAwHgYDVQQDDBdqY2xvdWRfZGVtby5q
5+
dW5pcGVyLm5ldDEhMB8GCSqGSIb3DQEJARYSbXZpdmVrQGp1bmlwZXIubmV0MB4X
6+
DTIyMDQwNjIyMTMyOFoXDTI2MTAxMjIyMTMyOFowgZsxCzAJBgNVBAYTAklOMRIw
7+
EAYDVQQIDAlLQVJOQVRBS0ExEjAQBgNVBAcMCUJBTkdBTE9SRTEQMA4GA1UECgwH
8+
SlVOSVBFUjENMAsGA1UECwwERVBJQzEgMB4GA1UEAwwXamNsb3VkX2RlbW8uanVu
9+
aXBlci5uZXQxITAfBgkqhkiG9w0BCQEWEm12aXZla0BqdW5pcGVyLm5ldDCCAiIw
10+
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALOA4rGsPO89Dd97hs8mVoPK07J1
11+
im+jTfjuH3OATYQmzANqdy46hjhoOqAHzcJd/qU0RYZBhF323EpvPzZQc1/uD8XG
12+
GL0Gpnl+qkEz+ey6QAF1MqVrWaSFzX0ONhGAUTBgA+xZjHWNckzljxOsVY6Pia3Z
13+
JQ7LWefDs7zTPjox9VDsdHta7bfsg2OiAStQG8j7Yx5YFyXCNxx6sDwuT+0k+wD9
14+
Vh8r8UmSCUJFZY3qfoU+SUT71R00U/zofywPiRugg4x69poZvG3bn54u2XNohTmp
15+
/D8GvNbzoQRyFDzKT1fQgPJ+4tmbDJKgPY8fb3soxmRSGEfT6uwSJH1930gqJ/xJ
16+
q9AD1csqN6wjx+WpAz1ti13XU/j/pQDSFj9TTNLJJjo3N/9gRfj7tAfWjtBjCEvn
17+
OJfS1aiLEIQjOuyEhFj9qB85z6/kAVueGplRERZ2a5M5TJApyyGqbyHPfZfA5/6l
18+
v8IuuTZfN1an0Omv80wUvW356nUDnoxunuohuD1TvPkcUi3PDvSh0uzD23d1PZj6
19+
TrUiZzX/YaOnRMc9gncpMsRbIOQyd83dEXw9nRMyle330t4KbE2yB9zMX1FkAedp
20+
ES/qT8Vzb87lJiY1lZ3x6MInB31VgUTqd8WKaAPNRkmZUeZzdmFEb+mRaxA9vdzJ
21+
iMpN/ybdjxEY+8nZAgMBAAGjggGIMIIBhDAJBgNVHRMEAjAAMBEGCWCGSAGG+EIB
22+
AQQEAwIGQDAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgU2VydmVy
23+
IENlcnRpZmljYXRlMB0GA1UdDgQWBBSv+HK2Ny3HfZShYI9OgFGoxRsDbDCBugYD
24+
VR0jBIGyMIGvoYGhpIGeMIGbMQswCQYDVQQGEwJJTjESMBAGA1UECAwJS0FSTkFU
25+
QUtBMRIwEAYDVQQHDAlCQU5HQUxPUkUxEDAOBgNVBAoMB0pVTklQRVIxDTALBgNV
26+
BAsMBEVQSUMxIDAeBgNVBAMMF2pjbG91ZF9kZW1vLmp1bmlwZXIubmV0MSEwHwYJ
27+
KoZIhvcNAQkBFhJtdml2ZWtAanVuaXBlci5uZXSCCQCJbjvV2AAiHjAOBgNVHQ8B
28+
Af8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwLgYDVR0RBCcwJYcEwKgAcocE
29+
CgACD4IXamNsb3VkX2RlbW8uanVuaXBlci5uZXQwDQYJKoZIhvcNAQEFBQADggIB
30+
AKhvlXPGilEjDt54k8fO6eCGQMuOz4hsw9xvy2KaDylBWrKze1i8tCdVDH61OzeQ
31+
iMqP02cJdG6iOLydGQ651R7fh+8rByGxdDkyAoRUtcE5YCmX9xPkSuFkwa58H7MI
32+
4F/nw108rhe1qql6JZVuhLEcBYI2YwpItsAruLzdgqX50mCrPWxOXp9CPUq096qn
33+
dmvuCO9bFvUYG4eFtSy1I06czP0psD3LbcqIfmnjXEM2ZIbz//k+nGkUEfYzRzH4
34+
1oXbyF3ZJL2bQdzNT4SxVnlWo/0f4+0/m1RieJ3wPqW1+CjN7NqeJxTlBxwK9Ri+
35+
qPF0firpuSwWSzflscuB0bYd8xhmyM/JmLInzmadk1cMeLRokDIQhY4921WvJQ7x
36+
kbHm0enoTOMw6JRFx/mY/St5zV30ArG3Tguuvxr1kygDqHF6HkCl2POzEi5iL9ae
37+
MlMkZTvlZGYIxf5jvP5dbnQiqZ21BbLOmKg5N4T80IHoOyBM5y2YlmU1rhuqaVIP
38+
9/9wJQK0KZLEly+kipad3dv1T1/rIEzTQ/8iR0CNe0Jl+nlpvpftnIDAIf4N2b3d
39+
NyWJngz3fl2hotJ71dVtoaC9m0d7MLel9dTfA9P1nkEwYwCwix8xejRTWZbpXtfu
40+
7JJnf57lHzFYbAUz1Kdv4uCzhwAwWgont4t/wvWGdpHg
41+
-----END CERTIFICATE-----

certs/self_signed/server-key.pem

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
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
51+
-----END RSA PRIVATE KEY-----

dialout.go

+19-21
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package main
33
import (
44
"crypto/tls"
55
"crypto/x509"
6-
"encoding/json"
76
"errors"
87
"fmt"
98
"io"
@@ -12,10 +11,12 @@ import (
1211
"net"
1312
"path/filepath"
1413
"strconv"
14+
"strings"
1515
"time"
1616

1717
"github.com/Shopify/sarama"
1818
"github.com/golang/protobuf/proto"
19+
"github.com/nileshsimaria/jtimon/dialout"
1920
gnmi_dialout "github.com/nileshsimaria/jtimon/gnmi/dialout"
2021
"github.com/nileshsimaria/jtimon/gnmi/gnmi"
2122

@@ -52,25 +53,19 @@ type rpcInfoT struct {
5253
rpc string
5354
rpcId int8
5455
running bool
55-
cfgChannel chan *dialOutConfigT
56-
config *dialOutConfigT
56+
cfgChannel chan *dialout.DialOutRequest
57+
config *dialout.DialOutRequest
5758
jctx *JCtx // Currently inherited from device, so use this handle as read-only
5859

5960
device *deviceInfoT
6061
}
6162

62-
type dialOutConfigT struct {
63-
Device string `json:"device"`
64-
RpcType string `json:"rpc-type"`
65-
Paths []PathsConfig `json:"paths"`
66-
}
67-
6863
func newDialOutServer(rpcs []string) *dialoutServerT {
6964
s := &dialoutServerT{devices: map[string]*deviceInfoT{}}
7065

7166
// Create kafka Client
7267
kafkaCfg := sarama.NewConfig()
73-
kafkaClient, err := sarama.NewClient([]string{*kafkaBroker}, kafkaCfg)
68+
kafkaClient, err := sarama.NewClient(strings.Split(*kafkaBroker, ","), kafkaCfg)
7469
if err != nil {
7570
log.Fatalf("Not able to connect to Kafka broker at %v: %v", *kafkaBroker, err)
7671
}
@@ -109,7 +104,7 @@ func newDialOutServer(rpcs []string) *dialoutServerT {
109104

110105
func createRpc(device *deviceInfoT, name string, id int) (*rpcInfoT, error) {
111106
// Sarama's default channel size for consuming messages is 256
112-
cfgChannel := make(chan *dialOutConfigT, 512)
107+
cfgChannel := make(chan *dialout.DialOutRequest, 512)
113108
return &rpcInfoT{rpc: name, rpcId: int8(id), cfgChannel: cfgChannel, jctx: device.jctx, device: device}, nil
114109
}
115110

@@ -217,15 +212,15 @@ func (s *dialoutServerT) DialOutSubscriber(stream gnmi_dialout.Subscriber_DialOu
217212

218213
i := 0
219214
length := len(rpc.cfgChannel)
220-
var dialOutCfg *dialOutConfigT
215+
var cfgReq *dialout.DialOutRequest
221216
// Drain n - 1 message to get latest config
222217
for i < (length - 1) {
223218
<-rpc.cfgChannel
224219
i++
225220
}
226221
log.Printf("Waiting for config..")
227-
dialOutCfg = <-rpc.cfgChannel
228-
log.Printf("Read config.. : %v", *dialOutCfg)
222+
cfgReq = <-rpc.cfgChannel
223+
log.Printf("Read config.. : %v", *cfgReq)
229224

230225
req := &gnmi.SubscribeRequest{}
231226
req = &gnmi.SubscribeRequest{Request: &gnmi.SubscribeRequest_Subscribe{
@@ -235,7 +230,7 @@ func (s *dialoutServerT) DialOutSubscriber(stream gnmi_dialout.Subscriber_DialOu
235230
},
236231
}}
237232
subReq := req.Request.(*gnmi.SubscribeRequest_Subscribe)
238-
subReq.Subscribe.Subscription, err = xPathsTognmiSubscription(dialOutCfg.Paths)
233+
subReq.Subscribe.Subscription, err = xPathsTognmiSubscription(nil, cfgReq.Paths)
239234
if err != nil {
240235
//log.Printf("Host: %v, Invalid path config: %s", cn, cfg)
241236
jLog(s.jctx, fmt.Sprintf("Host: %v, Invalid path config: %s", cn, "foo...."))
@@ -247,7 +242,7 @@ func (s *dialoutServerT) DialOutSubscriber(stream gnmi_dialout.Subscriber_DialOu
247242

248243
for {
249244
select {
250-
case dialOutCfg = <-rpc.cfgChannel:
245+
case cfgReq = <-rpc.cfgChannel:
251246
removeRpcFromDevice(rpc)
252247
stream.Context().Done()
253248
case producerError := <-(*s.dataProducer).Errors():
@@ -268,13 +263,16 @@ func (s *dialoutServerT) DialOutSubscriber(stream gnmi_dialout.Subscriber_DialOu
268263
continue
269264
}
270265

271-
payload, err := proto.Marshal(rspFromDevice)
266+
// TODO: Vivek Take data topic from cmd line
267+
var dialOutRsp dialout.DialOutResponse
268+
dialOutRsp.Device = cn
269+
dialOutRsp.DialOutContext = cfgReq.DialOutContext
270+
dialOutRsp.Response = append(dialOutRsp.Response, rspFromDevice)
271+
payload, err := proto.Marshal(&dialOutRsp)
272272
if err != nil {
273273
log.Printf("Marshalling failed for %s, len: %v\n", rspString, len(rspString))
274274
continue
275275
}
276-
277-
// TODO: Vivek Take data topic from cmd line
278276
(*s.dataProducer).Input() <- &sarama.ProducerMessage{Topic: "gnmi-data", Key: sarama.ByteEncoder(cn), Value: sarama.ByteEncoder(payload)}
279277
}
280278
}
@@ -295,8 +293,8 @@ func consumePartition(server *dialoutServerT, topic string, partition int32, off
295293
var tmpDeviceName string
296294
for msg := range partitionConsumer.Messages() {
297295
log.Printf("topic: %v, partition: %v, offset: %v, msg key: %v, msg val: %v", topic, partition, offset, string(msg.Key), string(msg.Value))
298-
var dialOutCfg dialOutConfigT
299-
err = json.Unmarshal(msg.Value, &dialOutCfg)
296+
var dialOutCfg dialout.DialOutRequest
297+
err = proto.Unmarshal(msg.Value, &dialOutCfg)
300298
log.Printf("dialOutCfg: %v", dialOutCfg.Paths[0].Path)
301299
if err != nil {
302300
jLog(jctx, fmt.Sprintf("Unmarshalling dialout config failed, ignoring"))

0 commit comments

Comments
 (0)