Recipe elements¶
Overview¶
The Anabot recipe is an XML file consisting of specific elements. Here’s an overview of supported elements, represented as a path in the tree-like structure of the file for a better readability.
There are two main areas (applications) covered by Anabot - Anaconda and Initial Setup.
As Anabot uses handlers (functions typically performing an actual action in the GUI) and checks (functions checking that the action took place in an expected way); they return results based on whether the action/check was successful.
The expected outcome can be defined by policy attribute of any element in the recipe
(when description of any element below states that it takes no attributes, it means arguments
specific for the particular element) and it can contain the following values:
should_pass(implicit value) - the element’s handler should be executed andit is expected that check result should be successful
should_fail- similar, but the check is expected to failjust_check- don’t execute the handler (don’t perform any action), only checkthe expected resulting state (e. g. an input field contains expected text)
just_check_fail- don’t perform any action, only check that the expected resultis not present
A small subset of elements (e. g. /installation/hub/oscap_addon)
also supports fail_type attribute, which can be used for a finer handling of the
specific failure reason.
Note
The elements description below describe available attributes and their meanings and values.
If a meaning and/or allowed values of an attribute aren’t mentioned explicitly, they are
considered obvious from the context (i. e. value attribute for a text input field).
In a similar way, some attributes take binary values by nature (e. g. enable/disable,
accept/reject), but technically, on implementation level, one of the values is
exactly specified (e. g. enable) and the complementary one can be
represented by any, unspecified value (e. g. disable, disabled or even foobar).
In such cases the following descriptions can specify a specific value even on places
where an arbitrary (complementary, unspecified) one could be used for the sake of
clarity. It is strongly advised to only use those specified values so as to
make things easy to understand and consistent, instead of some arbitrary ones,
despite their functional equivalence.
Anaconda¶
The ez namespace¶
Anabot’s preprocessor supports omitting parts of the recipe (elements or attributes) while creating the necessary attributes itself, thus making the recipe creation somewhat easier and more readable.
This can be achieved by using the ez prefix within the supported elements
(after first defining the namespace).
For instance, a recipe containing just
<ez:installation xmlns:ez="http://fedoraproject.org/anaconda/anabot/recipe/tiny/1">
<ez:hub>
<kdump />
</ez:hub>
</ez:installation>
will expand into a functionally complete minimal recipe containing the explicitly defined
parts (<kdump />), with the rest generated automatically by preprocessor:
<?xml version="1.0"?>
<installation>
<welcome _default_for="/ez:installation">
<continue _default_for="/ez:installation"/>
<beta_dialog policy="should_fail" _default_for="/ez:installation"/>
</welcome>
<hub>
<kdump/>
<partitioning _default_for="/ez:installation/ez:hub">
<add_specialized_disk _default_for="/ez:installation/ez:hub">
<select name="*" _default_for="/ez:installation/ez:hub"/>
<done _default_for="/ez:installation/ez:hub"/>
</add_specialized_disk>
<disk name="*" action="select" _default_for="/ez:installation/ez:hub"/>
<mode mode="automatic" _default_for="/ez:installation/ez:hub"/>
<additional_space action="enable" _default_for="/ez:installation/ez:hub"/>
<done _default_for="/ez:installation/ez:hub"/>
<reclaim _default_for="/ez:installation/ez:hub">
<delete_all _default_for="/ez:installation/ez:hub"/>
</reclaim>
</partitioning>
<root_password _default_for="/ez:installation/ez:hub">
<password value="fo0m4nchU1" _default_for="/ez:installation/ez:hub"/>
<confirm_password value="fo0m4nchU1" _default_for="/ez:installation/ez:hub"/>
<done _default_for="/ez:installation/ez:hub"/>
</root_password>
<begin_installation _default_for="/ez:installation/ez:hub"/>
</hub>
<configuration _default_for="/ez:installation">
<wait_until_complete _default_for="/ez:installation"/>
<reboot _default_for="/ez:installation"/>
</configuration>
</installation>
The following elements can be used with the ez namespace (see specific sections for
descriptions of particular elements):
/installation¶
This is the main element for Anaconda testing. It doesn’t have any attributes.
/installation/welcome¶
Handles welcome screen (Welcome to Red Hat Enterprise Linux X.Y).
Initial Setup¶
Described in Initial Setup.
Special elements¶
There are two special elements that can be used in any place of the recipe:
debug_stop¶
When this element is handled, processing of the recipe stops. This can be, for instance, useful when designing a new recipe or handling issues with an existing one, without a need to process the whole recipe. Similarly it can be used when implementing new functionality in Anabot for debugging purposes.
Processing of the recipe continues when Anabot detects existing /var/run/anabot/resume file
(i. e. when you run touch /var/run/anabot/resume).
script¶
Arbitrary script snippet.
Attributes:
interpret- interpreter used for script execution (/bin/bashby default)log_name- log name (for script output) relative to/var/run/anabotin installer environment
Detailed elements reference¶
Anaconda
- Welcome screen
- Installation Hub (main screen)
- /installation/hub
- /installation/hub/autopart
- /installation/hub/begin_installation
- /installation/hub/connect_to_redhat
- /installation/hub/create_user
- /installation/hub/datetime
- /installation/hub/installation_source
- /installation/hub/kdump
- /installation/hub/keyboard
- /installation/hub/language_spoke
- /installation/hub/luks_dialog
- /installation/hub/oscap_addon
- /installation/hub/partitioning
- /installation/hub/root
- /installation/hub/root_password
- /installation/hub/software_selection
- /installation/hub/syspurpose
- Keyboard spoke
- Keyboard layout name mapping
- /installation/hub/keyboard/add_layout
- /installation/hub/keyboard/layout
- /installation/hub/keyboard/layout/move_down
- /installation/hub/keyboard/layout/move_up
- /installation/hub/keyboard/layout/options
- /installation/hub/keyboard/layout/options/shortcut
- /installation/hub/keyboard/layout/position
- /installation/hub/keyboard/layout/remove
- /installation/hub/keyboard/layout/show
- /installation/hub/keyboard/layout/test
- /installation/hub/keyboard/move_down
- /installation/hub/keyboard/move_up
- /installation/hub/keyboard/options
- /installation/hub/keyboard/options/shortcut
- /installation/hub/keyboard/remove
- /installation/hub/keyboard/replace_layouts
- /installation/hub/keyboard/show
- /installation/hub/keyboard/test
- Language spoke
- Time & Date spoke
- /installation/hub/datetime/city
- /installation/hub/datetime/date
- /installation/hub/datetime/date/day
- /installation/hub/datetime/date/month
- /installation/hub/datetime/date/year
- /installation/hub/datetime/ntp
- /installation/hub/datetime/ntp_settings
- /installation/hub/datetime/ntp_settings/add
- /installation/hub/datetime/ntp_settings/disable
- /installation/hub/datetime/ntp_settings/enable
- /installation/hub/datetime/ntp_settings/rename
- /installation/hub/datetime/region
- /installation/hub/datetime/time
- /installation/hub/datetime/time/ampm
- /installation/hub/datetime/time/format
- /installation/hub/datetime/time/hours
- /installation/hub/datetime/time/minutes
- Connect to Red Hat spoke
- /installation/hub/connect_to_redhat/account_organization
- /installation/hub/connect_to_redhat/activation_key
- /installation/hub/connect_to_redhat/authentication
- /installation/hub/connect_to_redhat/insights
- /installation/hub/connect_to_redhat/options
- /installation/hub/connect_to_redhat/options/custom_base_url
- /installation/hub/connect_to_redhat/options/custom_server_url
- /installation/hub/connect_to_redhat/options/http_proxy
- /installation/hub/connect_to_redhat/options/http_proxy/location
- /installation/hub/connect_to_redhat/options/http_proxy/password
- /installation/hub/connect_to_redhat/options/http_proxy/username
- /installation/hub/connect_to_redhat/options/satellite_url
- /installation/hub/connect_to_redhat/options/use_custom_base_url
- /installation/hub/connect_to_redhat/options/use_custom_server_url
- /installation/hub/connect_to_redhat/options/use_satellite_url
- /installation/hub/connect_to_redhat/organization
- /installation/hub/connect_to_redhat/password
- /installation/hub/connect_to_redhat/register
- /installation/hub/connect_to_redhat/registration
- /installation/hub/connect_to_redhat/registration/account_organization
- /installation/hub/connect_to_redhat/registration/insights
- /installation/hub/connect_to_redhat/registration/method
- /installation/hub/connect_to_redhat/registration/subscriptions
- /installation/hub/connect_to_redhat/registration/subscriptions/subscription
- /installation/hub/connect_to_redhat/registration/subscriptions/subscription/contract
- /installation/hub/connect_to_redhat/registration/subscriptions/subscription/end_date
- /installation/hub/connect_to_redhat/registration/subscriptions/subscription/entitlements_consumed
- /installation/hub/connect_to_redhat/registration/subscriptions/subscription/service_level
- /installation/hub/connect_to_redhat/registration/subscriptions/subscription/sku
- /installation/hub/connect_to_redhat/registration/subscriptions/subscription/start_date
- /installation/hub/connect_to_redhat/registration/system_purpose
- /installation/hub/connect_to_redhat/registration/system_purpose/role
- /installation/hub/connect_to_redhat/registration/system_purpose/sla
- /installation/hub/connect_to_redhat/registration/system_purpose/usage
- /installation/hub/connect_to_redhat/system_purpose
- /installation/hub/connect_to_redhat/system_purpose/role
- /installation/hub/connect_to_redhat/system_purpose/sla
- /installation/hub/connect_to_redhat/system_purpose/usage
- /installation/hub/connect_to_redhat/unregister
- /installation/hub/connect_to_redhat/username
- /installation/hub/connect_to_redhat/wait_until_registered
- User Creation spoke
- /installation/hub/create_user/advanced
- /installation/hub/create_user/advanced/cancel
- /installation/hub/create_user/advanced/gid
- /installation/hub/create_user/advanced/groups
- /installation/hub/create_user/advanced/home
- /installation/hub/create_user/advanced/manual_gid
- /installation/hub/create_user/advanced/manual_uid
- /installation/hub/create_user/advanced/save
- /installation/hub/create_user/advanced/uid
- /installation/hub/create_user/confirm_password
- /installation/hub/create_user/done
- /installation/hub/create_user/full_name
- /installation/hub/create_user/is_admin
- /installation/hub/create_user/password
- /installation/hub/create_user/require_password
- /installation/hub/create_user/username
- Root Password spoke
- /installation/configuration/root_password
- /installation/configuration/root_password/confirm_password
- /installation/configuration/root_password/done
- /installation/configuration/root_password/password
- /installation/hub/root_password/root_account
- /installation/hub/root_password/allow_root_ssh_login_with_password
- /installation/hub/root_password/confirm_password
- /installation/hub/root_password/done
- /installation/hub/root_password/lock_root_account
- /installation/hub/root_password/password
- Installation Source
- /installation/hub/installation_source/additional_repo
- /installation/hub/installation_source/additional_repo/add
- /installation/hub/installation_source/additional_repo/infobar
- /installation/hub/installation_source/additional_repo/reset
- /installation/hub/installation_source/additional_repo/select
- /installation/hub/installation_source/additional_repo/select/infobar
- /installation/hub/installation_source/additional_repo/select/name
- /installation/hub/installation_source/additional_repo/select/proxy_password
- /installation/hub/installation_source/additional_repo/select/proxy_url
- /installation/hub/installation_source/additional_repo/select/proxy_username
- /installation/hub/installation_source/additional_repo/select/remove
- /installation/hub/installation_source/additional_repo/select/status
- /installation/hub/installation_source/additional_repo/select/url
- /installation/hub/installation_source/additional_repo/select/url_protocol
- /installation/hub/installation_source/additional_repo/select/url_type
- /installation/hub/installation_source/choose_iso
- /installation/hub/installation_source/infobar
- /installation/hub/installation_source/iso_device
- /installation/hub/installation_source/main_repo_type
- /installation/hub/installation_source/main_repo_url
- /installation/hub/installation_source/main_repo_url_protocol
- /installation/hub/installation_source/proxy
- /installation/hub/installation_source/proxy/authentication
- /installation/hub/installation_source/proxy/cancel
- /installation/hub/installation_source/proxy/host
- /installation/hub/installation_source/proxy/ok
- /installation/hub/installation_source/proxy/password
- /installation/hub/installation_source/proxy/status
- /installation/hub/installation_source/proxy/username
- /installation/hub/installation_source/source
- /installation/hub/installation_source/verify_iso
- /installation/hub/installation_source/verify_media
- Software Selection spoke
- Installation Destination spoke
- /installation/hub/partitioning/add_specialized_disk
- /installation/hub/partitioning/add_specialized_disk/done
- /installation/hub/partitioning/add_specialized_disk/select
- /installation/hub/partitioning/additional_space
- /installation/hub/partitioning/advanced
- /installation/hub/partitioning/disk
- /installation/hub/partitioning/done
- /installation/hub/partitioning/encrypt_data
- /installation/hub/partitioning/luks_dialog
- /installation/hub/partitioning/luks_dialog/cancel
- /installation/hub/partitioning/luks_dialog/confirm_password
- /installation/hub/partitioning/luks_dialog/keyboard
- /installation/hub/partitioning/luks_dialog/password
- /installation/hub/partitioning/luks_dialog/save
- /installation/hub/partitioning/mode
- /installation/hub/partitioning/reclaim
- /installation/hub/partitioning/reclaim/delete_all
- Manual Partitioning subspoke
- /installation/hub/partitioning/advanced/add
- /installation/hub/partitioning/advanced/add/mountpoint
- /installation/hub/partitioning/advanced/add/size
- /installation/hub/partitioning/advanced/autopart
- /installation/hub/partitioning/advanced/details
- /installation/hub/partitioning/advanced/details/device_type
- /installation/hub/partitioning/advanced/details/devices
- /installation/hub/partitioning/advanced/details/devices/deselect
- /installation/hub/partitioning/advanced/details/devices/select
- /installation/hub/partitioning/advanced/details/edit_volume_group
- /installation/hub/partitioning/advanced/details/edit_volume_group/devices
- /installation/hub/partitioning/advanced/details/edit_volume_group/encrypt
- /installation/hub/partitioning/advanced/details/edit_volume_group/luks_version
- /installation/hub/partitioning/advanced/details/edit_volume_group/name
- /installation/hub/partitioning/advanced/details/edit_volume_group/raid
- /installation/hub/partitioning/advanced/details/edit_volume_group/size
- /installation/hub/partitioning/advanced/details/edit_volume_group/size_policy
- /installation/hub/partitioning/advanced/details/encrypt
- /installation/hub/partitioning/advanced/details/filesystem
- /installation/hub/partitioning/advanced/details/label
- /installation/hub/partitioning/advanced/details/luks_unlock
- /installation/hub/partitioning/advanced/details/mountpoint
- /installation/hub/partitioning/advanced/details/name
- /installation/hub/partitioning/advanced/details/new_volume_group
- /installation/hub/partitioning/advanced/details/new_volume_group/devices
- /installation/hub/partitioning/advanced/details/new_volume_group/encrypt
- /installation/hub/partitioning/advanced/details/new_volume_group/luks_version
- /installation/hub/partitioning/advanced/details/new_volume_group/name
- /installation/hub/partitioning/advanced/details/new_volume_group/raid
- /installation/hub/partitioning/advanced/details/new_volume_group/size
- /installation/hub/partitioning/advanced/details/new_volume_group/size_policy
- /installation/hub/partitioning/advanced/details/raid_type
- /installation/hub/partitioning/advanced/details/reformat
- /installation/hub/partitioning/advanced/details/size
- /installation/hub/partitioning/advanced/details/update
- /installation/hub/partitioning/advanced/done
- /installation/hub/partitioning/advanced/encrypt_data
- /installation/hub/partitioning/advanced/luks_dialog
- /installation/hub/partitioning/advanced/remove
- /installation/hub/partitioning/advanced/remove/also_related
- /installation/hub/partitioning/advanced/rescan
- /installation/hub/partitioning/advanced/rescan/push_rescan
- /installation/hub/partitioning/advanced/schema
- /installation/hub/partitioning/advanced/select
- /installation/hub/partitioning/advanced/select/details
- /installation/hub/partitioning/advanced/select/remove
- /installation/hub/partitioning/advanced/select/remove/also_related
- /installation/hub/partitioning/advanced/summary
- Security Profile spoke
- /installation/hub/oscap_addon/apply_policy
- /installation/hub/oscap_addon/change_content
- /installation/hub/oscap_addon/change_content/done
- /installation/hub/oscap_addon/change_content/fetch
- /installation/hub/oscap_addon/change_content/source
- /installation/hub/oscap_addon/change_content/use_ssg
- /installation/hub/oscap_addon/changes
- /installation/hub/oscap_addon/changes/error
- /installation/hub/oscap_addon/changes/info
- /installation/hub/oscap_addon/changes/warning
- /installation/hub/oscap_addon/choose
- /installation/hub/oscap_addon/done
- /installation/hub/oscap_addon/select
- /installation/hub/oscap_addon/select_checklist
- /installation/hub/oscap_addon/select_datastream
- /installation/hub/oscap_addon/use_ssg
- System Purpose spoke
- Configuration/Installation process spoke
- /installation/configuration
- /installation/configuration/eula_notice
- /installation/configuration/finish_configuration
- /installation/configuration/reboot
- /installation/configuration/root
- /installation/configuration/root_password
- /installation/configuration/wait_until_complete
- /installation/configuration/create_user/advanced
- /installation/configuration/create_user/advanced/cancel
- /installation/configuration/create_user/advanced/gid
- /installation/configuration/create_user/advanced/groups
- /installation/configuration/create_user/advanced/home
- /installation/configuration/create_user/advanced/manual_gid
- /installation/configuration/create_user/advanced/manual_uid
- /installation/configuration/create_user/advanced/save
- /installation/configuration/create_user/advanced/uid
- /installation/configuration/create_user/confirm_password
- /installation/configuration/create_user/done
- /installation/configuration/create_user/full_name
- /installation/configuration/create_user/is_admin
- /installation/configuration/create_user/password
- /installation/configuration/create_user/require_password
- /installation/configuration/create_user/username
Initial Setup
- Initial Setup
- /initial_setup
- /initial_setup/create_user
- /initial_setup/finish
- /initial_setup/license
- /initial_setup/license/accept_license
- /initial_setup/license/done
- /initial_setup/license/eula
- /initial_setup/quit
- /initial_setup/subscription_manager
- /initial_setup/subscription_manager/account_panel
- /initial_setup/subscription_manager/account_panel/back
- /initial_setup/subscription_manager/account_panel/login
- /initial_setup/subscription_manager/account_panel/password
- /initial_setup/subscription_manager/account_panel/register
- /initial_setup/subscription_manager/account_panel/system_name
- /initial_setup/subscription_manager/done
- /initial_setup/subscription_manager/server_panel
- /initial_setup/subscription_manager/server_panel/back
- /initial_setup/subscription_manager/server_panel/default_server
- /initial_setup/subscription_manager/server_panel/next
- /initial_setup/subscription_manager/server_panel/proxy
- /initial_setup/subscription_manager/server_panel/proxy/cancel
- /initial_setup/subscription_manager/server_panel/proxy/proxy_server
- /initial_setup/subscription_manager/server_panel/proxy/save
- /initial_setup/subscription_manager/server_panel/proxy/test_connection
- /initial_setup/subscription_manager/server_panel/proxy/use_proxy
- /initial_setup/subscription_manager/server_panel/server
- /initial_setup/subscription_manager/sla_panel
- /initial_setup/subscription_manager/sla_panel/back
- /initial_setup/subscription_manager/sla_panel/next
- /initial_setup/subscription_manager/sla_panel/sla
- /initial_setup/subscription_manager/subscription_panel
- /initial_setup/subscription_manager/subscription_panel/attach
- /initial_setup/subscription_manager/subscription_panel/back
- /initial_setup/subscription_manager/subscription_panel/subscriptions