diff options
Diffstat (limited to 'doc/handbook/chapters/developer.texi')
-rw-r--r-- | doc/handbook/chapters/developer.texi | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/doc/handbook/chapters/developer.texi b/doc/handbook/chapters/developer.texi index 228603cda..3225a6359 100644 --- a/doc/handbook/chapters/developer.texi +++ b/doc/handbook/chapters/developer.texi | |||
@@ -1876,7 +1876,6 @@ Testbed API can accessed by including the | |||
1876 | * Hosts file format:: | 1876 | * Hosts file format:: |
1877 | * Topology file format:: | 1877 | * Topology file format:: |
1878 | * Testbed Barriers:: | 1878 | * Testbed Barriers:: |
1879 | * Automatic large-scale deployment in the PlanetLab testbed:: | ||
1880 | * TESTBED Caveats:: | 1879 | * TESTBED Caveats:: |
1881 | @end menu | 1880 | @end menu |
1882 | 1881 | ||
@@ -2140,168 +2139,6 @@ message from its upward propagation --- the upward propagation is needed | |||
2140 | for ensuring that the barrier is reached by all the controllers and the | 2139 | for ensuring that the barrier is reached by all the controllers and the |
2141 | downward propagation is for triggering that the barrier is crossed. | 2140 | downward propagation is for triggering that the barrier is crossed. |
2142 | 2141 | ||
2143 | @cindex PlanetLab testbed | ||
2144 | @node Automatic large-scale deployment in the PlanetLab testbed | ||
2145 | @subsection Automatic large-scale deployment in the PlanetLab testbed | ||
2146 | |||
2147 | PlanetLab is a testbed for computer networking and distributed systems | ||
2148 | research. It was established in 2002 and as of June 2010 was composed of | ||
2149 | 1090 nodes at 507 sites worldwide. | ||
2150 | |||
2151 | To automate the GNUnet we created a set of automation tools to simplify | ||
2152 | the large-scale deployment. We provide you a set of scripts you can use | ||
2153 | to deploy GNUnet on a set of nodes and manage your installation. | ||
2154 | |||
2155 | Please also check @uref{https://old.gnunet.org/installation-fedora8-svn} and | ||
2156 | @uref{https://old.gnunet.org/installation-fedora12-svn} to find detailed | ||
2157 | instructions how to install GNUnet on a PlanetLab node. | ||
2158 | |||
2159 | |||
2160 | @c *********************************************************************** | ||
2161 | @menu | ||
2162 | * PlanetLab Automation for Fedora8 nodes:: | ||
2163 | * Install buildslave on PlanetLab nodes running fedora core 8:: | ||
2164 | * Setup a new PlanetLab testbed using GPLMT:: | ||
2165 | * Why do i get an ssh error when using the regex profiler?:: | ||
2166 | @end menu | ||
2167 | |||
2168 | @node PlanetLab Automation for Fedora8 nodes | ||
2169 | @subsubsection PlanetLab Automation for Fedora8 nodes | ||
2170 | |||
2171 | @c *********************************************************************** | ||
2172 | @node Install buildslave on PlanetLab nodes running fedora core 8 | ||
2173 | @subsubsection Install buildslave on PlanetLab nodes running fedora core 8 | ||
2174 | @c ** Actually this is a subsubsubsection, but must be fixed differently | ||
2175 | @c ** as subsubsection is the lowest. | ||
2176 | |||
2177 | Since most of the PlanetLab nodes are running the very old Fedora core 8 | ||
2178 | image, installing the buildslave software is quite some pain. For our | ||
2179 | PlanetLab testbed we figured out how to install the buildslave software | ||
2180 | best. | ||
2181 | |||
2182 | @c This is a very terrible way to suggest installing software. | ||
2183 | @c FIXME: Is there an official, safer way instead of blind-piping a | ||
2184 | @c script? | ||
2185 | @c FIXME: Use newer pypi URLs below. | ||
2186 | Install Distribute for Python: | ||
2187 | |||
2188 | @example | ||
2189 | curl http://python-distribute.org/distribute_setup.py | sudo python | ||
2190 | @end example | ||
2191 | |||
2192 | Install Distribute for zope.interface <= 3.8.0 (4.0 and 4.0.1 will not | ||
2193 | work): | ||
2194 | |||
2195 | @example | ||
2196 | export PYPI=@value{PYPI-URL} | ||
2197 | wget $PYPI/z/zope.interface/zope.interface-3.8.0.tar.gz | ||
2198 | tar xzvf zope.interface-3.8.0.tar.gz | ||
2199 | cd zope.interface-3.8.0 | ||
2200 | sudo python setup.py install | ||
2201 | @end example | ||
2202 | |||
2203 | Install the buildslave software (0.8.6 was the latest version): | ||
2204 | |||
2205 | @example | ||
2206 | export GCODE="http://buildbot.googlecode.com/files" | ||
2207 | wget $GCODE/buildbot-slave-0.8.6p1.tar.gz | ||
2208 | tar xvfz buildbot-slave-0.8.6p1.tar.gz | ||
2209 | cd buildslave-0.8.6p1 | ||
2210 | sudo python setup.py install | ||
2211 | @end example | ||
2212 | |||
2213 | The setup will download the matching twisted package and install it. | ||
2214 | It will also try to install the latest version of zope.interface which | ||
2215 | will fail to install. Buildslave will work anyway since version 3.8.0 | ||
2216 | was installed before! | ||
2217 | |||
2218 | @c *********************************************************************** | ||
2219 | @node Setup a new PlanetLab testbed using GPLMT | ||
2220 | @subsubsection Setup a new PlanetLab testbed using GPLMT | ||
2221 | |||
2222 | @itemize @bullet | ||
2223 | @item Get a new slice and assign nodes | ||
2224 | Ask your PlanetLab PI to give you a new slice and assign the nodes you | ||
2225 | need | ||
2226 | @item Install a buildmaster | ||
2227 | You can stick to the buildbot documentation:@ | ||
2228 | @uref{http://buildbot.net/buildbot/docs/current/manual/installation.html} | ||
2229 | @item Install the buildslave software on all nodes | ||
2230 | To install the buildslave on all nodes assigned to your slice you can use | ||
2231 | the tasklist @code{install_buildslave_fc8.xml} provided with GPLMT: | ||
2232 | |||
2233 | @example | ||
2234 | ./gplmt.py -c contrib/tumple_gnunet.conf -t \ | ||
2235 | contrib/tasklists/install_buildslave_fc8.xml -a -p <planetlab password> | ||
2236 | @end example | ||
2237 | |||
2238 | @item Create the buildmaster configuration and the slave setup commands | ||
2239 | |||
2240 | The master and the and the slaves have need to have credentials and the | ||
2241 | master has to have all nodes configured. This can be done with the | ||
2242 | @file{create_buildbot_configuration.py} script in the @file{scripts} | ||
2243 | directory. | ||
2244 | |||
2245 | This scripts takes a list of nodes retrieved directly from PlanetLab or | ||
2246 | read from a file and a configuration template and creates: | ||
2247 | |||
2248 | @itemize @bullet | ||
2249 | @item a tasklist which can be executed with gplmt to setup the slaves | ||
2250 | @item a master.cfg file containing a PlanetLab nodes | ||
2251 | @end itemize | ||
2252 | |||
2253 | A configuration template is included in the <contrib>, most important is | ||
2254 | that the script replaces the following tags in the template: | ||
2255 | |||
2256 | %GPLMT_BUILDER_DEFINITION :@ GPLMT_BUILDER_SUMMARY@ GPLMT_SLAVES@ | ||
2257 | %GPLMT_SCHEDULER_BUILDERS | ||
2258 | |||
2259 | Create configuration for all nodes assigned to a slice: | ||
2260 | |||
2261 | @example | ||
2262 | ./create_buildbot_configuration.py -u <planetlab username> \ | ||
2263 | -p <planetlab password> -s <slice> -m <buildmaster+port> \ | ||
2264 | -t <template> | ||
2265 | @end example | ||
2266 | |||
2267 | Create configuration for some nodes in a file: | ||
2268 | |||
2269 | @example | ||
2270 | ./create_buildbot_configuration.p -f <node_file> \ | ||
2271 | -m <buildmaster+port> -t <template> | ||
2272 | @end example | ||
2273 | |||
2274 | @item Copy the @file{master.cfg} to the buildmaster and start it | ||
2275 | Use @code{buildbot start <basedir>} to start the server | ||
2276 | @item Setup the buildslaves | ||
2277 | @end itemize | ||
2278 | |||
2279 | @c *********************************************************************** | ||
2280 | @node Why do i get an ssh error when using the regex profiler? | ||
2281 | @subsubsection Why do i get an ssh error when using the regex profiler? | ||
2282 | |||
2283 | Why do i get an ssh error "Permission denied (publickey,password)." when | ||
2284 | using the regex profiler although passwordless ssh to localhost works | ||
2285 | using publickey and ssh-agent? | ||
2286 | |||
2287 | You have to generate a public/private-key pair with no password:@ | ||
2288 | @code{ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_localhost}@ | ||
2289 | and then add the following to your ~/.ssh/config file: | ||
2290 | |||
2291 | @code{Host 127.0.0.1@ IdentityFile ~/.ssh/id_localhost} | ||
2292 | |||
2293 | now make sure your hostsfile looks like | ||
2294 | |||
2295 | @example | ||
2296 | [USERNAME]@@127.0.0.1:22@ | ||
2297 | [USERNAME]@@127.0.0.1:22 | ||
2298 | @end example | ||
2299 | |||
2300 | You can test your setup by running @code{ssh 127.0.0.1} in a | ||
2301 | terminal and then in the opened session run it again. | ||
2302 | If you were not asked for a password on either login, | ||
2303 | then you should be good to go. | ||
2304 | |||
2305 | @cindex TESTBED Caveats | 2142 | @cindex TESTBED Caveats |
2306 | @node TESTBED Caveats | 2143 | @node TESTBED Caveats |
2307 | @subsection TESTBED Caveats | 2144 | @subsection TESTBED Caveats |