Switch ros2 doctor to using psutil for network checks. #687
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ifcfg has a couple of different problems. The first is that
the code literally calls 'ifconfig' and parses the output. While
this generally works, it is pretty ugly. For those reasons,
Debian has specifically excluded it.
Instead, switch to psutil to get information about the network
interfaces on the system (at least, on POSIX). This gets us
all of the information we had before, but using ioctl's instead.
Note that we can't actually get any flags from psutil at the
moment. There is a PR open upstream to get this information,
but since it is not going to be available soon we implement
the equivalent thing in Python by using fcntl.ioctl.
Signed-off-by: Chris Lalancette clalancette@openrobotics.org
This will also require a change to CI to install psutil on Windows; PR for that will be upcoming. @nuclearsandwich @j-rivero FYI