This is a draft document that was built and uploaded automatically. It may document beta software and be incomplete or even incorrect. Use this document at your own risk.

Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
Using AutoYaST Profiles with Agama
SUSE Linux Enterprise Server for SAP applications 16.0

Using AutoYaST Profiles with Agama

Publication Date: 12 Aug 2026

Agama can reuse an existing AutoYaST profile for automated installation by converting it into its own JSON format, instead of requiring you to rewrite it from scratch. Support is not complete: some AutoYaST sections have no equivalent in Agama, or behave differently. Read this article to convert and reuse an AutoYaST profile with Agama, and to check which AutoYaST profile sections are supported.

Prerequisites:

1 Using AutoYaST profiles with Agama

Agama can reuse an existing AutoYaST profile for automated installation by converting it into its own JSON format, instead of requiring you to rewrite it from scratch. Support is not complete: some AutoYaST sections have no equivalent in Agama, or behave differently. This topic shows how to convert an AutoYaST profile using the Agama CLI and what to check afterward.

1.1 What Agama does with an AutoYaST profile

The agama config generate command accepts a path or URL and converts its content into a native Agama JSON configuration. It recognizes an AutoYaST profile automatically: if the given path or URL ends in .xml, .erb, or a trailing slash (for a rules or classes directory), Agama downloads and processes it as AutoYaST content, evaluating any Embedded Ruby (ERB) templating or rules/classes selection along the way, before converting the result to JSON. Any other input is treated as an already Agama-native JSON or Jsonnet profile and passed through unchanged.

Agama is not a drop-in replacement for AutoYaST, and the conversion does not cover every AutoYaST section. For the exact list of which AutoYaST elements are supported, and which Agama field they map to, refer to Section 2, “Compatibility between AutoYaST and Agama profiles”.

1.2 Requirements

1.3 Converting and using an AutoYaST profile

  1. Convert the AutoYaST profile to a native Agama JSON profile, writing the result to a file:

    # agama config generate http://example.net/autoyast/profile.xml > profile.json
  2. Validate the converted profile against the Agama profile schema:

    # agama config validate profile.json
  3. Open profile.json in a text editor and review it against Section 2, “Compatibility between AutoYaST and Agama profiles”. The converter simply omits any AutoYaST element it does not support from the generated profile, so review it for missing configuration rather than relying on agama config validate to catch it: validation only rejects a profile that is itself malformed, not one that is silently missing settings the source AutoYaST profile had.

  4. Load the reviewed profile into the running Agama installation session:

    # agama config load profile.json

1.4 Summary

agama config generate lets you carry over an existing AutoYaST profile instead of writing an Agama profile from scratch, but the two formats are not fully compatible. Always validate and review the converted profile before loading it, so unsupported AutoYaST sections are caught before installation rather than during it.

1.5 Troubleshooting

  • If the installed system is missing configuration that was present in the original AutoYaST profile, check Section 2, “Compatibility between AutoYaST and Agama profiles” for that section. Agama reports an unsupported field in the web interface when the profile is loaded, though a command started from the CLI may otherwise appear to make no progress; check the web interface if that happens.

  • If your AutoYaST profile relies heavily on the partitioning section and converting it to the native Agama storage format is impractical, consider using the legacyAutoyastStorage section instead, described in Advanced storage configuration using Agama profiles.

2 Compatibility between AutoYaST and Agama profiles

AutoYaST has long been the standard for unattended and automated installations in SUSE Linux Enterprise Server for SAP applications systems. Agama takes a different approach to system configuration and deployment, using JSON or Jsonnet instead of AutoYaST's XML profiles.

This section lists, element by element, which AutoYaST profile sections carry over when migrating to an Agama profile, based on the upstream compatibility matrix maintained by the Agama project and cross-checked against the current Agama AutoYaST-conversion code where noted.

2.1 How to read the compatibility tables

Most sections below include a table with the following columns.

Important
Important: What "Supported" means

Each table lists only AutoYaST elements that SUSE officially supports in Agama. An element that is not listed is not supported.

AutoYaST

Name of the AutoYaST element.

Supported

Always Supported, kept as a column heading for consistency with the table's other columns.

Agama

Name of the corresponding Agama profile element, if any.

Notes

Any comment or reason about the element.

2.2 add-on

This section is supported.

2.2.1 add-on/add_on_products

This section is supported.

Table 1: add-on/add_on_products compatibility
AutoYaSTSupportedAgamaNotes
media_urlSupportedsoftware.extraRepositories[].url 
aliasSupportedsoftware.extraRepositories[].alias 
prioritySupportedsoftware.extraRepositories[].priority 
nameSupportedsoftware.extraRepositories[].name 
product_dirSupportedsoftware.extraRepositories[].productDir 

2.2.2 add-on/add_on_others

This section is supported.

Table 2: add-on/add_on_others compatibility
AutoYaSTSupportedAgamaNotes
media_urlSupportedsoftware.extraRepositories[].url 
aliasSupportedsoftware.extraRepositories[].alias 
prioritySupportedsoftware.extraRepositories[].priority 
nameSupportedsoftware.extraRepositories[].name 
product_dirSupportedsoftware.extraRepositories[].productDirAgama accepts the value but ignores it.

2.3 bootloader

Supported via its bootloader/global subsection below; the bootloader section's own direct attributes (device_map, loader_type) are not.

2.3.1 bootloader/global

This section is supported.

Table 3: bootloader/global compatibility
AutoYaSTSupportedAgamaNotes
appendSupportedbootloader.extraKernelParams 
timeoutSupportedbootloader.timeoutA negative value maps to bootloader.stopOnBootMenu: true instead.
update_nvramSupportedbootloader.updateNvram 

2.4 dasd

This section is supported.

Table 4: dasd compatibility
AutoYaSTSupportedAgamaNotes
channelSupporteddasd.devices[].channel 
diagSupporteddasd.devices[].diag 

2.5 files

This section is supported.

Table 5: files compatibility
AutoYaSTSupportedAgamaNotes
file_pathSupportedfiles[].destinationCreating directories by using a trailing slash is not yet supported.
file_contentsSupportedfiles[].content 
file_locationSupportedfiles[].url 
file_ownerSupported In Agama it is split into files[].user and files[].group.
file_permissionsSupportedfiles[].permissions 

2.6 iscsi-client

This section is supported.

Table 6: iscsi-client compatibility
AutoYaSTSupportedAgamaNotes
initiatornameSupportediscsi.initiator 

2.6.1 iscsi-client/targets[]

This section is supported.

Table 7: iscsi-client/targets[] compatibility
AutoYaSTSupportedAgamaNotes
portalSupportediscsi.targets[].addressSplit into two values, iscsi.targets[].address and iscsi.targets[].port.
startupSupportediscsi.targets[].startup 
targetSupportediscsi.targets[].name 
ifaceSupportediscsi.targets[].interface 

2.7 kdump

Unsupported. There are plans to support this section in the future.

2.8 keyboard

This section is supported.

Table 8: keyboard compatibility
AutoYaSTSupportedAgamaNotes
keymapSupportedl10n.keymap 

2.9 language

This section is supported.

Table 9: language compatibility
AutoYaSTSupportedAgamaNotes
languageSupportedl10n.locale 

2.10 networking

This section is supported.

Table 10: networking compatibility
AutoYaSTSupportedAgamaNotes
ipv6Supported It affects both method4 and method6.

2.10.1 networking/dns

This section is supported.

Table 11: networking/dns compatibility
AutoYaSTSupportedAgamaNotes
hostnameSupportedhostname.static 
nameserversSupportednetwork.connections[].nameserversCopied to each connection.
searchlistSupportednetwork.connections[].dnsSearchListCopied to each connection.

2.10.2 networking/interfaces[]

This section is supported. It corresponds to the Agama connections element, but the format is not exactly the same.

Table 12: networking/interfaces[] compatibility
AutoYaSTSupportedAgamaNotes
deviceSupportednetwork.connections[].interface 
nameSupportednetwork.connections[].id 
lladdrSupportednetwork.connections[].macAddress 
ipaddrSupportednetwork.connections[].addresses[] 
prefixlenSupportednetwork.connections[].addresses[] 
netmaskSupportednetwork.connections[].addresses[] 
aliasesSupportednetwork.connections[].addresses[] 
broadcastSupportednetwork.connections[].addresses[] 
networkSupportednetwork.connections[].addresses[] 
wirelessSupportednetwork.connections[].wirelessIt uses a different format.
bonding_module_optsSupportednetwork.connections[].bond.options 
bonding_slave0bonding_slave9Supportednetwork.connections[].bond.ports[] 
wireless_auth_modeSupportednetwork.connections[].wireless.securityMaps psk to wpa-psk and eap to wpa-eap; anything else becomes none.
wireless_essidSupportednetwork.connections[].wireless.ssid 
wireless_modeSupportednetwork.connections[].wireless.modeMaps ad-hoc to adhoc, master to ap, and managed to infrastructure.
wireless_wpa_passwordSupportednetwork.connections[].wireless.password 
wireless_wpa_pskSupportednetwork.connections[].wireless.password 
Warning
Warning: Bonding conversion is currently broken

As of this writing, converting AutoYaST bonding configuration produces an invalid Agama profile: the generated bond section is nested into itself ({"bond": {"bond": {...}}}), which the Agama profile schema rejects. A fix is already prepared upstream but not yet released. Until it ships, review and correct the bond section of any profile converted from an AutoYaST configuration that uses bonding.

Note
Note: No control over automatic connection setup

Agama has no equivalent to startmode: do not define a connection in the profile if you do not want it set up.

2.11 ntp-client

Supported via its ntp-client/ntp_servers[] subsection below; the ntp-client section's own direct attributes (ntp_policy, ntp_sync) are not.

2.11.1 ntp-client/ntp_servers[]

This section is supported. All servers are considered of type pool.

Table 13: ntp-client/ntp_servers[] compatibility
AutoYaSTSupportedAgamaNotes
addressSupportedntp.sources[].address 
iburstSupportedntp.sources[].iburst 
offlineSupportedntp.sources[].offline 

2.12 proxy

Unsupported. There are plans to support this section in the future. Meanwhile, set the proxy using the kernel's command line.

2.13 scripts

This section is supported.

Note
Note: No interpreter selection

None of the scripts subsections below support selecting an interpreter. Use the shebang line in your scripts instead.

2.13.1 scripts/pre-scripts[]

This section is supported, but not by translating it into the profile's scripts.pre field. Instead, Agama wraps and runs AutoYaST pre-scripts directly using AutoYaST's own pre-script mechanism (confirmed in the Agama source: PreScript subclasses AutoYaST's script handling and only overrides the log/script storage paths), so their timing and behavior match a classic AutoYaST installation. None of the fields below are exposed as native Agama profile fields for that reason.

Table 14: scripts/pre-scripts[] compatibility
AutoYaSTSupportedAgamaNotes
filenameSupported  
locationSupported  
sourceSupported  

2.13.2 scripts/postpartitioning-scripts[]

This section is supported.

Table 15: scripts/postpartitioning-scripts[] compatibility
AutoYaSTSupportedAgamaNotes
filenameSupportedscripts.postPartitioning[].name 
locationSupportedscripts.postPartitioning[].url 
sourceSupportedscripts.postPartitioning[].content 

2.13.3 scripts/chroot-scripts[]

This section is supported. The current Agama converter (ScriptsReader in the Agama source) maps chroot-scripts into the profile's scripts.post array, adding a chroot flag taken from the AutoYaST chrooted attribute. There is no separate scripts.chroot field in the Agama profile schema.

Table 16: scripts/chroot-scripts[] compatibility
AutoYaSTSupportedAgamaNotes
filenameSupportedscripts.post[].name 
locationSupportedscripts.post[].url 
sourceSupportedscripts.post[].content 
chrootedSupportedscripts.post[].chrootDefaults to false if not set.

2.13.4 scripts/post-scripts[]

This section is supported. Its scripts are merged into Agama's scripts.init array together with init-scripts (below), with post-scripts entries applied first.

Table 17: scripts/post-scripts[] compatibility
AutoYaSTSupportedAgamaNotes
filenameSupportedscripts.init[].name 
locationSupportedscripts.init[].url 
sourceSupportedscripts.init[].content 

2.13.5 scripts/init-scripts[]

This section is supported.

Table 18: scripts/init-scripts[] compatibility
AutoYaSTSupportedAgamaNotes
filenameSupportedscripts.init[].name 
locationSupportedscripts.init[].url 
sourceSupportedscripts.init[].content 

2.14 services-manager

This section is supported. Agama does not implement support for enabling or disabling services on demand, so this section is converted into a post-installation script that enables or disables the services instead.

Table 19: services-manager compatibility
AutoYaSTSupportedAgamaNotes
default_targetSupported Added as a systemctl set-target call in the post-installation script.
enable[]Supported Services are enabled in the post-installation script.
disable[]Supported Services are disabled in the post-installation script.
on_demand[]Supported Services are enabled on demand in the post-installation script.

2.15 software

This section is supported.

Table 20: software compatibility
AutoYaSTSupportedAgamaNotes
packages[]Supportedsoftware.packages[] 
patterns[]Supportedsoftware.patterns[] 
products[]Supportedproduct.idOnly the first entry is used.

2.16 suse_register

This section is supported.

Table 21: suse_register compatibility
AutoYaSTSupportedAgamaNotes
do_registrationSupported The whole suse_register section is ignored if set to false.
emailSupportedproduct.registrationEmail 
reg_codeSupportedproduct.registrationCode 
reg_serverSupportedproduct.registrationUrl 
reg_server_cert_fingerprintSupportedsecurity.sslCertificates[].fingerprint 
reg_server_cert_fingerprint_typeSupportedsecurity.sslCertificates[].algorithm 
addons[]Supportedproduct.addons[]Does not check dependencies. Registers add-ons in the given order.

2.17 timezone

This section is supported.

Table 22: timezone compatibility
AutoYaSTSupportedAgamaNotes
timezoneSupportedl10n.timezone 

2.18 users[]

This section is supported. Only the root and the first user are considered.

Table 23: users[] compatibility
AutoYaSTSupportedAgamaNotes
usernameSupporteduser.userName 
fullNameSupporteduser.fullName 
passwordSupporteduser.password or root.passwordApplies to whichever of user or root the entry represents.
encryptedSupporteduser.hashedPassword or root.hashedPasswordIf set to true, Agama uses hashedPassword instead of password.
authorized_keysSupporteduser.sshPublicKeys 

2.19 zfcp

This section is supported.

Table 24: zfcp compatibility
AutoYaSTSupportedAgamaNotes
controller_idSupportedzfcp.devices[].channel 
wwpnSupportedzfcp.devices[].wwpn 
fcp_lunSupportedzfcp.devices[].lun 

2.20 Unsupported sections

The following sections are not supported and there are no plans to support them in the future:

  • audit-laf

  • auth-client

  • configuration_management

  • deploy_image

  • dhcp-server

  • dns-server

  • fcoe-client

  • firstboot

  • ftp-server

  • general

  • groups

  • host

  • http-server

  • mail

  • nfs

  • nfs_server

  • nis

  • nis_server

  • printer

  • report

  • samba-client

  • sound

  • squid

  • ssh_import

  • sysconfig

  • tftp-server

  • upgrade

3 For more information

For more information on AutoYaST and Agama compatibility, refer to the following resources:

Warning
Warning: Use upstream information with caution

The upstream resources listed below may contain code or information not covered under the terms of service by SUSE. Use them with caution only as a reference for clarity and inspiration.