Show
Ignore:
Timestamp:
02/13/09 09:22:17 (3 years ago)
Author:
Frederic Lepied <frederic.lepied@…>
Children:
1641e797df31622a217ebb7904b766db82a1209d
Parents:
7137c4457e2c1d57a509e2e5893da3b165f2a5b3
git-committer:
Frederic Lepied <frederic.lepied@…> (02/13/09 09:22:17)
Message:

documented test system

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • README

    r72fb636 rcb437b7  
    3131  DJANGO_SETTINGS_MODULE=settings and PYTHONPATH=$PWD. 
    3232 
    33 - run ./pxe/syncbootnames to add the names of the PXE profiles in the 
     33- run pxemngr syncbootnames to add the names of the PXE profiles in the 
    3434  database. 
    3535 
    3636- add the systems that you want to control by this system like this: 
    3737 
    38 ./pxe/addsystem <name> <mac address> [<mac address 2>...] 
     38pxemngr addsystem <name> <mac address> [<mac address 2>...] 
    3939 
    4040- set which profile you want your system to PXE boot: 
    4141 
    42 ./pxe/nextboot <name> <profile name> 
     42pxemngr nextboot <name> <profile name> 
    4343 
    4444- run ./manage.py runserver <ip addr>:<port> to have a web server 
     
    4747 
    4848- then your PXE scripts must access the following web page 
    49   http://<ipaddr>:<port>/localboot/<mac addr>/ to request a local boot 
     49  http://<ipaddr>:<port>/localboot/ to request a local boot 
    5050  before rebooting else the PXE boot will continue to loop on the same 
    5151  install. 
     
    5454 
    5555- in your auto-install scripts, you can access the current profile by 
    56   accessing the following url: http://<ipaddr>:<port>/profile/<mac addr>/ 
     56  accessing the following url: http://<ipaddr>:<port>/profile/ 
    5757 
    58 - here is the shell command I use to get the mac address: 
     58** Test system 
    5959 
    60 mac=`ifconfig |grep HWaddr|sed -e 's/.*HWaddr //' -e 's/-/:/' -e 's/ *//g' |head -1` 
     60*** Description 
    6161 
     62The test system allows to provide test scripts to running systems 
     63declared in the PXE manager database. 
     64 
     65The target system can request a test by using this url: 
     66http://<ipaddr>:<port>/nexttest/ 
     67 
     68The tests are usually shell scripts that are built using Django 
     69templating system. By convention, the tests are usinf a suffix of 
     70.test. They are stored in the directory set in settings.py under the 
     71TESTS_DIR variable. A wait.test must exist and will be send by the 
     72server to the target system when no test are available. This wait.test 
     73must wait for some time and then exit to let the system send a new 
     74test if needed or send back a new wait.test. 
     75 
     76After the execution of a test script, the result is sent back to the 
     77server using the following url: http://<ipaddr>:<port>/upload/. I 
     78usualy run the following curl command to upload the result: 
     79 
     80curl --retry 0 -s -f -F "file=@$output" http://<ipaddr>:<port>/upload/ 
     81 
     82These uploaded files are stored under the directory set by the 
     83TEST_UPLOAD_DIR variable in settings.py. 
     84 
     85The system uses a simple convention in these files to lookup 
     86information. It parses the lines to store informations, warnings and 
     87errors lines if they begin by 'I: ', 'W: ' and 'E: '. The system also 
     88tries to find the version of the system by looking for a line starting 
     89by 'V: '. 
     90 
     91You can then navigate on web pages displaying these parsed 
     92informations under: http://<ipaddr>:<port>/. 
     93 
     94*** Control 
     95 
     96To instruct the system about which tests are available, use the 
     97following command: 
     98 
     99pxemngr synctestnames 
     100 
     101To assign a test to a target system, use the following command: 
     102 
     103pxemngr nexttest <system name> <test name> 
     104 
     105To display all the tests ran or scheduled for a system, use: 
     106 
     107pxemngr dpytest <system name> 
     108