Please note that the CVS and issue trackers have moved to GitHub. These Trac pages are no longer kept up-to-date.

root/seattle/trunk/deploymentscripts/readme@5637

Revision 2576, 4.2 KB (checked in by konp, 10 years ago)

Added some DHT/CHT stuff, readme, capability to upgrade nodes.

Line 
1README
2Deployment scripts
3
4Purpose
5
6  This file will teach you how to use the automatic deployment packages.
7
8Introduction and Setup
9 
10  Since all the computers use pubkey authentication, we must then make sure that
11  ssh-agent will take care of our authentication with the remote hosts, so in order
12  to do that we will execute the following two lines:
13 
14    eval `ssh-agent`
15    ssh-add
16   
17  The first line will evaluate the "stuff" printed to stdout from ssh-agent,
18  and the second line will attempt to use the data and prompt you for your
19  passphrase for use with the keys.  This is necessary if your RSA key has a
20  passphrase so that in batch mode one can easily access many hosts and not
21  have to type in the key over and over again.
22 
23  Next, you have to make sure all the files are in the needed directory.
24 
25  Make sure you run preparetest.py on the directory you plan on placing all
26  of these files.
27 
28  Currently using the following additional files are used (paths as of r2459,
29  but they shouldn't really change):
30 
31    \trunk\www\node_state_transitions\*.publickey
32    iplist2.list (the list of PL and UW machines) can be obtained from Kon/Justin C.
33        upon request.
34    hashes.dict file can be generated with the following command line
35      (after running the file through the repypp.py)
36
37        python verifyfiles.py -writefile [in_fn] hashes.dict [look_dir]   
38      where in_fn is the path to the latest seattle install tgz (local file), and look_dir is the path to seattle_repy folder
39      (easiest to just   place in directory and run, or run after a preparetest.py)
40 
41  After you're sure to have placed all of those files in some directory, you must place
42  all the files from the deploymentscripts/ branch as well in there.
43 
44 
45Running the deployment scripts
46
47  To run the deployment scripts, a simple command must be executed:
48 
49    python deploy_main.py
50   
51  Other parameters may be specified (see deploy_main.py for further information
52  of parameters).  One commonly executed line might be
53 
54    python deploy_main.py -c custom.py
55   
56  where -c specifies a custom script, and custom.py is the custom script to be
57  executed.
58 
59Q&A
60
61  1.  So where did you say the logs go?
62    The logs created by the program go into deploy.logs and if the directory
63    exists at the time of execution of deploy.py, then the old log directory
64    will be suffixed with an integer and the logs will still be logged to
65    the deploy.logs folder.  The file make_summary.py will also summarize the files
66    and create an html page whose extension is the timestamp.  It will also update the
67    master.log file which is used by the webserver in order to serve up files.
68   
69  2.  How many custom scripts can I include?
70    You can include any number of custom scripts, but in this version of the
71    release only the FIRST script will be executed.  You can theoretically
72    launch one script from another script though.
73   
74  3.  What are the other files in the directory?
75    deploy_main.py:  File responsible for typically general stuff
76    deploy_threading.py:   Responsible for threading-related stuff
77    deploy_network.py: Responsible for network related stuff (uploading,
78      downloading files from hosts, etc)
79    make_summary.py:  File that can be run at any time - assumes deploy.logs
80      folder exists, and from that folder it builds a summary log file.
81      The file is a summary, but is still comprehensive since it checks
82      all the child folder of deploy.logs for certain log files.
83    hashes.dict:  The file created by verifyfiles.mix that simply contains the
84      hashes of the files necessary for that version (created from tgz, see
85      verifyfiles.mix for more details)
86    iplist2.list: This file contains all of the ips/hostnames that will be
87      connected to.  See iplist2.list for file format.
88    runlocaltests.py: The file is executed remotely and is what runs all the
89      threads on a remote host.
90    create_tar.py:  Creates the tar to be deployed as necessary
91    cleanup_deploy.py: Soon to be obsolete, but cleans up and sets up some
92      directories on the remote host
93    custom.py:  A sample file that demonstrates how additional scripts are
94      able to execute on a remote host.  This is where you would add custom
95      code to run
Note: See TracBrowser for help on using the browser.