Template and sample YAML
Examples of a sample and template System_Name.yml
file.
application_network
line:application_network_enabled: True/False
application_network:
If you are only using Management
connection (1G), the setting must be: application_network_enabled: False
, and the
application_network
section must be
blank.
If you have a standard network layout
(Management plus Application), you should set application_network_enabled
to
True
.
switches
section. When starting with an existing
System_Name.yml file, this section must be added manually. Refer to Switch settings .When creating or editing the yml file on your system, note that there must be only one .yml file apart from the template in the /opt/ibm/appliance/platform/apos-comms/customer_network_config/ansible directory, otherwise you might face issues when configuring the network.
Template YAML file
- Version 2.0.0 and later:
all: children: control_nodes: hosts: node1: custom_hostname: <VALUE> management_network: network1: ip: <VALUE> node2: custom_hostname: <VALUE> management_network: network1: ip: <VALUE> node3: custom_hostname: <VALUE> management_network: network1: ip: <VALUE> switches: #BEGIN BGP vars: cp4d_asplain: <VALUE> cp4d_network: <VALUE> cp4d_network_vip: <VALUE> hosts: FabSw1a: ansible_host: localhost vrr_ip_addr: <VALUE> cp4d_routerID: 9.0.62.1 isl_peer: 9.0.255.2 bgp_links: link1: swp: <VALUE> neighbor: <VALUE> ip_addr: <VALUE> mtu: 9000 link_speed: 10000 FabSw1b: ansible_host: localhost vrr_ip_addr: <VALUE> cp4d_routerID: 9.0.62.2 isl_peer: 9.0.255.1 bgp_links: link1: swp: <VALUE> neighbor: <VALUE> ip_addr: <VALUE> mtu: 9000 link_speed: 10000 #END BGP #BEGIN L2 switches: hosts: FabSw1a: ansible_host: localhost external_connection_config: external_link1: switch_ports: ['<VALUE>', '<VALUE>'] port_config: mtu: 9000 link_speed: 10000 vlans: ['VALUE'] strict_vlan: <VALUE> name: <VALUE> lacp_link: True lacp_rate: Fast clag_id: 100 partner_switch: 'FabSw1b' #END L2 vars: app_fqdn: <VALUE> #(pick from timedatectl list-timezones), default is EDT timezone: "<OPTIONAL>" #must begin with server or pool time_servers: ["<OPTIONAL>"] dns_servers: ["<VALUE>"] dns_search_strings: ["<OPTIONAL>"] smtp_servers: ["<OPTIONAL>"] management_network: network1: subnet: <VALUE> # just number, no slash prefix: <VALUE> gateway: <VALUE> floating_ip: <VALUE> mtu: <OPTIONAL> custom_routes: <OPTIONAL> application_network_enabled: False openshift_networking_enabled: False policy_based_routing_enabled: True application_network: network1: default_gateway: true vlan: <VALUE> # just number, no slash prefix: <VALUE> gateway: <VALUE> floating_ip: <VALUE> mtu: <OPTIONAL> custom_routes: <OPTIONAL> additional_openshift_ipaddrs: ["<OPTIONAL>"] additional_openshift_routes: ["<OPTIONAL>"]
- Version 1.0.7.6 and later:Note: The
switches
section contains two mutually exclusive sections marked#BEGIN BGP (...) #END BGP
and#BEGIN L2 (...) #END L2
. Only one of these sections must be used. If you do not have the BGP feature configured, remove the BGP section together with the enclosing comments.all: children: control_nodes: hosts: node1: custom_hostname: <VALUE> management_network: network1: ip: <VALUE> node2: custom_hostname: <VALUE> management_network: network1: ip: <VALUE> node3: custom_hostname: <VALUE> management_network: network1: ip: <VALUE> switches: #BEGIN BGP vars: cp4d_asplain: <VALUE> cp4d_network: <VALUE> cp4d_network_vip: <VALUE> hosts: FabSw1a: vrr_ip_addr: <VALUE> cp4d_routerID: 9.0.62.1 isl_peer: 9.0.255.2 bgp_links: link1: swp: <VALUE> neighbor: <VALUE> ip_addr: <VALUE> mtu: 9000 link_speed: 10000 FabSw1b: vrr_ip_addr: <VALUE cp4d_routerID: 9.0.62.2 isl_peer: 9.0.255.1 bgp_links: link1: swp: <VALUE> neighbor: <VALUE> ip_addr: <VALUE> mtu: 9000 link_speed: 10000 #END BGP #BEGIN L2 switches: hosts: FabSw1a: ansible_host: localhost external_connection_config: external_link1: switch_ports: ['<VALUE>', '<VALUE>'] port_config: mtu: 9000 link_speed: 10000 vlans: ['VALUE'] strict_vlan: <VALUE> name: <VALUE> lacp_link: True lacp_rate: Fast clag_id: 100 partner_switch: 'FabSw1b' #END L2 vars: app_fqdn: <VALUE> #(pick from timedatectl list-timezones), default is EDT timezone: "<OPTIONAL>" #must begin with server or pool time_servers: ["<OPTIONAL>"] dns_servers: ["<VALUE>"] dns_search_strings: ["<OPTIONAL>"] smtp_servers: ["<OPTIONAL>"] management_network: network1: subnet: <VALUE> # just number, no slash prefix: <VALUE> gateway: <VALUE> floating_ip: <VALUE> mtu: <OPTIONAL> custom_routes: <OPTIONAL> application_network_enabled: 'True|Layer2, False,Layer2,BGP' application_network: network1: default_gateway: true vlan: <VALUE> # just number, no slash prefix: <VALUE> gateway: <VALUE> floating_ip: <VALUE> mtu: <OPTIONAL> custom_routes: <OPTIONAL>
- Versions 1.0.7.5 and earlier:
all: children: control_nodes: hosts: node1: custom_hostname: <VALUE> management_network: network1: ip: <VALUE> node2: custom_hostname: <VALUE> management_network: network1: ip: <VALUE> node3: custom_hostname: <VALUE> management_network: network1: ip: <VALUE> switches: hosts: FabSw1a: # Run on the control rather than remotely ansible_host: localhost # Is there an external link here at all? external_connection_enabled: False # If the above is True the following section is filled in external_connection_config: # First link config external_link1: # Ports to put in this link, a list of 'number', 'number' switch_ports: ['XX', 'YY'] # same config for all the values in switch_ports port_config: mtu: 9000 link_speed: 10000 # Which VLANs arriving on this port (and crossing the bridge) vlans: ['VALUE'] # True means we only accept tagged packets from external source # False means we only accept untagged packets from external source strict_vlan: true # Name of this link name: <VALUE> # True indicates there is multiple links in this connection lacp_link: True # LACP Refresh rate. (Fast or Slow) lacp_rate: Fast # CLAG Id for this link, 0 for no clag clag_id: 100 # This switch should have matching cfg (and the same clag_id) # Use False for links only on a single switch partner_switch: 'FabSw1b' vars: app_fqdn: <VALUE> #(pick from timedatectl list-timezones), default is EDT timezone: "<OPTIONAL>" #must begin with server or pool time_servers: ["<OPTIONAL>"] dns_servers: ["<VALUE>"] dns_search_strings: ["<OPTIONAL>"] smtp_servers: ["<OPTIONAL>"] management_network: network1: subnet: <VALUE> # just number, no slash prefix: <VALUE> gateway: <VALUE> floating_ip: <VALUE> mtu: <OPTIONAL> custom_routes: <OPTIONAL> application_network_enabled: True application_network: network1: default_gateway: true vlan: <VALUE> # just number, no slash prefix: <VALUE> gateway: <VALUE> floating_ip: <VALUE> mtu: <OPTIONAL> custom_routes: <OPTIONAL>
Fully populated sample YAML
all:
children:
control_nodes:
hosts:
node1:
custom_hostname: suyos01a.svl.ibm.com
management_network:
network1:
ip: 9.30.16.141
node2:
custom_hostname: suyos01b.svl.ibm.com
management_network:
network1:
ip: 9.30.16.142
node3:
custom_hostname: suyos01c.svl.ibm.com
management_network:
network1:
ip: 9.30.16.143
switches:
hosts:
FabSw1a:
# Run on the control rather than remotely
ansible_host: localhost
# Is there an external link here at all?
external_connection_enabled: True
# If the above is True the follow section is filled in
external_connection_config:
# First link config
external_link1:
# Ports to put in this link, a list of 'number', 'number'
switch_ports: ['48']
# same config for all the values in switch_ports
port_config:
mtu: 9000
link_speed: 10000
# Which VLANs arriving on this port (and crossing the bridge)
vlans: ['4080']
# True means we only accept tagged packets from external source
# False means we only accept untagged packets from external source
strict_vlan: False
# Name of this link
name: h0
# True indicates there is multiple links in this connection
lacp_link: false
# LACP Refresh rate. (Fast or Slow)
lacp_rate: Fast
# CLAG Id for this link, 0 for no clag
clag_id: 0
# This switch should have matching cfg (and the same clag_id)
# Use False for links only on a single switch
partner_switch: False
vars:
app_fqdn: suyos01.svl.ibm.com
#(pick from timedatectl list-timezones)
timezone: "America/Los_Angeles"
#must begin with server or pool
time_servers: ["<OPTIONAL>"]
dns_servers: ["9.30.31.32"]
management_network:
network1:
subnet: 9.30.16.0
# just number, no slash
prefix: 25
gateway: 9.30.16.129
floating_ip: 9.30.16.144
mtu: 1500
custom_routes:
application_network_enabled: True
application_network:
network1:
default_gateway: true
vlan: 4080
# just number, no slash
prefix: 25
gateway: 9.30.20.1
floating_ip: 9.30.20.40
mtu: 9000
custom_routes: