hbp_nrp_cleserver.server.LuganoVizClusterGazebo module

This module contains the classes needed to have all gazebo services running on the Lugano viz cluster.

class LuganoVizClusterGazebo(timezone=None, reservation=None)[source]

Bases: hbp_nrp_commons.cluster.LuganoVizCluster.LuganoVizCluster, hbp_nrp_cleserver.server.GazeboInterface.IGazeboServerInstance

Represents an instance of gzserver running on the Lugano viz cluster.

There is a wide usage of pexpect in this class because of the remote connections via ssh needed to access the Lugano machines. Every time a remote command is launched, expect() is used to match strings with the shell output in order to understand its status.

DEFAULT_GZSERVER_PORT = 11345
GAZEBO_GPUS = 1
GAZEBO_PROCESSES = 4
VGLCONNECT_CMD = 'vglconnect bbpnrsoa@{node}.cscs.ch -M -K'
property gazebo_master_uri

Returns a string containing the gzserver master URI (like:’http://bbpviz001.cscs.ch:11345’)

restart(ros_master_uri)[source]

Restarts the gzserver instance.

Parameters

ros_master_uri – The ros master uri where to connect gzserver.

start(ros_master_uri, models_path=None, gzserver_args=None)[source]

Start gzserver on the Lugano viz cluster

stop()[source]

Delete any temporary directory files and deallocate the node.

try_extend(new_timeout)[source]

” Verifies that the gazebo can accept the new simulation timeout Returns whether the timeout is accepted

exception XvfbXvnError[source]

Bases: Exception

This exception class is a marker for errors coming from Xvfb or Xvn.