grub方法目录 - KPTest框架开放资料

Skip to content

# grub方法目录

1. init_grub
> 描述：

    1
    2
    3

    方法功能：

    命令格式：

> 参数：

    1

> 返回值：

    1

> 异常：

    1

> 举例：

    1

2. get_login_info
> 描述：

    1
    2
    3

    方法功能：获取grub登陆信息

    命令格式：

> 参数：

    1

    None

> 返回值：

    1
    2
    3

    need_login   (bool):是否需要登录
    username      (str):登录用户名
    password      (str):登录密码

> 异常：

    1

    None

> 举例：

    1

    self.host.grub.get_login_info()

3. does_cfg_exist
> 描述：

    1
    2
    3

    方法功能：检查配置信息是否已经存在

    命令格式：cat /etc/default/grub |grep GRUB_CMDLINE_LINUX

> 参数：

    1

    param  (str):需要检查的grub配置

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示配置已存在
    False 表示配置不存在

> 异常：

    1

    None

> 举例：

    1

    self.host.grub.does_cfg_exist(‘numa=off’)

4. add_cmdline_param
> 描述：

    1
    2
    3

    方法功能：grub配置文件添加启动项

    命令格式：sed -i 's|rd.lvm.lv=ao/swap"|rd.lvm.lv=ao/swap numa=off"|'  /etc/default/grub

> 参数：

    1

    param    (str):需要添加的grub配置

> 返回值：

    1
    2
    3

    res     (bool):
    True 表示添加成功
    False 表示添加失败

> 异常：

    1

    KPTestException：'在grub配置文件需要删除的信息不能为空'

> 举例：

    1

    self.host.grub.add_cmdline_param(‘numa=off’)

5. del_cmdline_param
> 描述：

    1
    2
    3

    方法功能：grub配置文件删除启动项

    命令格式：sed -i 's|rd.lvm.lv=ao/swap numa=off"|rd.lvm.lv=ao/swap"|'  /etc/default/grub

> 参数：

    1

    param    (str):需要删除的grub配置

> 返回值：

    1
    2
    3

    res (bool):
    True 表示删除成功
    False 表示删除失败

> 异常：

    1

    KPTestException：'在grub配置文件需要删除的信息不能为空'

> 举例：

    1

    self.host.grub.del_cmdline_param(‘numa=off’)

6. does_param_actived
> 描述：

    1
    2
    3

    方法功能：检查配置信息是否已经生效

    命令格式：cat /proc/cmdline

> 参数：

    1

    param  (str):需要检查的grub配置

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示配置已生效
    False 表示配置未生效

> 异常：

    1

    None

> 举例：

    1

    self.host.grub.does_param_actived(‘numa=off’)

7. activate_config
> 描述：

    1
    2
    3

    方法功能：更新grub配置信息到grub.cfg文件

    命令格式：grub2-mkconfig -o /boot/efi/EFI/anolis/grub.cfg

> 参数：

    1
    2

    reboot  (bool):是否需要重启，默认重启
    wait    (bool):是否等待重启，默认等待

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示操作成功
    False 表示操作失败

> 异常：

    1

    None

> 举例：

    1

    self.host.grub.activate_config()

8. enter_grubmenu_by_sol
> 描述：

    1
    2
    3

    方法功能：进入grub菜单界面

    命令格式：

> 参数：

    1

    serial (BMC)：bmc host对象

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示操作成功
    False 表示操作失败

> 异常：

    1

    KPTestException("未成功获取boot界面")

> 举例：

    1

    self.host.grub.enter_grubmenu_by_sol(bmc_host)

9. edit_grubmenu_by_sol
> 描述：

    1
    2
    3

    方法功能：grub菜单按‘e'进入编辑

    命令格式：

> 参数：

    1

    serial (BMC)：bmc host对象

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示操作成功
    False 表示操作失败

> 异常：

    1

    KPTestException("未成功进入grub 编辑界面")

> 举例：

    1

    self.host.grub.edit_grubmenu_by_sol(bmc_host)

10. enter_grubcmd_by_sol
> 描述：

    1
    2
    3

    方法功能：grub菜单按'c'进入命令行

    命令格式：

> 参数：

    1

    serial (BMC)：bmc host对象

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示操作成功
    False 表示操作失败

> 异常：

    1

    None

> 举例：

    1

    self.host.grub.enter_grubcmd_by_sol(bmc_host)

11. exit_grubcmd_to_normal
> 描述：

    1
    2
    3

    方法功能：grub菜单按'ESC'键退出命令行

    命令格式：

> 参数：

    1

    serial (BMC)：bmc host对象

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示操作成功
    False 表示操作失败

> 异常：

    1

    None

> 举例：

    1

    self.host.grub.exit_grubcmd_to_normal(bmc_host)

12. login_grubmenu_by_sol
> 描述：

    1
    2
    3

    方法功能：grub登陆操作

    命令格式：

> 参数：

    1
    2

    serial     (BMC)：bmc host对象
    check_str  (str):当前页面的响应信息

> 返回值：

    1

    res   (str):登陆后页面的响应信息

> 异常：

    1
    2

    KPTestException("登录界面异常！")
    KPTestException("grub需要登陆 请适配登陆信息"

> 举例：

    1

    self.host.grub.login_grubmenu_by_sol(bmc_host, 'str')

13. get_grubmenu_entry
> 描述：

    1
    2
    3

    方法功能：获取grub菜单入口关键字

    命令格式：

> 参数：

    1

    None

> 返回值：

    1

    res   (str):grub菜单入口关键字

> 异常：

    1

    None

> 举例：

    1

    self.host.grub.get_grubmenu_entry()

14. add_param_by_sol
> 描述：

    1
    2
    3

    方法功能：使用ipmi串口添加grub配置

    命令格式：

> 参数：

    1
    2

    serial (BMC)：bmc host对象
    param  (str):需要添加的grub配置信息

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示操作成功
    False 表示操作失败

> 异常：

    1

    InvalidParamException("请传入str类型的参数")

> 举例：

    1

    self.host.grub.add_param_by_sol(bmc_host, 'numa=off')

15. del_param_by_sol
> 描述：

    1
    2
    3

    方法功能：使用ipmi串口删除grub配置

    命令格式：

> 参数：

    1
    2

    serial (BMC)：bmc host对象
    count  (int): 按回车次数

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示操作成功
    False 表示操作失败

> 异常：

    1

    InvalidParamException("请传入int类型的参数")

> 举例：

    1

    self.host.grub.del_param_by_sol(bmc_host,5)

16. boot_from_grubmenu
> 描述：

    1
    2
    3

    方法功能：grub页面输入ctrl-x启动os

    命令格式：

> 参数：

    1

    serial (BMC)：bmc host对象

> 返回值：

    1

    None

> 异常：

    1

    KPTestException('impisol输入ctrl-x失败')

> 举例：

    1

    self.host.grub.boot_from_grub_menu()

17. switch_mode
> 描述：

    1
    2
    3

    方法功能：设置或取消grub界面的文本化

    命令格式：

> 参数：

    1

    text  (bool):是否切换文本模式

> 返回值：

    1
    2

    res   (bool):
    True 表示操作成功

> 异常：

    1

    None

> 举例：

    1

    self.host.grub.switch_mode()

18. get_origin_timeout
> 描述：

    1
    2
    3

    方法功能：获取grub菜单默认超时时间

    命令格式：sed -n '/GRUB_TIMEOUT=/p' /etc/default/grub

> 参数：

    1

    None

> 返回值：

    1

    res  (str):grub菜单默认超时时间

> 异常：

    1

    InvalidParamException("请传入int类型的参数")

> 举例：

    1

    self.host.grub.get_origin_timeout()

19. set_timeout
> 描述：

    1
    2
    3

    方法功能：修改grub菜单超时时间

    命令格式：sed -i -re 's/GRUB_TIMEOUT=[0-9]{0,5}/GRUB_TIMEOUT=30/g' /etc/default/grub

> 参数：

    1

    timeout  (str):设置的超时时间

> 返回值：

    1
    2
    3

    res   (bool):
    True 表示操作成功
    False 表示操作失败

> 异常：

    1

    None

> 举例：

    1

    self.host.grub.set_time_out('5')

20. modify_grub_config
> 描述：

    1
    2
    3

    方法功能：sed命令修改grub配置文件

    命令格式：sed -i 's|numa=off||'  /etc/default/grub

> 参数：

    1

    sed_cmd  (str):修改文件的sed命令

> 返回值：

    1

    None

> 异常：

    1

    None

> 举例：

    1

    self.modify_grub_config("'s|numa=off||'")