Nop-client-c: Difference between revisions

From Bitpost wiki
No edit summary
(Replaced content with "=== Run as root === === Debug === === Resources === === Message flow === === Functionality ===")
 
Line 1: Line 1:
=== Run as root ===
=== Run as root ===
Running as root seems to work well:
m@viper:~/development/causam/git/np/nop-bigress-client-c$ sudo cmake-release/nop-client -d7
Better, we should be able to allow the binary access to lower ports with setcap:
sudo setcap CAP_NET_BIND_SERVICE=+eip /home/m/development/causam/git/np/nop-bigress-client-c/cmake-debug/nop-client
# that will stick - except you have to rerun that every time after building it
# turn it off with
sudo setcap CAP_NET_BIND_SERVICE=-p /home/m/development/causam/git/np/nop-bigress-client-c/cmake-debug/nop-client


=== Debug ===
=== 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 ===
=== 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 ===
=== 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 ===
=== Functionality ===

Latest revision as of 21:08, 7 January 2017

Run as root

Debug

Resources

Message flow

Functionality