Best Python code snippet using lisa_python
nic.py
Source:nic.py  
...256        self.nic_names = self._get_nic_names()257        self._get_node_nic_info()258        self._get_default_nic()259        self.load_interface_info()260        self._get_nic_uuids()261        for nic in self.get_upper_nics():262            self.get_nic_driver(nic)263    def _get_nic_names(self) -> List[str]:264        # identify all of the nics on the device, excluding tunnels and loopbacks etc.265        all_nics = self._node.execute(266            "ls /sys/class/net/",267            shell=True,268            sudo=True,269        ).stdout.split()270        virtual_nics = self._node.execute(271            "ls /sys/devices/virtual/net",272            shell=True,273            sudo=True,274        ).stdout.split()275        # remove virtual nics from the list276        non_virtual_nics = [x for x in all_nics if x not in virtual_nics]277        # verify if the nics names are not empty278        for item in non_virtual_nics:279            assert_that(item).described_as(280                "nic name could not be found"281            ).is_not_equal_to("")282        return non_virtual_nics283    def _get_nic_device(self, nic_name: str) -> str:284        slot_info_result = self._node.execute(285            f"readlink /sys/class/net/{nic_name}/device"286        )287        slot_info_result.assert_exit_code()288        base_device_result = self._node.execute(f"basename {slot_info_result.stdout}")289        base_device_result.assert_exit_code()290        # todo check addr matches expectation291        return base_device_result.stdout292    def _get_nic_uuid(self, nic_name: str) -> str:293        full_dev_path = self._node.execute(294            f"readlink /sys/class/net/{nic_name}/device",295            expected_exit_code_failure_message=(296                f"could not get sysfs device info for {nic_name}"297            ),298        )299        uuid = os.path.basename(full_dev_path.stdout.strip())300        self._node.log.debug(f"{nic_name} UUID:{uuid}")301        return uuid302    def _get_nic_uuids(self) -> None:303        for nic in self.get_upper_nics():304            self.nics[nic].dev_uuid = self._get_nic_uuid(nic)305    def _get_nic_numa_node(self, name: str) -> int:306        result = self._node.execute(307            f"cat /sys/class/net/{name}/device/numa_node",308            sudo=True,309            shell=True,310            expected_exit_code=0,311            expected_exit_code_failure_message=(312                f"Could not get numa information for nic {name}"313            ),314        )315        numa = int(result.stdout.strip())316        if numa == -1:...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
