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

Debian Wiki debian-www at lists.debian.org
Wed Jul 27 11:09:43 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 SteffenMoeller:
http://wiki.debian.org/BOINC/ServerGuide/AppDeployment?action=diff&rev1=26&rev2=27

Comment:
More critical reviews.

  
  2. Edit the script to change $projectroot, and run.
  
- The application will now be downloaded, and the driectory structure will look somewhat like this.
+ The application will now be downloaded, and the directory structure will look somewhat like this. The .sig files may already have been added by the ''fetch_example_applications.sh'' tool, if your environment variables suggest an active project. But that is optional.
  {{{
  $ tree ~/fetch-app/apps
   
@@ -85, +85 @@

  |-- concat
  |   |-- concat_6.12_armel-linux-gnu
  |   |-- concat_6.12_armel-linux-gnu.sig
+ .
+ .   [ i686, ia64, mips, s390, sparc not shown]
+ .
- |   |-- concat_6.12_i686-pc-linux-gnu
- |   |-- concat_6.12_i686-pc-linux-gnu.sig
- |   |-- concat_6.12_ia64-linux-gnu
- |   |-- concat_6.12_ia64-linux-gnu.sig
- |   |-- concat_6.12_mips-linux-gnu
- |   |-- concat_6.12_mips-linux-gnu.sig
- |   |-- concat_6.12_s390-linux-gnu
- |   |-- concat_6.12_s390-linux-gnu.sig
- |   |-- concat_6.12_sparc-linux-gnu
- |   |-- concat_6.12_sparc-linux-gnu.sig
  |   |-- concat_6.12_x86_64-pc-linux-gnu
  |   `-- concat_6.12_x86_64-pc-linux-gnu.sig
  |-- sleeper
  |   |-- sleeper_6.12_armel-linux-gnu
  |   |-- sleeper_6.12_armel-linux-gnu.sig
+ .
+ .   [ i686, ia64, mips, s390, sparc not shown]
+ .
- |   |-- sleeper_6.12_i686-pc-linux-gnu
- |   |-- sleeper_6.12_i686-pc-linux-gnu.sig
- |   |-- sleeper_6.12_ia64-linux-gnu
- |   |-- sleeper_6.12_ia64-linux-gnu.sig
- |   |-- sleeper_6.12_mips-linux-gnu
- |   |-- sleeper_6.12_mips-linux-gnu.sig
- |   |-- sleeper_6.12_s390-linux-gnu
- |   |-- sleeper_6.12_s390-linux-gnu.sig
- |   |-- sleeper_6.12_sparc-linux-gnu
- |   |-- sleeper_6.12_sparc-linux-gnu.sig
  |   |-- sleeper_6.12_x86_64-pc-linux-gnu
  |   `-- sleeper_6.12_x86_64-pc-linux-gnu.sig
  |-- uc2
  |   |-- uc2_6.12_armel-linux-gnu
  |   |-- uc2_6.12_armel-linux-gnu.sig
+ .
+ .   [ i686, ia64, mips, s390, sparc ]
+ .
- |   |-- uc2_6.12_i686-pc-linux-gnu
- |   |-- uc2_6.12_i686-pc-linux-gnu.sig
- |   |-- uc2_6.12_ia64-linux-gnu
- |   |-- uc2_6.12_ia64-linux-gnu.sig
- |   |-- uc2_6.12_mips-linux-gnu
- |   |-- uc2_6.12_mips-linux-gnu.sig
- |   |-- uc2_6.12_s390-linux-gnu
- |   |-- uc2_6.12_s390-linux-gnu.sig
- |   |-- uc2_6.12_sparc-linux-gnu
- |   |-- uc2_6.12_sparc-linux-gnu.sig
  |   |-- uc2_6.12_x86_64-pc-linux-gnu
  |   `-- uc2_6.12_x86_64-pc-linux-gnu.sig
  |-- upper_case
  |   |-- upper_case_6.12_armel-linux-gnu
  |   |-- upper_case_6.12_armel-linux-gnu.sig
+ .
+ .   [ i686, ia64, mips, s390, sparc not shown]
+ .
- |   |-- upper_case_6.12_i686-pc-linux-gnu
- |   |-- upper_case_6.12_i686-pc-linux-gnu.sig
- |   |-- upper_case_6.12_ia64-linux-gnu
- |   |-- upper_case_6.12_ia64-linux-gnu.sig
- |   |-- upper_case_6.12_mips-linux-gnu
- |   |-- upper_case_6.12_mips-linux-gnu.sig
- |   |-- upper_case_6.12_s390-linux-gnu
- |   |-- upper_case_6.12_s390-linux-gnu.sig
- |   |-- upper_case_6.12_sparc-linux-gnu
- |   |-- upper_case_6.12_sparc-linux-gnu.sig
  |   |-- upper_case_6.12_x86_64-pc-linux-gnu
  |   `-- upper_case_6.12_x86_64-pc-linux-gnu.sig
  |-- worker
  |   |-- worker_6.12_armel-linux-gnu
  |   |-- worker_6.12_armel-linux-gnu.sig
+ .
+ .   [ i686, ia64, mips, s390, sparc ]
+ .
- |   |-- worker_6.12_i686-pc-linux-gnu
- |   |-- worker_6.12_i686-pc-linux-gnu.sig
- |   |-- worker_6.12_ia64-linux-gnu
- |   |-- worker_6.12_ia64-linux-gnu.sig
- |   |-- worker_6.12_mips-linux-gnu
- |   |-- worker_6.12_mips-linux-gnu.sig
- |   |-- worker_6.12_s390-linux-gnu
- |   |-- worker_6.12_s390-linux-gnu.sig
- |   |-- worker_6.12_sparc-linux-gnu
- |   |-- worker_6.12_sparc-linux-gnu.sig
  |   |-- worker_6.12_x86_64-pc-linux-gnu
  |   `-- worker_6.12_x86_64-pc-linux-gnu.sig
  `-- wrapper
      |-- wrapper_6.12_armel-linux-gnu
      |-- wrapper_6.12_armel-linux-gnu.sig
+ .
+ .   [ i686, ia64, mips, s390, sparc not shown]
+ .
-     |-- wrapper_6.12_i686-pc-linux-gnu
-     |-- wrapper_6.12_i686-pc-linux-gnu.sig
-     |-- wrapper_6.12_ia64-linux-gnu
-     |-- wrapper_6.12_ia64-linux-gnu.sig
-     |-- wrapper_6.12_mips-linux-gnu
-     |-- wrapper_6.12_mips-linux-gnu.sig
-     |-- wrapper_6.12_s390-linux-gnu
-     |-- wrapper_6.12_s390-linux-gnu.sig
-     |-- wrapper_6.12_sparc-linux-gnu
-     |-- wrapper_6.12_sparc-linux-gnu.sig
      |-- wrapper_6.12_x86_64-pc-linux-gnu
      `-- wrapper_6.12_x86_64-pc-linux-gnu.sig
  }}}
  
  Copy the upper_case app to the project.
  {{{
+ $ . ~/.boinc_test.conf && \
- $ cp ~/fetch-app/apps/upper_case $projectroot/$fileprojectname/apps/
+   cp ~/fetch-app/apps/upper_case $installroot/$fileprojectname/apps/
  }}}
-  
+ 
+ The boinc_test.conf sets the variables ''$installroot'' etc. Start
+ at [[BOINC/ServerGuide]] if your search engine had brought you here
+ directly.
+ 
  = Inform local database of available binaries =
  
  == Craft the project's project.xml file ==
  
- Now add following lines to project.xml in the project root
+ The project.xml file informs the BOINC server about what this
+ project is all about, i.e. what platforms we are supporting
+ with what tools (''apps''). You can copy and paste the following
+ BASH shell lines to your local console. It will create
+ the file ''project.xml'' in the project's root directory or
+ bail out if something goes the unexpected way.
  
  {{{
  [ -z "$installroot" -o -z "$fileprojectname" ] || . ~/.boinc_test.conf
@@ -210, +178 @@

  fi
  }}}
  
- 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 (found in /usr/share/boinc-server/tools/) and run xadd.
+ ''FIXME: the following paragraph is difficult to read and partially wrong, I think. From my observation, all platforms need to be specified manually. Nothing is copied from some sort of a reference project.xml.''
+ 
+ The platforms need not be defined here, since the default ''project.xml'' (found in /usr/share/boinc-server/tools/) contains entries for all platforms. They are shown here for the user to understand finer details. 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"
@@ -296, +266 @@

  Done
  }}}
  
- It should be noted that the app directory is just a staging area for the script to parse the structure and put the binaries to respective places. After this the app directory can be cleaned safely.
+ It should be noted that the app directory is just a staging area for the script to parse the structure and put the binaries to respective places. After this, the app directory can be removed safely.
  
  == Inspection of the database (optional) ==
  
- The database has now seen the application and platforms:
+ The database has now seen a single application {{{
- 
- {{{
- 
  $ echo "select * from app" | mysql -u boincadm -p$pw $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
  1       1308465648      upper_case      0       0       upperCASE       0       1       0       0       1       0
- 
- 
+ }}}
+ on multiple platforms {{{
  $ echo "select * from platform;"| mysql -u boincadm -p$pw $dbprojectname
  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
- 
  }}}
  
- When you have the leisure, don't shy away from inspecting the database more. Except for app, app_version and platform, all tables are empty at this stage. Straight forward to learn, a very basic tutorial on MySQL will do.
+ When you have the leisure, don't shy away from inspecting the database more. Except for ''app'', ''app_version'' and ''platform'', all tables are empty at this stage. Straight forward to learn, a very basic tutorial on MySQL will do as a preparation ... if required at all.
  
  = Add a Work Unit =
  
- A work unit is the portion of data that the project should be analyzed, a work unit has following parts,
+ A work unit is the portion of data that the project should be analyzed. It has the following parts,
   * Input file(s)
   * Work Unit template
   * Result Template
@@ -364, +330 @@

  
  == Uploading multiple inputs ==
  
+ ''FIXME: this should be "multiple workunits", not "multiple inputs, right?"''
+ 
  All input files need to be created at some stage. So they will be available, most likely as some file or they can be made available as a file. For batch invocations of ''create_work'', one can use the shell's loop functionality. For the BASH, this could for instance be {{{
  for i in $(seq 1 3); do
-   echo "-appname upper_case -wu_name test$i input_${i}_file"
+   echo "./bin/create_work -appname upper_case -wu_name test$i input_${i}_file"
  done
  }}}
  
  yielding{{{
- -appname upper_case -wu_name test1 input_1_file
+ ./bin/create_work -appname upper_case -wu_name test1 input_1_file
- -appname upper_case -wu_name test2 input_2_file
+ ./bin/create_work -appname upper_case -wu_name test2 input_2_file
- -appname upper_case -wu_name test3 input_3_file
+ ./bin/create_work -appname upper_case -wu_name test3 input_3_file
  }}}
  
  == Inspections (optional) ==



More information about the pkg-boinc-commits mailing list