[Rock-dev] Patch "add --prefix" to Roby

Ruun ruunhb at googlemail.com
Fri Aug 12 18:20:08 CEST 2011


I hope i'm not explaining it wrongly because i'm not familiar with 
details about the
prefix usage. But we use it currently for a unique name generation for 
the avahi namespace,
where i guess the same task can be distributed more than once in the 
network and we
want to avaid name conflicts in e.g. _rimres._tcp. We have also a unique 
number called FAMOS_SYSTEM_ID
which is part of the prefix. The task name itself is the name for a 
avahi service.

You already know that orogen integrates a command line parser into the 
deployments
that provides a --prefix flag and we hope to find a convenient way to 
distribute the prefix
for some our deployments in roby.

Automatic appending the robot_name and/or roby_type would be great and 
for testing purpose
it would be good we could even give our FAMOS_SYSTEM_ID in order to 
avoid name clashes
when a robot is started more than once.

Something like
$ ./scripts/run robot_19
would be great.

My current implementation would be usable now in that way:

1) Activate first automatic prefix appending in config/app.yml
# config/app.yml
engine:
log:
...
# List all deployments whose tasknames should be added with the prefix
prefixed_deployments:
   - MTA
   - ROOT
   - etc.

2) Specify the prefix due its robot_name or/and robot_type
$ ./scripts/run robot_name robot_type

I'm not so familar with usage of the robot_type and its internal logic 
within the framework.

I observed each robot has it's own ruby file within the config and 
config/deployment folder e.g. robot: avalon => avalon.rb
which is specified by the robot_name.

What is the effect of specifying the robot_type addtionally? Is there 
also any convention where roby
is searching a specific location for a type definition (e.g. another 
simple ruby file only for robot_types?)

Chris

P.S. If you are reading this and find a mistake, please correct me @thomas


On 12.08.2011 09:48, Sylvain Joyeux wrote:
> On 08/11/2011 04:17 PM, Chris Müller wrote:
>> Hi Sylvain
>>
>> i've implemented now an easy combination of both approaches:
>> First it's possible now to add the "robot_type" to the commandline 
>> arguments
>> for each deployment as :prefix =>  "robot_type" option pair.
> Could you be more specific as how you use this ?
>
> Moreover, I think that using the robot_name as default would make more 
> sense: if your run 3 CREX systems, you want them to share most of the 
> configuration (== robot type) and only slightly differ (== robot 
> name), except for all the prefixes that would need to be unique (== 
> robot_name)



More information about the Rock-dev mailing list