Day 0 Preconfiguration and Templates
Understanding Preconfiguration and Template Groups for Day 0 Deployment
Learn when to use an EdgeConnect preconfiguration file, when a template is required, and how templates and template groups work together during Day 0 deployment.
Scope: HPE Networking EdgeConnect SD-WAN and Orchestrator 9.6.3. Features introduced in Orchestrator 9.7 are identified as forward-looking.
Overview
Preconfiguration files, templates, and template groups are complementary mechanisms. They are not interchangeable, and a complete Day 0 deployment can require both preconfiguration and templates.
A preconfiguration file is applied to one appliance at a time. It can be created specifically for that appliance or reused as a standard deployment profile for appliances that share the same design. For example, an organization might use a Gold profile for large branches with three WAN and two LAN interfaces and a Silver profile for branches with two WAN and one LAN interface. When a reusable profile is used, appliance-specific values—such as hostname, site, IP addresses, bandwidth, licensing, and HA peer information—can be adjusted for each deployment.
| Mechanism | Purpose | Lifecycle |
|---|---|---|
| Preconfiguration file | A YAML deployment configuration applied to one appliance at a time. It can be unique to an appliance or reused as a standard deployment profile for appliances that share the same design. | Applied when the appliance first connects to Orchestrator and reapplied when the preconfiguration is approved again. |
| Template | A feature-level configuration object, such as Security Policies, QoS Policies, User Management, DNS, or SNMP | Managed centrally in Orchestrator as part of a template group |
| Template group | A named collection of one or more templates associated with appliances | Applied after approval and enforced during subsequent orchestration cycles |
The preconfiguration file can associate an appliance with template groups by listing their names under templateGroups.groups.
Important: The preconfiguration file does not support every appliance setting. Features such as QoS policies, security policies, access lists, user management, and optimization policies require templates. Create the required templates in a template group, then associate that group with the appliance.
Templates and template groups
A template configures one product feature. A template group packages selected templates under a name so that the configurations can be assigned to appliances together.
A group does not need to include every available template. For example:
- The Default Template Group can include User Management, DNS, SNMP, Date/Time, Banner Messages, Routes, Admin Distance, Access Lists, Shaper, CLI, and Session Management templates.
- A Security Template Group can contain only the Security Policies template.
- A Branch QoS Group can contain the QoS Policies and Shaper templates.
An appliance can be associated with multiple template groups. If multiple groups configure the same setting, Orchestrator uses template group priority to determine which value takes precedence.
yaml
templateGroups:
groups:
- Default Template Group
- Security Template Group
How they work together
The preconfiguration file carries appliance-specific settings and references the named template groups that Orchestrator should apply. Each template group contains the selected feature templates.
flowchart TD
A[Define appliance-specific settings] --> B[Create preconfiguration YAML]
C[Configure feature templates] --> D[Organize templates into named template groups]
D -. Referenced by group name .-> B
B --> E[Appliance connects to Orchestrator]
E --> F[Discover and approve appliance]
F --> G[Apply preconfiguration]
G --> H[Apply referenced template groups]
H --> I[Orchestrator continues enforcing template settings]
Core difference
Preconfiguration carries appliance-specific instances. Templates carry shared defaults, policies, and settings that Orchestrator centrally enforces.
| Aspect | Preconfiguration file | Templates and template groups |
|---|---|---|
| Scope | Per-appliance and site-specific | Shared across multiple appliances |
| Format | YAML | Configuration objects managed through the Orchestrator UI or API |
| Unit | Section, such as applianceInfo or deploymentInfo | Feature template, such as users or qosMaps, included in a named group |
| Best suited for | Hostnames, IP addresses, interfaces, bandwidth, routing peers, HA, and licensing | Policies, users, DNS, SNMP, logging, security, QoS, and common defaults |
| Ongoing behavior | Establishes configuration during onboarding | Continuously enforces the selected desired state |
Features available through both mechanisms
Ten features are configurable through both preconfiguration and templates in Orchestrator 9.6.3. This does not mean that the two mechanisms expose identical settings. In several cases, the template supplies common defaults while preconfiguration supplies appliance-specific instances.
| Feature | Preconfiguration section | Template | Important distinction |
|---|---|---|---|
| BGP | bgpSystemConfig, segmentBgpSystems | bgp | The template supplies per-VRF defaults and timers; preconfiguration defines ASN, router ID, neighbors, and redistribution |
| OSPF | ospfSystemConfig, segmentOspfConfig | ospf | The template supplies per-VRF defaults; preconfiguration defines areas and interface instances |
| Routes / Local Routes | localRoutes, segmentLocalRoutes | routes | The template supplies automatic subnet advertisement and ECMP settings; preconfiguration contains the static route table |
| VRRP | vrrp | vrrp | The template supplies defaults; preconfiguration defines VRRP instances, interfaces, and virtual IP addresses |
| BFD | segmentBfdConfigs | bfd | The template supplies timers; preconfiguration also controls whether BFD is enabled |
| Peer Priority | peerPriority | peerPriorityList | The template additionally supports a metric |
| Network Access Control | nac | nac | The two forms are functionally similar but use different object structures |
| Appliance IP Allow List | ipAllowList | ipAllowList | Functionally similar; templates key entries by IP address |
| Secure Web Services | secureWebServicesConfig | secureWebServicesConfig | Uses equivalent paths in both mechanisms |
| VXLAN | vxlan | vxlan | Functionally similar but several fields use different names |
Template-only fields within overlapping features
Even when a feature exists in preconfiguration, some settings can still require its template.
| Template field | Capability not exposed by preconfiguration |
|---|---|
| bgp.adv_loop_interval | BGP advertisement-loop interval |
| bgp.adv_loop_max_updates | Maximum updates per advertisement loop |
| bgp.vrf.{n}.as_override | AS override |
| bgp.vrf.{n}.log_nbr_msgs | Neighbor-message logging |
| routes.auto_subnet.vrf.{n}.add_local_asn | Add the local ASN |
| routes.ecmp_en | ECMP enablement |
| peerPriorityList.{name}.metric | Peer metric |
Preconfiguration-only fields within overlapping features
The following examples require preconfiguration even though a template exists for the broader feature:
- segmentBfdConfigs.enable
- VRRP group ID, virtual IP address, interface name, tracker, description, and packet-trace settings
- Static route entries under localRoutes.routes. and segmentLocalRoutes.routes.
- Most BGP neighbor fields
- OSPF areas and interface instances
Equivalent behavior with different field names
Some equivalent settings are represented differently:
| Preconfiguration | Template |
|---|---|
| vxlan.vtepSrcInterface | vxlan.vtepIf |
| vxlan.destinationUdpPort | vxlan.port |
| ipAllowList.ips.ip | ipAllowList.ip.{name} |
| nac.applyPolicies.auth_interface | nac.applyPolicies.if.{name} |
| bgpSystemConfig.enableGracefulRestart | bgp.vrf.{n}.graceful_restart_en |
| ospfSystemConfig.interfaces.authentication | ospf.vrf.{n}.authType |
| localRoutes.advertiseLocalLanSubnets | routes.auto_subnet.vrf.{n}.add_local_lan |
| localRoutes.advertiseLocalWanSubnets | routes.auto_subnet.vrf.{n}.add_local_wan |
Preconfiguration-only capabilities
Use preconfiguration for per-appliance identity, deployment, and feature instances that do not have equivalent templates.
Identity and association
| Section | Purpose |
|---|---|
| applianceInfo | Hostname, Orchestrator group, site, network role, region, cluster profile, software version, location, and contact information |
| templateGroups | Names of template groups to associate with the appliance |
| businessIntentOverlays | Existing Business Intent Overlay associations |
Deployment and interfaces
| Section | Purpose |
|---|---|
| deploymentInfo | Deployment mode, system bandwidth, IPsec UDP port, pass-through shaping, and LAN/WAN interface instances |
| deploymentInfo.haConfig | EdgeHA peer, addressing, VLAN, interface, and peer-bandwidth settings |
| deploymentInfo.dhcpInfo | DHCP server or relay configuration, address ranges, options, reservations, and Option 82 |
| deploymentInfo.dhcpInfo.dhcpHA | DHCP failover for EdgeHA |
| deploymentInfo.raInfo | IPv6 Router Advertisement and prefixes |
| interfaceConfig | Interface speed, duplex, administrative state, and combo-port mode |
| linkAggregation | Static or LACP-bonded interfaces |
| bridgeGroups | Bridge-group interface instances |
Licensing, routing, and network services
| Section | Purpose |
|---|---|
| ecLicensing | License account, license serial, bandwidth tier, boost, and feature licenses |
| managementRoutes | Management-interface routes |
| tunnelConfiguration | Pass-through IPsec, GRE, and no-encapsulation tunnels |
| ipSlaRule | Interface, ping, HTTP/HTTPS, and VRRP monitors with actions |
| loopbackInterface | Loopback interface instances |
| virtualTunnelInterface | VTI instances associated with pass-through tunnels |
| pppoe | PPPoE interface instances |
| usblte | USB LTE cellular interfaces |
| flowRedirection | Flow-redirection peers and interface |
| inboundPortForwarding | Inbound forwarding and translation rules |
| managementIp | LAN management IP address |
Security, services, and other appliance settings
| Section | Purpose |
|---|---|
| thirdPartyServicesAssociation | Zscaler, Netskope, Axis, Connector Service, and Service Orchestration associations |
| idsIpsConfig | IDS/IPS mode and signature profile |
| natPools | Branch NAT address pools |
| branchNatMapsConfig | Branch NAT translation rules |
| availabilityTimeSettings | Availability timezone and business hours |
| customApplianceTags | Appliance metadata tags |
| appExpressGroups | Existing AppExpress group associations |
| poE | PoE power mode and interface settings |
Template-only capabilities
The following features cannot be completed through preconfiguration. Create the appropriate templates and include them in one or more template groups.
General Settings
| Template | Display name |
|---|---|
| authentication | Auth/Radius/TACACS+ |
| banners | Banner Messages |
| datetime | Date/Time |
| dns | DNS |
| httpsCertsUpload | HTTPS Certificate |
| logging | Logging |
| netflow | Flow Export |
| passwordSettings | Password Settings |
| snmp | SNMP |
| system | System |
| users | User Management |
Networking
| Template | Display name |
|---|---|
| adminDistance | Admin Distance |
| routesRedistributeMaps | Route Redistribution Maps |
Policies
| Template | Display name | Orchestrator 9.6 status |
|---|---|---|
| acls | Access Lists | Active |
| dnsProxy | DNS Proxy | Active |
| firewallProtectionProfile | Firewall Protection Profiles | Active |
| mgmtServices | Management Services | Active |
| optmap | Optimization Policies | Active |
| qosMaps | QoS Policies | Active |
| routeMaps | Route Policies | Active |
| securityMaps | Security Policies | Active |
| shaper | Shaper | Active |
| thresholdCrossingAlert | Threshold Crossing Alerts | Active |
Certificates and overlays
| Template | Display name | Orchestrator 9.6 status |
|---|---|---|
| sslCACerts | SSL CA Certificates | Active |
| sslCerts | SSL Certificates | Active |
| sslSubstituteCerts | SSL for SaaS | Deprecated; removed in 9.7 |
Tools
| Template | Display name |
|---|---|
| cli | CLI |
| webconfig | Session Management |
Version and availability notes
| Name | Mechanism | Availability |
|---|---|---|
| dhcpRemoteAddressPoolConfig | Preconfiguration | Introduced in 9.7 |
| multicast | Preconfiguration and template | Introduced in 9.7; unavailable through either mechanism in 9.6.3 |
| tunnels | Template | Returned by the API with tunnel settings but not offered in the 9.6 GUI |
| userAppGroups | Template | Returned by the API but not offered in the 9.6 GUI |
When to use each mechanism
| Requirement | Use | Reason |
|---|---|---|
| Hostname, IP address, bandwidth, serial number, or another value that differs per appliance | Preconfiguration | Templates are shared and do not provide a per-appliance override |
| Policy, users, DNS, SNMP, or logging shared across a fleet | Template group | Orchestrator centrally manages and reenforces the setting |
| Static routes | Preconfiguration | The routes template does not contain a static route table |
| ECMP or automatic-subnet local ASN | routes template | These fields have no preconfiguration equivalent |
| BGP neighbors, OSPF areas/interfaces, or VRRP instances | Preconfiguration | Templates contain common defaults rather than these instances |
| BGP or OSPF timers shared across appliances | Template | Avoids repeating common defaults in every preconfiguration file |
| BFD enablement | Preconfiguration | The bfd template has no enable control |
| BFD timers shared across appliances | Template | Timers are the primary settings in the template |
| NAC, VXLAN, Secure Web Services, or Appliance IP Allow List | Either | Choose based on whether the value is site-specific or fleet-wide |
| Preserve an existing appliance value without changing it | Template | Templates support Don't apply where available; preconfiguration does not |
| Licensing, EdgeHA, DHCP, RA, PoE, USB LTE, or PPPoE | Preconfiguration | No equivalent template exists |
| QoS, security policies, ACLs, shaper, user accounts, or optimization | Template group | No preconfiguration section exists |
Caveats and interactions
Precedence
When preconfiguration and a template group configure the same feature, preconfiguration establishes the initial state. Orchestrator subsequently enforces template values according to template group priority.
Post-approval behavior
Most preconfiguration sections replace the existing configuration when reapplied. The following sections merge instead, preserving values not supplied in the file:
- businessIntentOverlays
- managementRoutes
- tunnelConfiguration
- pppoe
Don't apply
Some template controls support three states:
- true applies or enables the value.
- false clears or disables the value.
- none (Don't apply) preserves the existing appliance value.
Preconfiguration does not have an equivalent to Don't apply; supplied values are applied.
Routes are not a superset in either direction
The routes template controls automatic subnet advertisement and routes.ecmp_en, but it has no static route table. A deployment that needs ECMP and static routes must use both mechanisms:
- Use the routes template for ECMP and automatic-subnet settings.
- Use localRoutes.routes. or segmentLocalRoutes.routes. in preconfiguration for static routes.
Nested deployment sections
The following are children of deploymentInfo, not top-level preconfiguration sections:
- haConfig
- dhcpInfo
- dhcpInfo.dhcpHA
- DHCP relay settings within dhcpInfo
- raInfo
AppExpress groups
appExpressGroups associates existing AppExpress groups with an appliance. The groups must already exist in Orchestrator.
yaml
appExpressGroups:
- Alexa
Recommended Day 0 workflow
- Identify which values are unique to each appliance and place them in its preconfiguration file.
- Create feature templates for shared settings and policies.
- Organize related templates into clearly named template groups, such as Default Template Group, Security Template Group, or Branch QoS Group.
- Reference the required template groups under templateGroups.groups in the preconfiguration file.
- Onboard and approve the appliance.
- Confirm that template group priority produces the intended result for any overlapping configuration.
A successful deployment commonly uses both mechanisms: preconfiguration for appliance-specific Day 0 instances and template groups for shared settings and policies that Orchestrator must continue to enforce.
Updated 22 days ago