Nop-client-c: Difference between revisions

From Bitpost wiki
No edit summary
No edit summary
Line 1: Line 1:
=== Resources ===
=== Resources ===
ssh to bigress
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
             # connect vpn
             ssh bigress-1.testv4 # .energynet.link
             ssh bigress-1.testv4 # .energynet.link
             ~/mdm_listTopics.sh
             ~/mdm_listTopics.sh
             ~/mdm_tailTopic.sh
             ~/mdm_tailTopic.sh
ssh to haproxy
Watch bigress kafka spf topic for NOP C messages
  ssh bigress-lb-1.testv4 # .energynet.link
m@viper:~$ ssh bigress-1.testv4 ./mdm_tailTopic.sh simplepointframe|grep "NOP C CLIENT"
tail -f /var/log/haproxy.log
m@viper:~$ ssh bigress-2.testv4 ./mdm_tailTopic.sh simplepointframe|grep "NOP C CLIENT"
nop publish to bigress
Watch haproxy
            causam-testv4.energynet.io (DO NOT USE .link, DOES NOT SUPPORT SSL at all as you'll be bypassing haproxy)
  m@viper:~$ ssh bigress-lb-1.testv4 tail -f /var/log/haproxy.log
test msg to bigress
m@viper:~$ ssh bigress-lb-2.testv4 tail -f /var/log/haproxy.log
test curl REST msg to bigress
             cd /etc/nop-client/ssl/causam-testv4.energynet.io
             cd /etc/nop-client/ssl/causam-testv4.energynet.io
             PEM_FILE=d292c3a4-097d-6c44-cec8-e8bb4ffe946e.pem
             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"
             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)
             (NOTE: does not verify certs)
nop c publish to bigress
use causam-testv4.energynet.io provisioning
=== Debug ===
=== Debug ===
Qt Creator seems pretty good.
Qt Creator seems pretty good.

Revision as of 16:48, 21 November 2016

Resources

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 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

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

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.

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