-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reliably track robot identity across renames #10689
Comments
I like |
Another question is exactly how we should expose this ID.
|
Ideally, we'd have this bit of information present in all three sources. Less ideally, I think it's workable if it's missing from mDNS |
Migrated to RSS-489. |
Overview
The robot discovery system currently listens for robots on the network and keeps track of them by their IP addresses and human-readable names.
This is problematic because both of those things are transient. IP addresses can change as DHCP leases expire, and users can rename robots.
So, for example, the Opentrons App has no reliable way to distinguish between:
A
toB
.A
robot going offline, and then a differentB
robot appearing for the first time.Which can cause the UI to present things in a confusing way.
In certain cases, the Opentrons App might be able to handle this heuristically. For example, if it is the thing that triggered the rename from
A
toB
in the first place, it can know that the "new" robot calledA
is really the same thing as theB
robot that just disappeared. But this can't hold up in the general case because robots can change their names under command from other clients, or even on their own (to automatically deconflict with other devices on the network). And it would be prone to timing-related fragility.So, the Opentrons App needs a way of tracking robot identity that's independent from names and IP addresses.
Acceptance criteria
A
toB
versus theA
robot going offline and then a differentB
robot appearing for the first time.Implementation options
We can have the Opentrons App and discovery client use some new form of robot ID. Options:
<hostname>.local
). With the way the robot software is currently set up,<hostname>
is the robot's serial number, when everything is working correctly. So this should be functionally equivalent to that.machineId
for the sake of discussion—that we would expose over HTTP.machine-id
.The text was updated successfully, but these errors were encountered: