import repository from arizona
[raven.git] / tools / screencast / demo-kong.txt
1 # Let's have a look at our experiment container again\r
2 cd my_experiment\r
3 # See the directories\r
4 ls\r
5 # Go into the build directory\r
6 cd build\r
7 # Look around, see helloworld\r
8 ls\r
9 # Create a directory for the pingpong demo\r
10 mkdir pingpong|cd pingpong\r
11 # Create a directory to hold our program files\r
12 mkdir -p usr/local/bin\r
13 # Go inside\r
14 cd usr/local/bin\r
15 # Copy in some source files\r
16 cp ~/ping.py .|cp ~/pong.py .\r
17 # Make sure they're executable\r
18 chmod a+x ping.py pong.py\r
19 # Let's start with the pong program.\r
20 # Kong will distribute state for us -- /var/kong/results/mem_pong_port\r
21 # Pong waits for packets, then sends replies\r
22 cat pong.py\r
23 # Let's take a look at the ping program\r
24 #   load_members() loads membership data from kong\r
25 cat ping.py\r
26 # Let's go back to the root of our experiment\r
27 cd ~/my_experiment\r
28 # and into the kong directory\r
29 cd kong\r
30 # let's look around\r
31 # Notice the scripts - prepare, start\r
32 ls \r
33 # let's edit the prepare script to run pong\r
34 vi prepare\r
35 # describe how the prepare script works\r
36 # lets insert some stuff to run pong\r
37 jjjdddddd\r
38 # I want to make sure pong isn't already running\r
39 kipkill -f ".*pong.py"|^\r
40 # Now run it\r
41 kinohup /usr/local/bin/pong.py > /dev/null 2> /dev/null < /dev/null &|^i|^\r
42 # we also want to wait until pong has set itself up\r
43 kiwhile [ ! -f /var/kong/results/mem_pong_port ]; do|^i    sleep 1|^idone|^i|^\r
44 # now we can close the file\r
45 :wq\r
46 # lets edit the start script to do our pings\r
47 vi start\r
48 # describe how the start script works\r
49 # lets insert some stuff to run ping\r
50 jjjdddddd\r
51 # I want to make sure ping isn't already running\r
52 kipkill -f ".*ping.py"|^i|^\r
53 # Check to see if our node is a member of the experiment set\r
54 kiif [ ! -f /var/kong/self_member ]; then|^i    /etc/kong.d/opt_out|^i   exit|^ifi|^i|^\r
55 # run ping, executing our experiment\r
56 ki/usr/local/bin/ping.py|^i|^\r
57 # we're done, save\r
58 :wq\r
59 # Now we're ready to publish our experiment\r
60 \r