Skip to main content

Releasing version 15

· 8 min read

Agama 15 is out and it is time for a new blog post after our previous announcement of... wait... Agama 13? You may be wondering what happened to Agama 14. The answer is easy, we released it but we were too busy to write the corresponding blog post. So this will serve as an announcement for both versions.

Let's jump directly into the new features because there is a lot to cover.

Usability improvements related to localization

We will start with those features affecting directly the web user interface. And in that regard we have to mention the changes introduced in the internationalization area. Agama offers two different localization (l10n) configurations:

  • One for the installer interface (language and keyboard layout).
  • Another for the installed Linux distribution (language, keyboard layout, and timezone).

There are many good reasons for that distinction, but users of previous versions of Agama used to confuse these settings despite being configured at different places of the user interface. That should not be the case anymore thanks to the many usability improvements introduced by this pull request, which includes a detailed description of the changes with many screenshots.

Some of the localization adjustments

Revamped Wi-Fi user interface

The network section of the web user interface also received many usability improvements, especially regarding the configuration of Wi-Fi connections. Once again, the individual changes are too many to be listed here but can be checked at the description of the corresponding pull request at Github.

New network page listing all found Wi-Fi networks

Clarify options at the storage page

If there is another aspect of the configuration that can be as challenging as the network, that is the storage setup. We keep adding more options on every Agama release and sometimes that implies we must invest some time polishing small details to make the whole user interface more understandable.

In that regard, Agama 14 reorganized the contextual menus on the storage section to help users find the option they are looking for and understand the implications of each action.

Menus at the storage section

Registration: extensions and certificates

And talking about adding new options to Agama, we also have to consider which of those options are available at the web interface and which ones are there only to be tweaked using the command line or a configuration file (eg. during unattended installation). The possibility of fine-tuning the registration process was an example of the latter... until now.

Agama 14 made it possible to use the web interface to register extensions. Those extensions allow to add more capabilities to SUSE Linux Enterprise right from the installation of the system.

Registering extensions at the web UI

But that is not the only news regarding registration. Agama 15 also added more options to deal with self-signed certificates for those SUSE customers using RMT (Repository Mirroring Tool) to manage subscriptions on their own internal network.

Self-signed certificate for registration

Management of certificate warnings and errors go beyond the visual interface and Agama 15 also offers several ways to handle the situation on unattended installations. In fact, the possibilities of unattended installations are dramatically expanded with these new releases of Agama. Starting with a special case.

Unattended configuration for iSCSI and DASD devices

We usually implement new features first in the configuration used for unattended installation (the profile, using AutoYaST jargon) and only later we decide whether the given feature must be available at the web interface and, if so, to what extent. But the case of iSCSI and DASD configuration was an exception. Due to their special nature, we first implemented interactive management for them, available already at the early versions of the Agama web interface. Users have had to wait until recent versions 14 and 15 to be able to configure iSCSI and DASD respectively using only a section of the Agama configuration.

We are in the process of improving the documentation for the Agama configuration, but meanwhile examples for both storage technologies can be found at Agama's examples directory.

Storage section: improved searches and software RAIDs

And talking about unattended installation and storage technologies, Agama 15 also represents a step forward in the way to select and combine the disks and partitions in the target system.

On the one hand, the search property that allows to match existing devices with definitions in the configuration was improved to support filtering by name, size and partition number. On the other hand, this Agama release includes the first fully functional implementation of the property mdRaids that allows to create and reuse MD RAID devices.

The combination of those new features allows to create configurations like the following.

{
"storage": {
"drives": [
{
"search": {
"condition": { "size": { "greater": "1 TiB" } },
"max": 2,
},
"partitions": [
{ "search": "*", "delete": true },
{
"size": "20 GiB",
"alias": "parts-for-root"
},
{
"size": { "min": "1 GiB" },
"alias": "parts-for-home"
}
]
},
],
"mdRaids": [
{
"devices": [ "parts-for-root" ],
"level": "raid0",
"filesystem": { "path": "/" }
},
{
"devices": [ "parts-for-home" ],
"level": "raid1",
"name": "data",
"encryption": {
"luks2": { "password": "notsecret" }
},
"filesystem": { "path": "/home" }
}
]
}
}

Advanced boot loader configuration

Apart from the storage configuration, there are other aspects where users of unattended installation may have special requirements. One of those areas is the configuration of the boot loader.

The new Agama versions allow to setup an arbitrary timeout for the menu and also additional parameters to be passed to the kernel on every boot of the target system.

{
"bootloader": {
"timeout": 10,
"extraKernelParams": "verbose"
}
}

Creation of network bridges

The network section of the configuration was also expanded with the possibility to define bridge interfaces. As you can see in the following example, the syntax follows the same general principles than the previously existing support for network bonding.

{
"network": {
"connections": [
{
"id": "Bridge0",
"method4": "manual",
"interface": "br0",
"addresses": ["192.168.1.100/24"],
"gateway4": "192.168.1.1",
"nameservers": ["192.168.1.1"],
"bridge": {
"ports": ["eth0", "eth1"],
"stp": false
}
}
]
}
}

But not all improvements in the unattended installation field correspond to new configuration options or sections. There are also other aspects of the experience we decided to enhance.

Relative URLs at the Agama configuration

As the most seasoned (open)SUSE users know, AutoYaST may be a bit singular when it comes to URLs. One of the most creative AutoYaST tricks is the usage of an AutoYaST-specific schema relurl to specify URLs that are relative to the location of the profile. Of course, specifying resources relatively to the profile is useful in many scenarios, but for Agama we decided it could be done better.

Instead of porting relurl, Agama 15 introduces the concept of URL reference, well known from HTML and standardized at RFC3986. You can see the difference between an absolute and a relative URL in the following example.

{
"files": [
{
"destination": "/etc/issue.d/readme.issue",
"url": "http://192.168.122.1/agama/issue-readme",
},
{
"destination": "/etc/issue.d/agama.issue",
"url": "./issue-sles",
}
]
}

Improvements at the command-line interface

So far we described many improvements for both the web user interface and the unattended installation process. But as you know, the latter is not really any special mode at Agama, but just a way to trigger the installation in a way in which it still can be monitored and controlled using the mentioned web interface or Agama's command-line tools.

During this sprint we improved several aspect of those tools, especially regarding its ability to interact with remote systems, and implemented a new command agama monitor that can be used to connect to any ongoing installation and follow the process.

The command 'agama monitor' in action

We must admit the previous screenshot corresponds to an improved version of the agama monitor command which is not included at Agama 15. Because, of course, this release is just another step in the long way to our Agama vision.

More to come

As you can see, we are already working on Agama 16 and beyond. You can check our plans at the public project roadmap and test the latest development version using the corresponding Live ISO images.

If you got questions or want to get involved, do not hesitate to contact us at the Agama project at GitHub and our #yast channel at Libera.chat. Have a lot of fun!


Comments

We are interested in your feedback, feel free to leave a comment here!

To comment here you need a GitHub account and authorize the Giscus application. Or you can comment directly at this GitHub discussion without authorizing the Giscus application.

Alternatively you can reach us at the #yast channel at the Libera.Chat, YaST Development mailing list or the Agama project at GitHub.