6. Cluster Configuration File Specification¶
Specification Version: v2.0
Genesis of the OpenPOWER Cloud Reference Cluster is controlled by the ‘config.yml’ file. This file is stored in YAML format. The definition of the fields and the YAML file format are documented below.
Each section represents a top level dictionary key:
Additional key/value pairs are not processed by Cluster Genesis, but are copied into the inventory.yml file and made available to post-Genesis scripts and/or playbooks.
6.1. version:¶
Element | Example(s) | Description | Required |
---|---|---|---|
version:
|
version: v2.0
|
Config file version.
|
yes |
6.2. globals:¶
globals:
introspection:
env_variables:
switch_mode_mgmt:
switch_mode_data:
Element | Example(s) | Description | Required |
globals:
introspection:
...
|
introspection: true
|
Introspection shall be enabled. Evaluates to false if missing.
|
no |
globals:
env_variables:
...
|
env_variables:
https_proxy: http://192.168.1.2:3128
http_proxy: http://192.168.1.2:3128
no_proxy: localhost,127.0.0.1
|
Apply environmental variables to the shell. The example to the left would give the following result in bash: export https_proxy=”http://192.168.1.2:3128”
export http_proxy=”http://192.168.1.2:3128”
export no_proxy=”localhost,127.0.0.1”
|
no |
globals:
switch_mode_mgmt:
...
|
switch_mode_mgmt: active
|
Sets Cluster Genesis management switch mode. Evaluates to active if missing. passive
active
|
no |
globals:
switch_mode_data:
...
|
switch_mode_data: active
|
Sets Cluster Genesis data switch mode. Evaluates to active if missing. passive
active
|
no |
6.3. location:¶
location:
time_zone:
data_center:
racks:
- label:
room:
row:
cell:
Element | Example(s) | Description | Required |
---|---|---|---|
location:
time_zone:
...
|
time_zone: UTC
time_zone: America/Chicago
|
Cluster time zone in tz database format. | no |
location:
data_center:
...
|
data_center: East Coast
data_center: Austin, TX
|
Data center name to be associated with cluster inventory. | no |
location:
racks:
- label:
room:
row:
cell:
...
|
racks:
- label: rack1
room: lab41
row: 5
cell: B
- label: rack2
room: lab41
row: 5
cell: C
|
List of cluster racks. Required keys:
label - Unique label used to reference this rack elsewhere in the config file.
Optional keys:
room - Physical room location of rack.
row - Physical row location of rack.
cell - Physical cell location of rack.
|
yes |
6.4. deployer:¶
deployer:
gateway:
networks:
mgmt:
- device:
interface_ipaddr:
container_ipaddr:
bridge_ipaddr:
vlan:
netmask:
prefix:
client:
- type:
device:
container_ipaddr:
bridge_ipaddr:
vlan:
netmask:
prefix:
Element | Example(s) | Description | Required |
deployer:
gateway:
...
|
gateway: true
|
Deployer shall act as cluster gateway. Evaluates to false if missing.
The deployer will be configured as the default gateway for all client nodes. Configuration includes adding a ‘MASQUERADE’ rule to the deployer’s ‘iptables’ NAT chain and setting the ‘dnsmasq’ DHCP service to serve the deployer’s client management bridge address as the default gateway. Note: Specifying the ‘gateway’ explicitly on any of the data networks will override
this behaviour.
|
no |
deployer:
networks:
mgmt:
- device:
interface_ipaddr:
container_ipaddr:
bridge_ipaddr:
vlan:
netmask:
prefix:
...
...
|
mgmt:
- device: enp1s0f0
interface_ipaddr: 192.168.1.2
netmask: 255.255.255.0
- device: enp1s0f0
container_ipaddr: 192.168.5.2
bridge_ipaddr: 192.168.5.3
vlan: 5
prefix: 24
|
Management network interface configuration. Required keys:
device - Management network interface device.
Optional keys:
vlan - Management network vlan (tagged).
IP address must be defined with:
interface_ipaddr - Management interface IP address (non-tagged).
— or —
container_ipaddr - Container management interface IP address (tagged).
bridge_ipaddr - Deployer management bridge interface IP address (tagged).
Subnet mask must be defined with:
netmask - Management network bitmask.
— or —
prefix - Management network bit-length.
|
yes |
deployer:
networks:
client:
- type:
device:
container_ipaddr:
bridge_ipaddr:
vlan:
netmask:
prefix:
|
client:
- type: ipmi
device: enp1s0f0
container_ipaddr: 192.168.10.2
bridge_ipaddr: 192.168.10.3
vlan: 10
netmask: 255.255.255.0
- type: pxe
device: enp1s0f0
container_ipaddr: 192.168.20.2
bridge_ipaddr: 192.168.20.3
vlan: 20
prefix: 24
|
Client node BMC (IPMI) and OS (PXE) network interface configuration. Ansible communicates with clients using this network during “post deploy” operations. Required keys:
type - IPMI or PXE network (ipmi/pxe).
device - Management network interface device.
container_ipaddr - Container management interface IP address.
bridge_ipaddr - Deployer management bridge interface IP address.
vlan - Management network vlan.
Subnet mask must be defined with:
netmask - Management network bitmask.
— or —
prefix - Management network bit-length.
|
yes |
6.5. switches:¶
switches:
mgmt:
- label:
hostname:
userid:
password:
ssh_key:
class:
rack_id:
rack_eia:
interfaces:
- type:
ipaddr:
vlan:
port:
links:
- target:
ipaddr:
vip:
netmask:
prefix:
ports:
data:
- label:
hostname:
userid:
password:
ssh_key:
class:
rack_id:
rack_eia:
interfaces:
- type:
ipaddr:
vlan:
port:
links:
- target:
ipaddr:
vip:
netmask:
prefix:
ports:
Element | Example(s) | Description | Required | ||
---|---|---|---|---|---|
switches:
mgmt:
- label:
hostname:
userid:
password:
class:
rack_id:
rack_eia:
interfaces:
- type:
ipaddr:
vlan:
port:
links:
- target:
ports:
...
|
mgmt:
- label: mgmt_switch
hostname: switch23423
userid: admin
password: abc123
class: lenovo
rack_id: rack1
rack_eia: 20
interfaces:
- type: outband
ipaddr: 192.168.1.10
port: mgmt0
- type: inband
ipaddr: 192.168.5.20
port: 15
links:
- target: deployer
ports: 1
- target: data_switch
ports: 2
|
Management switch configuration. Each physical switch is defined as an item in the mgmt: list. Required keys:
label - Unique label used to reference this switch elsewhere in the config file.
Required keys in “active” switch mode:
Required keys in “passive” switch mode:
class - Switch class (lenovo/mellanox/cisco/cumulus).
Optional keys:
hostname - Hostname associated with switch management network interface.
rack_id - Reference to rack label defined in the
locations: racks:= element.
rack_eia - Switch position within rack.
interfaces - See interfaces.
links - See links.
|
yes | ||
switches:
data:
- label:
hostname:
userid:
password:
class:
rack_id:
rack_eia:
interfaces:
- type:
ipaddr:
vlan:
port:
links:
- target:
ports:
...
|
example #1: data:
- label: data_switch_1
hostname: switch84579
userid: admin
password: abc123
class: mellanox
rack_id: rack1
rack_eia: 21
interfaces:
- type: inband
ipaddr: 192.168.1.21
port: 15
links:
- target: mgmt_switch
ports: 1
- target: data_switch_2
ports: 2
example #2: data:
- label: data_switch
hostname: switch84579
userid: admin
password: abc123
rack_id: rack1
rack_eia: 21
interfaces:
- type: outband
ipaddr: 192.168.1.21
port: mgmt0
links:
- target: mgmt_switch
ports: mgmt0
|
Data switch configuration. Each physical switch is defined as an item in the data: list. Key/value specs are identical to mgmt switches. | yes | ||
switches:
mgmt:
- ...
interfaces:
- type:
ipaddr:
port:
data:
- ...
interfaces:
- type:
ipaddr:
port:
|
example #1: interfaces:
- type: outband
ipaddr: 192.168.1.20
port: mgmt0
example #2: interfaces:
- type: inband
ipaddr: 192.168.5.20
netmask: 255.255.255.0
port: 15
|
Switch interface configuration. Required keys:
type - In-Band or Out-of-Band (inband/outband).
ipaddr - IP address.
Optional keys:
vlan - VLAN.
port - Port.
Subnet mask may be defined with:
netmask - Management network bitmask.
— or —
prefix - Management network bit-length.
|
no | ||
switches:
mgmt:
- ...
links:
- target:
ports:
data:
- ...
links:
- target:
port:
- ...
links:
- target:
ipaddr:
vip:
netmask:
vlan:
ports:
|
example #1: mgmt:
- label: mgmt_switch
...
interfaces:
- type: inband
ipaddr: 192.168.5.10
port: 15
links:
- target: deployer
ports: 10
- target: data_switch
ports: 11
data:
- label: data_switch
...
interfaces:
- type: outband
ipaddr: 192.168.5.10
vlan: 5
port: mgmt0
links:
- target: mgmt_switch
ports: mgmt0
example #2: data:
- label: data_1
...
links:
- target: mgmt
ipaddr: 192.168.5.31
vip: 192.168.5.254
ports: mgmt0
- target: data_2
ipaddr: 10.0.0.1
netmask: 255.255.255.0
vlan: 4000
ports:
- 7
- 8
- label: data_2
links:
- target: mgmt
ipaddr: 192.168.5.32
vip: 192.168.5.254
ports: mgmt0
- target: data_2
ipaddr: 10.0.0.2
network: 255.255.255.0
vlan: 4000
ports:
- 7
- 8
|
Switch link configuration. Links can be configured between any switches and/or the deployer. Required keys:
target - Reference to destination target. This value must be set to ‘deployer’
or correspond to another switch’s label (switches_mgmt, switches_data).
ports - Source port numbers (not target ports!). This can either be a single
port or a list of ports. If a list is given then the links will be
aggregated.
Optional keys:
ipaddr - Management interface IP address.
vlan - Management interface vlan.
vip - Virtual IP used for redundant switch configurations.
Subnet mask must be defined with:
netmask - Management network bitmask.
— or —
prefix - Management network bit-length.
In example #1 port 10 of “mgmt_switch” is cabled directly to the deployer and port 11 of “mgmt_switch” is cabled to the mangement port 0 of “data_switch”. An inband management interface is configured with an IP address of ‘192.168.5.10’ for “mgmt_switch”, and the dedicated management port 0 of “data_switch” is configured with an IP address of “192.168.5.11” on vlan “5”. In example #2 a redundant data switch configuration is shown. Ports 7 and 8 (on both switches) are configured as an aggrated peer link on vlan “4000” with IP address of “10.0.0.1/24” and “10.0.0.2/24”. |
no |
6.6. interfaces:¶
interfaces:
- label:
description:
iface:
method:
address_list:
netmask:
broadcast:
gateway:
dns_search:
dns_nameservers:
mtu:
pre_up:
vlan_raw_device:
- label:
description:
DEVICE:
BOOTPROTO:
ONBOOT
ONPARENT
MASTER
SLAVE
BONDING_MASTER
IPADDR_list:
NETMASK:
BROADCAST:
GATEWAY:
SEARCH:
DNS1:
DNS2:
MTU:
VLAN:
Element | Example(s) | Description | Required |
---|---|---|---|
interfaces:
- ...
- ...
|
List of OS interface configuration definitions. Each definition can be formatted for either Ubuntu or RHEL. | no | |
interfaces:
- label:
description:
iface:
method:
address_list:
netmask:
broadcast:
gateway:
dns_search:
dns_nameservers:
mtu:
pre_up:
vlan_raw_device:
|
- label: manual1
description: manual network 1
iface: eth0
method: manual
- label: dhcp1
description: dhcp interface 1
iface: eth0
method: dhcp
- label: static1
description: static interface 1
iface: eth0
method: static
address_list:
- 9.3.89.14
- 9.3.89.18-9.3.89.22
- 9.3.89.111-9.3.89.112
- 9.3.89.120
netmask: 255.255.255.0
broadcast: 9.3.89.255
gateway: 9.3.89.1
dns_search: your.dns.com
dns_nameservers: 9.3.1.200 9.3.1.201
mtu: 9000
pre_up: command
- label: vlan1
description: vlan interface 1
iface: eth0.10
method: manual
- label: vlan2
description: vlan interface 2
iface: myvlan.20
method: manual
vlan_raw_device: eth0
- label: bridge1
description: bridge interface 1
iface: br1
method: static
address_start: 10.0.0.100
netmask: 255.255.255.0
bridge_ports: eth0
bridge_fd: 9
bridge_hello: 2
bridge_maxage: 12
bridge_stp: off
- label: bond1_interface0
description: primary interface for bond 1
iface: eth0
method: manual
bond_master: bond1
bond_primary: eth0
- label: bond1_interface1
description: secondary interface for bond 1
iface: eth1
method: manual
bond_master: bond1
- label: bond1
description: bond interface 1
iface: bond1
address_start: 192.168.1.10
netmask: 255.255.255.0
bond_mode: active-backup
bond_miimon: 100
bond_slaves: none
- label: osbond0_interface0
description: primary interface for osbond0
iface: eth0
method: manual
bond_master: osbond0
bond_primary: eth0
- label: osbond0_interface1
description: secondary interface for osbond0
iface: eth1
method: manual
bond_master: osbond0
- label: osbond0
description: bond interface
iface: osbond0
address_start: 192.168.1.10
netmask: 255.255.255.0
bond_mode: active-backup
bond_miimon: 100
bond_slaves: none
- label: osbond0_vlan10
description: vlan interface 1
iface: osbond0.10
method: manual
- label: bridge10
description: bridge interface for vlan10
iface: br10
method: static
address_start: 10.0.10.100
netmask: 255.255.255.0
bridge_ports: osbond0.10
bridge_stp: off
- label: osbond0_vlan20
description: vlan interface 2
iface: osbond0.20
method: manual
- label: bridge20
description: bridge interface for vlan20
iface: br20
method: static
address_start: 10.0.20.100
netmask: 255.255.255.0
bridge_ports: osbond0.20
bridge_stp: off
|
Ubuntu formatted OS interface configuration. Required keys:
label - Unique label of interface configuration to be referenced within
networks: node_templates: interfaces:.
Optional keys:
description - Short description of interface configuration to be included
as a comment in OS config files.
address_list - List of IP address to assign client interfaces referencing this
configuration. Each list element may either be a single IP
address or a range (formatted as <start_address>-<end_address>).
address_start - Starting IP address to assign client interfaces referencing
this configuration. Addresses will be assigned to each client
interface incrementally.
Optional “drop-in” keys:
The following key names are derived directly from the Ubuntu interfaces
configuration file (note that all “-” charactes are replaced with “_”). Values
will be copied directly into the interfaces file. Refer to the interfaces
manpage
iface
method
netmask
broadcast
gateway
dns_search
dns_nameservers
mtu
pre_up
vlan_raw_device
Notes:
If ‘rename: true’ in
node_templates: physical_interfaces: pxe/data then the
iface value will be used to rename the interface.
If ‘rename: false’ in
node_templates: physical_interfaces: pxe/data then the
iface value will be ignored and the interface name assigned by the OS will be
used. If the iface value is referenced in any other interface definition it will
also be replaced.
|
no |
interfaces:
- label:
description:
DEVICE:
TYPE:
BOOTPROTO:
ONBOOT
ONPARENT:
MASTER:
SLAVE:
BONDING_MASTER:
IPADDR_list:
NETMASK:
BROADCAST:
GATEWAY:
SEARCH:
DNS1:
DNS2:
MTU:
VLAN:
NM_CONTROLLED:
|
- label: manual2
description: manual network 2
DEVICE: eth0
TYPE: Ethernet
BOOTPROTO: none
ONBOOT: yes
NM_CONTROLLED: no
- label: dhcp2
description: dhcp interface 2
DEVICE: eth0
TYPE: Ethernet
BOOTPROTO: dhcp
ONBOOT: yes
NM_CONTROLLED: no
- label: static2
description: static interface 2
DEVICE: eth0
TYPE: Ethernet
BOOTPROTO: none
ONBOOT: yes
IPADDR_list:
- 9.3.89.14
- 9.3.89.18-9.3.89.22
- 9.3.89.111-9.3.89.112
- 9.3.89.120
NETMASK: 255.255.255.0
BROADCAST: 9.3.89.255
GATEWAY: 9.3.89.1
SEARCH: your.dns.com
DNS1: 9.3.1.200
DNS2: 9.3.1.201
MTU: 9000
NM_CONTROLLED: no
- label: vlan3
description: vlan interface 3
DEVICE: eth0.10
BOOTPROTO: none
ONBOOT: yes
ONPARENT: yes
VLAN: yes
NM_CONTROLLED: no
- label: bridge2
description: bridge interface 2
DEVICE: br2
TYPE: Bridge
BOOTPROTO: static
ONBOOT: yes
IPADDR_start: 10.0.0.100
NETMASK: 255.255.255.0
STP: off
NM_CONTROLLED: no
- label: bridge2_port
description: port for bridge if 2
DEVICE: tap_br2
TYPE: Ethernet
BOOTPROTO: none
ONBOOT: yes
BRIDGE: br2
NM_CONTROLLED: no
- label: bond2_interface0
description: primary interface for bond 2
DEVICE: eth0
TYPE: Ethernet
BOOTPROTO: manual
ONBOOT: yes
MASTER: bond2
SLAVE: yes
NM_CONTROLLED: no
- label: bond2_interface1
description: secondary interface for bond 2
DEVICE: eth1
TYPE: Ethernet
BOOTPROTO: manual
ONBOOT: yes
MASTER: bond2
SLAVE: yes
NM_CONTROLLED: no
- label: bond2
description: bond interface 2
DEVICE: bond2
TYPE: Bond
BONDING_MASTER: yes
IPADDR_start: 192.168.1.10
NETMASK: 255.255.255.0
ONBOOT: yes
BOOTPROTO: none
BONDING_OPTS: "mode=active-backup miimon=100"
NM_CONTROLLED: no
|
Red Hat formatted OS interface configuration. Required keys:
label - Unique label of interface configuration to be referenced within
networks: node_templates: interfaces:.
Optional keys:
description - Short description of interface configuration to be included as
a comment in OS config files.
IPADDR_list - List of IP address to assign client interfaces referencing this
configuration. Each list element may either be a single IP
address or a range (formatted as <start_address>-<end_address>).
IPADDR_start - Starting IP address to assign client interfaces referencing this
configuration. Addresses will be assigned to each client
interface incrementally.
Optional “drop-in” keys:
The following key names are derived directly from RHEL’s ifcfg configuration
files. Values will be copied directly into the ifcfg-<name> files. Refer to
the RHEL IP NETWORKING for usage.
DEVICE
TYPE
BOOTPROTO
ONBOOT
ONPARENT
MASTER
SLAVE
BONDING_MASTER
NETMASK
BROADCAST
GATEWAY
SEARCH
DNS1
DNS2
MTU
VLAN
NM_CONTROLLED
Notes:
If ‘rename: true’ in
node_templates: physical_interfaces: pxe/data then the
DEVICE value will be used to rename the interface.
If ‘rename: false’ in
node_templates: physical_interfaces: pxe/data then the
DEVICE value will be replaced by the interface name assigned by the OS. If the
DEVICE value is referenced in any other interface definition it will also
be replaced.
|
no |
6.7. networks:¶
networks:
- label:
interfaces:
Element | Example(s) | Description | Required |
---|---|---|---|
networks:
- label:
interfaces:
|
interfaces:
- label: example1
...
- label: example2
...
- label: example3
...
networks:
- label: all_nets
interfaces:
- example1
- example2
- example3
- label: group1
interfaces:
- example1
- example2
- label: group2
interfaces:
- example1
- example3
|
The ‘networks’ list defines groups of interfaces. These groups can be assigned to items in the node_templates: list. Required keys:
label - Unique label of network group to be referenced within a node_templates: item’s ‘networks:’
value.
interfaces - List of interfaces assigned to the group.
|
no |
6.8. node_templates:¶
node_templates:
- label:
ipmi:
userid:
password:
os:
hostname_prefix:
profile:
install_device:
users:
- name:
password:
groups:
- name:
kernel_options:
physical_interfaces:
ipmi:
- switch:
ports:
pxe:
- switch:
interface:
rename:
ports:
data:
- switch:
interface:
rename:
ports:
interfaces:
networks:
roles:
Element | Example(s) | Description | Required |
---|---|---|---|
node_templates:
- label:
ipmi:
os:
physical_interfaces:
interfaces:
networks:
roles:
|
- label: controllers
ipmi:
userid: admin
password: pass
os:
hostname_prefix: ctrl
profile: ubuntu-14.04-server-ppc64el
install_device: /dev/sda
kernel_options: quiet
physical_interfaces:
ipmi:
- switch: mgmt_switch_1
ports:
- 1
- 3
- 5
pxe:
- switch: mgmt_switch_1
ports:
- 2
- 4
- 6
|
Node templates define client node configurations. Existing IPMI credentials and network interface physical connection information must be given to allow Cluster POWER-Up to connect to nodes. OS installation characteristics and post install network configurations are also defined. Required keys:
label - Unique label used to reference this template.
ipmi - IPMI credentials. See node_templates: ipmi.
os - Operating system configuration. See node_templates: os.
physical_interfaces - Physical network interface port mappings. See
node_templates: physical_interfaces.
Optional keys:
interfaces - Post-deploy interface assignments. See node_templates:
interfaces.
networks - Post-deploy network (interface group) assignments. See
node_templates: networks.
roles - Ansible group assignment. See node_templates: roles.
|
yes |
node_templates:
- ...
ipmi:
userid:
password:
|
- label: ppc64el
ipmi:
userid: ADMIN
password: admin
...
- lable: x86_64
ipmi:
userid: ADMIN
password: ADMIN
...
|
Client node IPMI credentials. Note that IPMI credentials must be consistent for all members of a node template. Required keys:
userid - IPMI userid.
password - IPMI password.
|
yes |
node_templates:
- ...
os:
hostname_prefix:
profile:
install_device:
users:
- name:
password:
groups:
- name:
kernel_options:
|
- ...
os:
hostname_prefix: controller
profile: ubuntu-14.04-server-ppc64el
install_device: /dev/sda
users:
- name: root
password: <crypted password>
- name: user1
password: <crypted password>
groups: sudo,testgroup1
groups:
- name: testgroup1
- name: testgroup2
kernel_options: quiet
|
Client node operating system configuration. Required keys:
profile - Cobbler profile to use for OS installation. This
name usually should match the name of the
installation image (without the’.iso’ extension).
install_device - Path to installation disk device.
Optional keys:
hostname_prefix - Prefix used to assign hostnames to client nodes
belonging to this node template. A “-” and
enumeration is added to the end of the prefix to
make a unique hostname for each client node
(e.g. “controller-1” and “controoler-2”).
users - OS user accounts to create. All parameters in the
Ansible user module are
supported.
groups - OS groups to create. All parameters in the Ansible
group module are
supported.
kernel_options - Kernel options
|
yes |
node_templates:
- ...
physical_interfaces:
ipmi:
- switch:
ports:
pxe:
- switch:
interface:
rename:
ports:
data:
- switch:
interface
rename:
ports:
|
- ...
physical_interfaces:
ipmi:
- switch: mgmt_1
ports:
- 7
- 8
- 9
pxe:
- switch: mgmt_1
interface: eth15
rename: true
ports:
- 10
- 11
- 12
data:
- switch: data_1
interface: eth10
rename: true
ports:
- 7
- 8
- 9
- switch: data_1
interface: eth11
rename: false
ports:
- 10
- 11
- 12
|
Client node interface port mappings. Required keys:
ipmi - IPMI (BMC) interface port mappings. See physical_interfaces: ipmi.
pxe - PXE (OS) interface port mappings. See physical_interfaces:
pxe/data.
Optional keys:
data - Data (OS) interface port mappings. See physical_interfaces:
pxe/data.
|
yes |
node_templates:
- ...
physical_interfaces:
ipmi:
- switch:
ports:
...
|
- ...
physical_interfaces:
ipmi:
- switch: mgmt_1
ports:
- 7
- 8
- 9
|
IPMI (BMC) interface port mappings. Required keys:
switch - Reference to mgmt switch label defined in the switches: mgmt: element.
ports - List of port number/identifiers mapping to client node IPMI
interfaces.
In the example three client nodes are defined and mapped to ports 7,8,9 of a management switch labeled “mgmt_1”. |
yes |
node_templates:
- ...
physical_interfaces:
...
pxe:
- switch:
interface:
rename:
ports:
data:
- switch:
interface:
rename:
ports
|
- ...
physical_interfaces:
pxe:
- switch: mgmt_1
interface: dhcp1
rename: true
ports:
- 10
- 11
- 12
data:
- switch: data_1
interface: manual1
rename: true
ports:
- 7
- 8
- 9
- switch: data_1
interface: manual2
rename: false
ports:
- 10
- 11
- 12
|
OS (PXE & data) interface port mappings. Required keys:
switch - Reference to switch label defined in the switches: mgmt: or switches: data:
elements.
interface - Reference to interface label defined in the interfaces:
elements.
rename - Value (true/false) to control whether client node interfaces
will be renamed to match the interface iface (Ubuntu) or
DEVICE (RHEL) value.
ports - List of port number/identifiers mapping to client node OS
interfaces.
Note: For additional information on using rename see notes in
interfaces: (Ubuntu) and
interfaces: (RHEL).
|
yes |
node_templates:
- ...
interfaces:
|
interfaces:
- label: data_int1
...
- label: data_int2
...
- label: data_int3
...
node_templates:
- ...
interfaces:
- data_int1
- data_int2
- data_int3
|
OS network interface configuration assignment. Required keys:
interfaces - List of references to interface labels from the
top-level interfaces: dictionary.
|
no |
node_templates:
- ...
networks:
|
interfaces:
- label: data_int1
...
- label: data_int2
...
- label: data_int3
...
networks:
- label: data_group1
interfaces:
- data_int1
- data_int2
- data_int3
node_templates:
- ...
networks:
- data_group1
|
OS network interface configuration assignment by group. Required keys:
networks - List of references to network labels from the
top-level networks: dictionary.
|
no |
node_templates:
- ...
roles:
|
roles:
- controllers
- power_servers
|
Ansible role/group assignment. Required keys:
roles - List of roles (Ansible groups) to assign to client nodes
associated with this node template. Names can be any string.
|
no |
6.9. software_bootstrap:¶
software_bootstrap:
- hosts:
executable:
command:
Element | Example(s) | Description | Required |
---|---|---|---|
software_bootstrap:
- hosts:
executable:
command:
|
software_bootstrap:
- hosts: all
command: apt-get update
- hosts: openstackservers
executable: /bin/bash
command: |
set -e
apt update
apt upgrade -y
|
Software bootstrap defines commands to be run on client nodes after Cluster Genesis completes. This is useful for various additional configuration activities, such as bootstrapping additional software package installations. Required keys:
hosts - Hosts to run commands on. The value can be set to ‘all’ to run on all hosts,
node_template labels, or role/group names.
command - Command to run.
Optional keys:
executable - Path to shell used to execute the command.
|
no |