Upload
kellie-benson
View
216
Download
1
Embed Size (px)
Citation preview
PlanetLab CVS
http://cvs.planet-lab.org/cvs/ :pserver:[email protected]:/cvs CVS_RSH=ssh :ext:cvs.planet-lab.org:/cvs
PlanetLab Build
http://build.planet-lab.org/build/ …/nightly/ …/planetlab-3_3-rc1/
Node Software Boot
Boot CD Boot Manager
Virtualization Linux kernel VServer VNET
Node Management Node Manager NodeUpdate PlanetLabConf
Slice Management Slice Creation Service Proper
Monitoring PlanetFlow pl_mom
PLC Software Database server
pl_db PLCAPI server
plc_api Web server
Website PHP Scripts
Boot server PlanetLabConf scripts
PlanetFlow archive Mail, Support (RT), DNS, Monitor, Build, CVS, QA
Boot CD
Version 3 Boot CD bootcd_v3/conf_files/
Hardware, network, system initialization bootcd_v3/configurations/
CD customization Two-stage build
bootcd_v3/prep.sh Prepares basic filesystem
bootcd_v3/build.sh Prepares overlay filesystem which customizes the Boot CD
Boot Manager Boot Manager
bootmanager/source/ Main BootManager class, authentication, utility functions,
configuration, etc. bootmanager/source/steps/
Individual “steps” of the install/boot process bootmanager/support-files/
Bootstrap tarball generation Legacy support for old Boot CDs
To Do Get out of the hardware and installation business
(Anaconda?) Support distributed boot and install (signed packages?)
Virtualization Linux kernel
linux-2.6/ Fedora Core 4 kernel VServer patch AndySched, VNET, Proper, BCM5700, GRE/PPTP, other
miscellaneous patches VServer
util-vserver/ Userspace VServer management utilities and libraries
VNET Linux kernel module Intercepts bind(), other socket calls Intercepts and marks all IP packets Implements TUN/TAP, proxy socket extensions
Node Management Node Manager (pl_nm)
sidewinder/ Thin XML-RPC shim around VServer (or other VMM) syscalls, and other
knobs util-python/
Miscellaneous Python utility functions util-vserver/python/
Python bindings for VServer syscalls Node Update
NodeUpdate/ Wrapper around yum for keeping node RPMs up-to-date
PlanetLabConf PlanetLabConf/
Pull-based configuration file distribution service Most files dynamically generated on a per-node or per-node group basis
Slice Management
Slice Creation Service (pl_conf) sidewinder/
Runs in a slice Periodically downloads slices.xml from boot server Local XML-RPC API for delegated slice creation, query
Proper proper/
Simple local interface for executing privileged operations Bind mount(), privileged port bind(), root read()
Administration and Monitoring PlanetFlow (pl_netflow)
netflow/ MySQL schema and initialization/maintenance scripts
netflow/html/ PHP frontend
netflow/pfgrep/ Console frontend
ulogd/ Packet header collection, aggregation, and insertion
PlanetLab Monitor (pl_mom) pl_mom/swapmon.py
Swap space monitor and slice reaper pl_mom/bwmon.py
Average daily bandwidth monitor
Database and API
Database pl_db/
PostgreSQL schema generated from XML
PLCAPI plc_api/specification/
XML specification of API functions plc_api/PLC/
mod_python implementation
Web Server
PHP, Static, Generated plc_www/includes/new_plc_api.php
Auto-generated PHP binding to PLCAPI plc_www/db/
Secure portion of website plc_www/generated/
Generated include files plc/scripts/
Miscellaneous scripts
Boot Server
Secure Software Distribution Authenticated, encrypted with SSL /var/www/html/boot/
Default location for Boot Manager /var/www/html/install-rpms/
Default /etc/yum.conf location for RPM updates /var/www/html/PlanetLabConf/
Server-side component Mostly PHP