Message boards : API : how to deploy vboxwrapper?
Message board moderation
Author | Message |
---|---|
Send message Joined: 14 Feb 13 Posts: 50 |
Hi everybody, I want to know how Vboxwrapper can deploy. Actually I want to know steps for implementing Vboxwrapper. Thanks and Regards. |
Send message Joined: 29 Aug 05 Posts: 15573 |
Have you read http://boinc.berkeley.edu/trac/wiki/VboxApps ?? |
Send message Joined: 14 Feb 13 Posts: 50 |
yes but this one is not complete, I want to know how to write the version file how to configure vboxwrapper and virtual box and so on. Regards. |
Send message Joined: 29 Aug 05 Posts: 15573 |
In that case, best write to the BOINC projects email list. Its address can be found in the "if no answer within 24 hours" stick thread. |
Send message Joined: 14 Feb 13 Posts: 50 |
thanks |
Send message Joined: 4 Jul 12 Posts: 321 |
Everything about the vboxwrapper is shown in the page Ageless posted earlier. The vbox_job.xml is describes in detail and also what files should be put inside the app directory. The version.xml for the App is described on AppVersionNew. I'll see if I can include a link to this page from VboxApps directly. VboxWrapper is configures through the vbox_job.xml file and VirtualBox needs to be installed on the system and as far as I know no special configuration required. |
Send message Joined: 14 Feb 13 Posts: 50 |
Thanks for your information, actually I know all of them but for example how does boinc client work with vboxwrapper? I mean what should we do to enable vboxwrapper and virtualization? and also where should I put the vboxwrapper and other files? Regards. |
Send message Joined: 4 Jul 12 Posts: 321 |
The BOINC client starts the wrapper as any other application. The wrapper will then start the VM and load the executable and input files (through a shared directory). The VM then executes the executable and the wrapper polls from time to time to see if the computation is complete (all through the shared directory). The wrapper also can suspend the VM and/or checkpoint the whole VM. After completion the wrapper will tell the client to upload the result files (which it takes from the shared directory). For the client this is just a typical application, so the wrapper is part of an application version and all the files must be bundled into one. See the "Creating app versions" sections of VboxApps. If you don't know what an application version is you may reread the AppVersion and AppVersionNew wiki pages. Basically you put all the files described in the "Creating app versions" section into your PROJECT_ROOT/apps/app_name/version_num/platform__vbox64/ directory. Of course you must create a proper version.xml that contains the correct logical names (e.g. executable starting with shared/) for your files. But this is listed in the "Creating app versions" section. To distinguish between logical and physical names is important read PhysicalFileManagement and BoincFiles if you are not sure what it means in BOINC[/quote] |
Send message Joined: 14 Feb 13 Posts: 50 |
Really thanks for your help, this is very helpful. So as I understand we should not create shared directory this is just logical name? How does VBOX_USER_HOME set? I read some where that we have to change this one to the vbox directory under the slot directory. Thanks. |
Send message Joined: 4 Jul 12 Posts: 321 |
Really thanks for your help, this is very helpful. So as I understand we should not create shared directory this is just logical name? That is correct. You should have no subdirectories inside the application version directory. If you need to ship several files in directories to the client please put them in a zip and handle them at the client side (this may be buggy at the moment). How does VBOX_USER_HOME set? I read some where that we have to change this one to the vbox directory under the slot directory. The only projects I know of using this feature is CAS@home and Test4Theory but the latter is using it in an unusual way. They had some problems that were fixed in the vboxwrapper if I remember correctly. So the vboxwrapper handles all the VirtualBox stuff for you. If not this should be fixed in the code rather than the client side. |
Send message Joined: 14 Feb 13 Posts: 50 |
ok Thanks, what about workunits? how should we create them? |
Send message Joined: 4 Jul 12 Posts: 321 |
There is nothing different from "standard" workunits. See this section of the docs. Bascally you have to make sure: Input files have logical names starting with shared/ and have the copy_file attribute. That should be it. |
Send message Joined: 14 Feb 13 Posts: 50 |
Bascally you have to make sure: So we have to define input file in the version file? I have done every things that needed but when I run the boinc I face with this error: Temporary failed download of vm_image86.vdi:http error Thanks. |
Send message Joined: 14 Feb 13 Posts: 50 |
[quote] I solved this error:user rights! |
Send message Joined: 14 Feb 13 Posts: 50 |
but after downloading all of the files,noting was happened. why? |
Send message Joined: 14 Feb 13 Posts: 50 |
this is my version.xml content: <version> <file> <physical_name>vboxwrapper_26012_i686-pc-linux-gnu</physical_name> <main_program/> <copy_file/> </file> <file> <physical_name>uppercase</physical_name> <logical_name>shared/UP</logical_name> </file> <file> <physical_name>vm_image86.vdi</physical_name> <copy_file/> <logical_name>vm_image.vdi</logical_name> </file> <file> <physical_name>vbox_job_3.0.xml</physical_name> <logical_name>vbox_job.xml</logical_name> </file> <file> <physical_name>input.txt</physical_name> <copy_file/> <logical_name>shared/IN</logical_name> </file> <file> <physical_name>output.txt</physical_name> <copy_file/> <logical_name>shared/OUT</logical_name> </file> <file_prefix>shared</file_prefix> </version> |
Send message Joined: 4 Jul 12 Posts: 321 |
The input and output files don't go into version.xml. This file specifies the files that are needed by the application version in order to run on the client (without input/output). The input and output files are specified in the template files as they change with each workunit but the files in version.xml stay the same. If you are using file_prefix you should ommit prepending shared/ to your files in your templates. |
Send message Joined: 14 Feb 13 Posts: 50 |
The input and output files don't go into version.xml. So how I mention logical name to input file? "Creating jobs for VM apps The input and output files of a VM app must Have logical names starting with shared/. Have the copy_file attribute. This causes the BOINC client to copy them to and from the slot/x/shared/ directory." |
Send message Joined: 14 Feb 13 Posts: 50 |
when I run the boinc I face with these problems: Wed 24 Apr 2013 07:32:31 PM MYT uppercase Starting VVV_0 Wed 24 Apr 2013 07:32:31 PM MYT uppercase [error] Can't create link file slots/0/shared/uppercase Wed 24 Apr 2013 07:33:06 PM MYT uppercase Computation for task VVV_0 finished Wed 24 Apr 2013 07:33:06 PM MYT uppercase Output file VVV_0_0 for task VVV_0 absent I already tried to set up the access permissions for the slot and other folders, but that still doesn't work. why am I getting these error? |
Send message Joined: 4 Jul 12 Posts: 321 |
The input and output files don't go into version.xml. The logical name of the input file is set in the input template file (see JobTemplates, it's called open_name !). You don't have to prefix with "shared/" as you already have this covered in your version.xml (file_prefix). You should also add the copy_file attribute to the uppercase executable you specified in your version.xml that should fix the error you see. |
Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.