Nop-client-c: Difference between revisions

From Bitpost wiki
No edit summary
No edit summary
Line 25: Line 25:
             ~/mdm_listTopics.sh
             ~/mdm_listTopics.sh
             ~/mdm_tailTopic.sh
             ~/mdm_tailTopic.sh
watch local 443 traffic
m@viper:~$ sudo tcpdump -X 'tcp port 443 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
test curl REST msg to bigress
test curl REST msg to bigress
             cd /etc/nop-client/ssl/causam-testv4.energynet.io
             cd /etc/nop-client/ssl/causam-testv4.energynet.io

Revision as of 18:08, 21 November 2016

Run as root

It seems we have to run as root for now:

m@viper:~/development/causam/git/np/nop-bigress-client-c$ sudo cmake-release/nop-client -d7

Debug

Qt Creator seems pretty good.

Install DEBUG versions of all libraries into /usr/local - see build_lws_debug for an example of that library.

Make sure you rebuild everything from command line, it took a couple times before Qt seemed to pick it up and debug into libs. You should NOT have to add any paths directly.

Resources

Watch bigress kafka spf topic for NOP C messages

m@viper:~$ ssh bigress-1.testv4 ./mdm_tailTopic.sh simplepointframe|grep "NOP C CLIENT"
m@viper:~$ ssh bigress-2.testv4 ./mdm_tailTopic.sh simplepointframe|grep "NOP C CLIENT"

Watch haproxy

m@viper:~$ ssh bigress-lb-1.testv4 tail -f /var/log/haproxy.log
m@viper:~$ ssh bigress-lb-2.testv4 tail -f /var/log/haproxy.log

haproxy is at .io, it forwards traffic to bigress; bigress is at .link, NOTE DOES NOT SUPPORT SSL at all

See bigress kafka topics

           # connect vpn
           ssh bigress-1.testv4 # .energynet.link
           ~/mdm_listTopics.sh
           ~/mdm_tailTopic.sh

watch local 443 traffic

m@viper:~$ sudo tcpdump -X 'tcp port 443 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

test curl REST msg to bigress

           cd /etc/nop-client/ssl/causam-testv4.energynet.io
           PEM_FILE=d292c3a4-097d-6c44-cec8-e8bb4ffe946e.pem
           curl -vvv -k -X PUT -d "{payload: \"`hostname`\"}" --cert $PEM_FILE --cookie @cookie.jar --cookie-jar cookie.jar "https://bigress-1.testv4.energynet.io:443/rest/v1/random1"
           (NOTE: does not verify certs)

nop c publish to bigress

use causam-testv4.energynet.io provisioning

Message flow

   EDGE                                CLIENT
   
                                       initial certificate provisioning
                                       
                                       olympicmachines < hello
                                       simplepointframe < heartbeat keepalives (as needed)
   EDGE becomes device-aware
   build config
   send to machine                     olympicmachines > polling config
                                       olympicmachines < polling config ACK
                                       
   start polling                       simplepointframe < data
                                       
                                       (dead) < (buffer until server becomes responsive)

Functionality