1) How can I get multiple domains to show within in one instance of the Infrastructure Mananger?
2) How can I move certain robots from one domain to another?
1) If you right click on the Domains node at the top of the navigation tree in the left pane of Infrastructure Manager, you will see an option for Show All Domains. If that option is enabled and you still do not see other domains listed, your login hub is probably not aware of them. Exactly how to make the login hub aware of other domains depends on how the domains are setup, but I think you need to make sure the two domains are "connected" in some way, either via a tunnel or a static entry on one of your hubs.
2) I doubt you can move robots between domains with an option in the Infrastructure Manager. Even moving robots within a domain does not always work in the Infrastructure Manager. I find the most reliable way to move a robot is to edit robot.cfg directly or use Raw Configure, and I think that will work for a move between domains too. You do not need to update the hubname or hubrobotname options, but you need to update the hubip option and probably the domain option as well. Test on one first and make sure that works for you!
On item 2, you can do a right click and a move from within IM and use the hub hostname option. However, it will not work if you are connected to the robot via a pair of tunnelled hubs (because IM will need the tunnel to communicate with the robot controller). The direct cfg configure is then the only way. You can do this programatically using the perl API..
my $configPds = pdsCreate();
NimbusRequest($configPds,$robot,"hubip","new hub ip");
pdsDelete($configPds) if ($configPds);
my $robotPds = pdsCreate();
Note that in recent robot versions, the "hubip" can no longer be set to the hub's DNS name. Instead, a new setting has been provided called "hub_dns_name".
You can skip the updates of the hub and hubrobotname options in the code above. When the robot connects to the new hub (via the hubip or hub_dns_name option), it will update those automatically. That might work for the domain option too, but I do not have personal experience with that.
I would recommend using the _stop callback rather than the _restart callback when changing from one domain to another.
Retrieving data ...