Best Python code snippet using lisa_python
operating_system.py
Source:operating_system.py
...843 assert menu_id, f"cannot composite menu id from {submenu_id}"844 # composite boot menu in grub845 menu_entry = f"{menu_id}>{submenu_id}"846 self._log.debug(f"composited menu_entry: {menu_entry}")847 self._replace_default_entry(menu_entry)848 self._node.execute("update-grub", sudo=True)849 try:850 # install tool packages851 self.install_packages(852 [853 f"linux-tools-{kernel_version}-azure",854 f"linux-cloud-tools-{kernel_version}-azure",855 f"linux-headers-{kernel_version}-azure",856 ]857 )858 except Exception as identifier:859 self._log.debug(860 f"ignorable error on install packages after replaced kernel: "861 f"{identifier}"862 )863 def _get_information(self) -> OsInformation:864 cmd_result = self._node.execute(865 cmd="lsb_release -a",866 shell=True,867 no_error_log=True,868 expected_exit_code=0,869 expected_exit_code_failure_message="error on get os information",870 )871 assert cmd_result.stdout, "not found os information from 'lsb_release -a'"872 for row in cmd_result.stdout.splitlines():873 os_release_info = self.__lsb_os_info_pattern.match(row)874 if os_release_info:875 if os_release_info.group("name") == "Distributor ID":876 vendor = os_release_info.group("value")877 elif os_release_info.group("name") == "Release":878 release = os_release_info.group("value")879 elif os_release_info.group("name") == "Codename":880 codename = os_release_info.group("value")881 elif os_release_info.group("name") == "Description":882 full_version = os_release_info.group("value")883 if vendor == "":884 raise LisaException("OS vendor information not found")885 if release == "":886 raise LisaException("OS release information not found")887 information = OsInformation(888 version=self._parse_version(release),889 vendor=vendor,890 release=release,891 codename=codename,892 full_version=full_version,893 )894 return information895 def _replace_default_entry(self, entry: str) -> None:896 self._log.debug(f"set boot entry to: {entry}")897 sed = self._node.tools[Sed]898 sed.substitute(899 regexp="GRUB_DEFAULT=.*",900 replacement=f"GRUB_DEFAULT='{entry}'",901 file="/etc/default/grub",902 sudo=True,903 )904 # output to log for troubleshooting905 cat = self._node.tools[Cat]906 cat.run("/etc/default/grub")907class FreeBSD(BSD):908 @retry(tries=10, delay=5)909 def _install_packages(...
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!!