// Module included in the following assemblies:
//
// * installing/installing-with-agent/installing-with-agent.adoc

:_mod-docs-content-type: REFERENCE
[id="validations-before-agent-iso-creation_{context}"]
= Validation checks before agent ISO creation

[role="_abstract"]
The Agent-based Installer performs validation checks on user defined YAML files before the ISO is created. Once the validations are successful, the agent ISO is created.

`install-config.yaml`::

* `baremetal`, `vsphere` and `none` platforms are supported.
* The `networkType` parameter must be `OVNKubernetes` in the case of `none` platform.
* `apiVIPs` and `ingressVIPs` parameters must be set for bare metal and vSphere platforms.
* Some host-specific fields in the bare metal platform configuration that have equivalents in `agent-config.yaml` file are ignored. A warning message is logged if these fields are set.


`agent-config.yaml`::

* Each interface must have a defined MAC address. Additionally, all interfaces must have a different MAC address.
* At least one interface must be defined for each host.
* World Wide Name (WWN) vendor extensions are not supported in root device hints.
* The `role` parameter in the `host` object must have a value of either `master` or `worker`.

Additional validation checks for Two-Node with Fencing (TNF)::

* When the `controlPlane.replicas` parameter is set to `2`, you must provide exactly 2 fencing credentials.
* Each fencing credential must include `hostName`, `address`, `username`, and `password`.
* The `address` field must contain a Redfish URL, that is, the string must contain "redfish". IPMI addresses are explicitly rejected.
* All `hostName` values must be unique.
* If you specify `certificateVerification`, the value must be either `Enabled` or `Disabled`.
* Fencing credentials are valid only with `baremetal`, `external`, or `none` platforms. Other platforms result in a validation error.

[id="agent-validations-ztp_{context}"]
== Validation checks for ZTP manifests

The following validation checks are performed when using ZTP manifests:

`agent-cluster-install.yaml`::

* For IPv6, the only supported value for the `networkType` parameter is `OVNKubernetes`. The `OpenshiftSDN` value can be used only for IPv4.

`cluster-image-set.yaml`::

* The `ReleaseImage` parameter must match the release defined in the installer.

[IMPORTANT]
====
Zero Touch Provisioning (ZTP) is not supported for two-node clusters with fencing (TNF). Although you can use Red Hat Advanced Cluster Management (RHACM) for installations, the additional infrastructure components required for ZTP are not validated for this topology.
====
