[Debian Wiki] Update of "BOINC/ServerGuide/AppDeployment" by dhananjay

Debian Wiki debian-www at lists.debian.org
Fri Jul 8 09:15:03 UTC 2011


Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Debian Wiki" for change notification.

The "BOINC/ServerGuide/AppDeployment" page has been changed by dhananjay:
http://wiki.debian.org/BOINC/ServerGuide/AppDeployment?action=diff&rev1=13&rev2=14

Comment:
Added sample outputs to start and status programs, fixed xadd output.

  
  
  Now add following lines to project.xml in the project root
- 
- (you have used "upper_case" below and "uppercase" above ?!?!?)
  
  {{{
  [ -z "$installroot" -o -z "$fileprojectname" ] || . ~/.boinc_test.conf
@@ -90, +88 @@

  fi
  }}}
  
- It is somewhat sad but apparently so that those platforms need to be specified manually. 
+ The platforms need not be defined here, since the default ''project.xml'' contains entries for all platforms, They are shown here for the user to understand finer details, and having duplicate entries on database will generate errors. In most cases, you can just append the application entries to the default ''project.xml'' file and run xadd.
+ 
  
  Change to the projectroot {{{
  cd "$installroot"/"$fileprojectname"
@@ -100, +99 @@

  }}}
  
  The local screen output will be similar to {{{
+ Processing <Platform#None i686-pc-linux-gnu> ...
+   Committed <Platform#3 i686-pc-linux-gnu> ; values:
+ {'_dirty': False,
+  '_lazy_lookups': {},
+  'create_time': 1308988632L,
+  'deprecated': 0,
+  'id': 3L,
+  'name': 'i686-pc-linux-gnu',
+  'user_friendly_name': 'Linux running on an Intel x86-compatible CPU'}
+ 
  Processing <App#None upper_case> ...
  /var/tmp/boinc/boinctest/py/Boinc/db_base.py:63: Warning: Field 'host_scale_check' doesn't have a default value
    cursor.execute(command)
@@ -119, +128 @@

   'user_friendly_name': 'upperCASE',
   'weight': 1.0}
  }}}
+ This is the output of xadd parsing a single platform specification and a single application, the actual output is much longer due the increased number of platforms. Also it should be noted that currently xadd has no provision to delete from databases, it always appends the entries to databse, if you want to remove/change existing entries, you should do it manually.
  
- And when executing that line again, nothing happens: {{{
+ And when executing that line again, nothing happens since everything here is already inside database, : {{{
  # bin/xadd 
  Processing <App#None upper_case> ...
    Skipped existing <App#None upper_case>
@@ -129, +139 @@

  The file ''project.xml'' is not touched.
  
  
- The database has now seen the application:
+ The database has now seen the application and platforms:
  
  {{{
  
  $ echo "select * from app" | mysql -u root -p $dbprojectname
  Enter password: 
- id      create_time     name            min_version  deprecated  user_friendly_name  homogeneous_redundancy  weight  beta    target_nresults min_avg_pfc     host_scale_check
+ id      create_time     name    min_version     deprecated      user_friendly_name      homogeneous_redundancy  weight  beta    target_nresults min_avg_pfc     host_scale_check
- 1       1309734539      upper_case       0            0           upperCASE           0                       1       0       0               1               0
+ 1       1308465648      upper_case      0       0       upperCASE       0       1       0       0       1       0
+ 
+ 
+ $ echo "select * from platform;"| mysql -u root -p test
+ Enter password: 
+ id      create_time     name    user_friendly_name      deprecated
+ 1       1308465648      i686-pc-linux-gnu       Linux running on an Intel x86-compatible CPU    0
+ 2       1308465648      x86_64-pc-linux-gnu     Linux running on an AMD x86_64 or Intel EM64T CPU       0
+ 
  }}}
  
  = Sign the application binary =
  
  BOINC need to sign the application binaries before dispatch for security reasons.
- 
- (Is this a different upper_case folder? If not, where is the version of the upper_case/uppercase filenames? sm)
  
  {{{
  privateKeyfile="./keys/code_sign_private"
@@ -165, +181 @@

  
  Sample output:
  {{{
- 
- # ./bin/xadd 
- Processing <App#None upper_case> ...
-   Skipped existing <App#None upper_case>
- Processing <Platform#None i686-pc-linux-gnu> ...
-   Committed <Platform#1 i686-pc-linux-gnu> ; values:
- {'_dirty': False,
-  '_lazy_lookups': {},
-  'create_time': 1309737932L,
-  'deprecated': 0,
-  'id': 1L,
-  'name': 'i686-pc-linux-gnu',
-  'user_friendly_name': 'Linux/x86'}
- Processing <Platform#None x86_64-pc-linux-gnu> ...
-   Committed <Platform#2 x86_64-pc-linux-gnu> ; values:
- {'_dirty': False,
-  '_lazy_lookups': {},
-  'create_time': 1309737932L,
-  'deprecated': 0,
-  'id': 2L,
-  'name': 'x86_64-pc-linux-gnu',
-  'user_friendly_name': 'Linux/amd64'}
  Toshiba:/var/tmp/boinc/boinctest# ./bin/update_versions 
    Found <App#11 upper_case> version 612 for <Platform#2 x86_64-pc-linux-gnu>: upper_case_6.12_x86_64-pc-linux-gnu
  Using signature file /var/tmp/boinc/boinctest/apps/upper_case/upper_case_6.12_x86_64-pc-linux-gnu.sig
@@ -202, +196 @@

  
  = Add a Work Unit =
  A work unit is the portion of data that the project should be analyzed, a work unit has following parts,
- * Input file(s)
+  * Input file(s)
- * Work Unit template
+  * Work Unit template
- * Result Template
+  * Result Template
  
- Create a test input file, with some text in $installroot/$fileprojectname/download/in
+ Create a test input file, with some text in $installroot/$fileprojectname/download/input_file
  
  {{{
- echo test string >> download/input_file
+ $ echo test string >> download/input_file
  }}}
  
  Copy the default work unit and result template for upper case application to the templates folder.
  {{{
  # The paths are to be changed in the next version of package, so watch out.
- % cp /usr/share/doc/boinc-server-maker/examples/upper_case_* $installroot/$fileprojectname/templates/
+ $ cp /usr/share/doc/boinc-server-maker/examples/upper_case_* $installroot/$fileprojectname/templates/
  }}}
  
- and finally create the work,
+ We will call the workunit test and to commit it to the databse, execute
  {{{
- cd $installroot/$fileprojectname
+ $ cd $installroot/$fileprojectname
- ./bin/create_work -appname upper_case -wu_name test -wu_template templates/upper_case_wu -result_temp
+ $ ./bin/create_work -appname upper_case -wu_name test -wu_template templates/upper_case_wu -result_temp
  late templates/upper_case_result input_file
  }}}
  
- This will create one work unit named test in the database.
  
  = Start the project. =
  
  Now its time to start the project, assuming we are still inside the project root,
  
  {{{
- ./bin/start
+ $./bin/start
+ Staying in ENABLED mode
+ Starting daemons
+   Starting daemon: feeder -d 3
+   Starting daemon: transitioner -d 3
+   Starting daemon: file_deleter -d 3
  }}}
  
  And ''./bin/status'' can be used to check status of the project.
+ {{{
+ $ ./bin/status
+ BOINC is ENABLED
  
+ DAEMON  pid  status      lockfile disabled  commandline
+    1  16574  running     locked   no        feeder -d 3
+    2  16576  running     locked   no        transitioner -d 3
+    3  16579  running     locked   no        file_deleter -d 3
+ 
+ TASK       last run       period          next run        lock file disabled  commandline
+    1          ?           24 hours           NOW          unlocked  yes       db_dump -d 2 -dump_spec ../db_dump_spec.xml
+    2          ?           1 days             NOW          unlocked  yes       run_in_ops ./update_uotd.php
+    3          ?           1 hour             NOW          unlocked  yes       run_in_ops ./update_forum_activities.php
+    4          ?           7 days             NOW          unlocked  yes       update_stats -update_users -update_teams -update_hosts
+    5          ?           24 hours           NOW          unlocked  yes       run_in_ops ./update_profile_pages.php
+    6          ?           24 hours           NOW          unlocked  yes       run_in_ops ./team_import.php
+    7          ?           24 hours           NOW          unlocked  yes       run_in_ops ./notify.php
+ }}}
+ 



More information about the pkg-boinc-commits mailing list