Ice Remote Deployment

Creating a Sync folder using armarx-dev sync

In order to execute an Scenario remotely you need to ensure that all Pc's have the same build status. To ensure this the armarx-dev CLI has an option to do this called sync

Example sync command:

armarx-dev sync [optional --localSyncDir /path/to/local/sync/dir] --remoteSyncDir /path/to/remote/sync/dir --deployHosts i61pcXYZ,i61pcABC ArmarXCore ArmarXGui

This will synchronize the data of all given hosts at the specified remoteSyncDir of all given packages.

Here is a list of all option this tool has:

  • –port PORT, -p PORT
    server port (default: 22)
  • –deployHosts DEPLOYHOSTS, -d DEPLOYHOSTS
    remote machines to synchronize to (default: 10.4.1.1,10.4.1.2)
  • –localSyncDir LOCALSYNCDIR, -l LOCALSYNCDIR
    files are installed in this directory and then synchronized (default: /common/homes/students/your-username/sync-armarx)
  • –no-delete, -nd
    do not delete the localSyncDir content before installing (default: False)
  • –no-dep
    only install locally the given package without dependencies. Local install-directory will NOT be wiped before installing. (default: False)
  • –remoteSyncDir REMOTESYNCDIR, -r REMOTESYNCDIR
    directory on the remote host to synchronize to (can be set via environment variable ARMARX_REMOTE_SYNC_DIR) (default: armarx_username)
  • –username USERNAME, -u USERNAME
    user for connecting to remote machine (default: armar-username)
  • –compile, -c
    compile project before installing (default: False)
  • –ninja, -n
    Use ninja instead of make (default: False)
  • -j JOBCOUNT
    Number of cores to use for compilation. Number of cores of cpu is used of omitted. (default: 0)

Launching a Scenario Remotely

After you have an a sync folder on every Pc you have to make sure that your sync folder in your default path corresponds to the path you used in the sync command

The default path to the file is : ~/.armarx/icegrid-sync-variables.icegrid.xml and should look like this

<icegrid>
<variable name="ARMARX_SYNC_DIR" value="/absolute/path/to/your/sync/dir"/>
</icegrid>

If both these Requirements are met you can either use ScenarioManagerCLI or ScenarioManagerGUI to launch the Scenario remotely.

cxxopts::value
std::shared_ptr< Value > value()
Definition: cxxopts.hpp:926
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28