距离我们上次状态更新已经很久了!原因是上一轮冲刺的结束让 YaST 团队的许多成员都去度假了,而当度假期结束后,我们急于投入开发,让 YaST 变得更好一点点,以至于博客文章不知不觉地落后了。

但现在是时候偿还我们的(报告)债务了。以下是 4 月 11 日结束的第 33 次开发冲刺的一些亮点。

AutoYaST 和 Salt 集成

在本冲刺期间,一个新模块被添加到 YaST 工具箱中:YaST2 配置管理

该模块提供 AutoYaST 和配置管理系统(如 Salt)之间的集成。想法是 AutoYaST 将负责系统安装(分区、网络设置等),如果需要,可以将系统配置委托给这些外部工具之一。

YaST 配置管理模块诞生于去年夏天的一次 SUSE 内部研讨会,并在 HackWeek 1415 期间得到了更多的关注。

现在它正式成为 YaST 大家庭的一部分,并将包含在即将发布的版本中。

The new module: YaST - Configuration
Manager

通过附加组件扩展 YaST 安装程序工作流

YaST 安装程序已经允许通过附加组件扩展安装工作流。但是,这仅支持 ISO 安装介质上使用的 SUSE 标签仓库。这意味着通常使用 RPM-MD 数据格式的在线仓库无法使用此功能。

在本冲刺中,我们还将对其他仓库格式(基本上 libzypp 支持的任何仓库格式)的支持扩展了。最初的限制是由于其他仓库类型不支持除 RPM 包之外的其他文件。

为了克服这个限制,我们现在支持将安装程序扩展文件打包到标准的 RPM 包中,然后可以通过任何仓库类型提供该包。

该实现已 记录,并且 YaST:extension OBS 项目中有一个简单的示例扩展:YaST:extension

The example extension in action

YaST 模式定义

软件模式定义已被拆分并移动到各自的 OBS 开发项目。有关更多详细信息,请参阅 此 opensuse-factory 公告。这意味着 YaST 模式现在在 YaST:Head 项目中维护。

项目源代码已导入到 GitHub 仓库,以跟踪历史记录并使用代码审查工作流程。此外,还设置了常用的 JenkinsTravis 自动化。要贡献您对 YaST 模式的更改,请使用与其他 YaST 包相同的常规 GitHub pull request 工作流程。提前感谢! :smiley:

CaaSP 值得拥有自己的 YaST 包!

在其他方面,我们的团队正在努力使 YaST 满足即将推出的容器即服务平台 (CaaSP) 产品的要求。作为这项工作的一部分,我们添加了一些新功能,发现了(并修复了)一些错误,改进了文档等等。

我们还添加了一些特定的 CaaSP 代码,所以在本次冲刺期间,我们决定创建一个新的专用包 (yast2-caasp) 并将代码移至那里。

目前它仅包含 系统角色处理程序和一些 附加文档,但很可能在未来几个月内我们会添加一些内容。

引导程序改进

引导程序模块也得到了改进,以更好地处理 CaaSP 产品中无效的分区建议。当分区建议不包含有效的根目录时,引导程序模块崩溃了。

修复后,它现在会显示有关问题的详细信息,以便用户可以手动修复配置。

New YaST-bootloader warning

AutoYaST 集成测试中的自动截图

保持质量工作的一个重要部分是投资于工具的质量。因此,在本冲刺期间,我们决定改进 AutoYaST 集成测试 的功能。为了帮助调试,AYTests 现在将在工作区中存储一个截图以及(如果可能的话)安装/升级的 YaST2 日志。

截图将每 30 秒刷新一次,因此,如果发生超时,现在很容易找到进程卡住的位置。

创建您自己的安装介质

最近,有一组新的软件包被引入到 Tumbleweed 中,以帮助设置本地安装服务器。它们名为 tftpboot-installation-<PRODUCT>-<ARCH>(例如 tftpboot-installation-openSUSE-Tumbleweed-x86_64)旨在简化设置 PXE 启动环境以进行安装服务器的过程。

这些软件包基本上包含在 SUSE 安装介质上找到的安装环境。

这使得 mksusecd 可以从中创建一个网络安装镜像。

例如,上面的软件包将其文件安装到目录 /srv/tftpboot/openSUSE-Tumbleweed-x86_64 中。

所以,让我们运行

mksusecd \
  --create foo.iso \
  --net=http://download.opensuse.org/tumbleweed/repo/oss/suse \
  /srv/tftpboot/openSUSE-Tumbleweed-x86_64

我们得到一个网络安装 ISO 镜像,它将使用官方 openSUSE Tumbleweed 仓库安装 Tumbleweed 发行版。

请注意,我们使用的是 /tumbleweed/repo/oss/suse 处的 RPM-MD 仓库,而不是像人们可能期望的那样使用 /tumbleweed/repo/oss。当然,也可以使用 /tumbleweed/repo/oss 仓库,但我们想酷一点。 :smiley:

您可以将 foo.iso 也放在 USB 存储器上

dd if=foo.iso of=/dev/<USB_DEVICE>

并从中启动。

为了更酷一点,请尝试 --fat 选项

mksusecd \
  --create foo.iso \
  --fat \
  --net=http://download.opensuse.org/tumbleweed/repo/oss/suse \
  /srv/tftpboot/openSUSE-Tumbleweed-x86_64

这将创建一个用于数据的 FAT 分区,这在您计划将镜像放在 USB 存储器上时会更方便(是的,您仍然可以使用该镜像来刻录 DVD)。

启动时串行控制台

YaST 引导程序模块可用于配置参数,以允许通过串行控制台访问系统的启动过程。但这是一个相对复杂的主题,在指定此类参数时很容易出错。过去,YaST 在出错时显示的消息不够有用。为了改善可用性,新的弹出窗口更好,并包含一个适当的示例,如以下屏幕截图所示。

More guided serial console setup in YaST-Bootloader

存储重新实现:新的提议引导设置

上一次冲刺中,我们引入了对分区和基于 LVM 的提议使用加密的能力。这一次,我们更进一步,并提出了一种新的引导设置,允许您做更多的事情。我们与我们的 UX 专家携手设计了一个由四个步骤组成的新提议向导。

在第一个步骤中,显示了可用磁盘的列表,您可以选择哪些磁盘用于新的安装。

Guided proposal setup - step 1

在第二个屏幕中,您可以选择用于根分区的特定磁盘,并且您还可以决定如何处理现有的 Windows 和 Linux 安装系统。当前,后一种功能仅为说明性,但它将在未来的冲刺中变得可用。

Guided proposal setup - step 2

第三步对您来说可能更熟悉。与上一次冲刺一样,您可以在这里选择 LVM 的使用情况和加密。当然,加密密码将被检查,以确保您使用的密码足够强大。

Guided proposal setup - step 3

最后,在最后一步中,可以选择根分区的文件系统类型。此外,您可以决定是否使用单独的主目录,或者选择另一个文件系统类型用于您的主目录。

Guided proposal setup - step 4

作为向导的结果,将自动创建一个新的分区方案,考虑到您选择的所有选项。当然,这只是第一个版本。我们将在后续冲刺中告知您有关引导设置的新闻。

在线迁移中不一致时警告用户

在实时 Service Pack 迁移之前,系统可以手动以多种方式修改,从而导致已安装的系统与注册服务器中注册的扩展/模块之间产生不一致。

在本冲刺中,我们添加了一些步骤,允许用户修复不一致。此外,显示的可用迁移摘要也得到了改进,显示了没有可用迁移的产品的信息(例如第三方附加组件)。

对于在线迁移,重要的是能够在发生问题或用户中止迁移时能够回滚到原始状态(在迁移开始之前)。

现在,用户将能够决定在回滚过程中是否应停用已注册但未安装的产品。

Warning for inconsistent online migration

很快再见!

像往常一样,本报告仅涵盖了上一轮冲刺期间完成的工作的一小部分,并且像往常一样,您必须等到当前冲刺结束才能获得更多令人兴奋的消息。好消息是冲刺将在几天内结束,因此您只需要等待一周即可阅读我们的下一份报告。

敬请关注,玩得开心!