Back to bug 1399816

Who When What Removed Added
Dan Sneddon 2016-11-29 19:46:59 UTC Doc Text Recent enhancements to Director required changing the way that network interface configurations are processed. The NIC configuration templates will now be read into a script that calls the os-net-config utility to configure the network on the Overcloud nodes. There are several major changes to the NIC config templates:

* The network_config is no longer a simple YAML-formatted property of a Heat parameter, as in previous versions, it is now a blob of text used in a Heat str_replace (string replace) function. Due to this change, the preamble to the network config will be different. This can be seen in the resource definition:

resources:
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
group: script
config:
str_replace:
template:
get_file: ../../scripts/run-os-net-config.sh
params:
$network_config:
network_config:

* The {get_input: <input>} constructor that was previously used to define a default external bridge and interface is no longer used. Instead, there are two special string values which will be replaced when the script is written. These are "bridge_name" and "interface_name". Instead of using "{get_input: bridge_name}" or "{get_input: interface_name}", you can just use "bridge_name" or "interface_name", for example:

- type: ovs_bridge
name: {get_input: bridge_name}

becomes:

- type: ovs_bridge
name: bridge_name

* Since the network_config defined in the SoftwareConfig is now passed as a string, curly-braces are no longer used. Instead, the {get_param: <param>} construct is moved to a sub-level underneath the value being defined, so this:

dns_servers: {get_param: DnsServers}

becomes:

dns_servers:
get_param: DnsServers
Doc Type If docs needed, set a value Release Note
Dan Sneddon 2016-11-29 19:47:33 UTC Target Release --- 11.0 (Ocata)
Target Milestone --- ga
Dan Sneddon 2017-02-17 19:53:41 UTC CC athomas
Flags needinfo?(athomas)
Red Hat Bugzilla Rules Engine 2017-02-17 19:53:47 UTC Target Release 11.0 (Ocata) ---
RHEL Program Management 2017-02-17 20:00:18 UTC Keywords FutureFeature
Ben Nemec 2017-02-23 16:14:14 UTC CC bnemec
Marius Cornea 2017-03-02 12:33:27 UTC CC mcornea
Steven Hardy 2017-03-06 17:20:10 UTC CC shardy
Jaromir Coufal 2017-03-13 16:26:59 UTC CC dmacpher, jcoufal, srevivo
Component rhosp-director documentation
Assignee athomas rhos-docs
QA Contact ohochman rhos-docs
Flags needinfo?(athomas) needinfo?(dmacpher)
Jaromir Coufal 2017-03-13 16:33:00 UTC Target Release --- 11.0 (Ocata)
Assignee rhos-docs athomas
QA Contact rhos-docs ohochman
Dan Macpherson 2017-03-15 16:22:51 UTC Status NEW ASSIGNED
Assignee athomas dmacpher
QA Contact ohochman rhos-docs
Flags needinfo?(dmacpher)
Dan Macpherson 2017-03-16 05:19:17 UTC Status ASSIGNED POST
CC dsneddon
Flags needinfo?(dsneddon)
Alexander Chuzhoy 2017-03-22 19:09:54 UTC CC sasha
Charelle Collett 2017-04-07 00:12:34 UTC CC ccollett
Doc Text Recent enhancements to Director required changing the way that network interface configurations are processed. The NIC configuration templates will now be read into a script that calls the os-net-config utility to configure the network on the Overcloud nodes. There are several major changes to the NIC config templates:

* The network_config is no longer a simple YAML-formatted property of a Heat parameter, as in previous versions, it is now a blob of text used in a Heat str_replace (string replace) function. Due to this change, the preamble to the network config will be different. This can be seen in the resource definition:

resources:
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
group: script
config:
str_replace:
template:
get_file: ../../scripts/run-os-net-config.sh
params:
$network_config:
network_config:

* The {get_input: <input>} constructor that was previously used to define a default external bridge and interface is no longer used. Instead, there are two special string values which will be replaced when the script is written. These are "bridge_name" and "interface_name". Instead of using "{get_input: bridge_name}" or "{get_input: interface_name}", you can just use "bridge_name" or "interface_name", for example:

- type: ovs_bridge
name: {get_input: bridge_name}

becomes:

- type: ovs_bridge
name: bridge_name

* Since the network_config defined in the SoftwareConfig is now passed as a string, curly-braces are no longer used. Instead, the {get_param: <param>} construct is moved to a sub-level underneath the value being defined, so this:

dns_servers: {get_param: DnsServers}

becomes:

dns_servers:
get_param: DnsServers
Recent enhancements to the director required changing the way that network interface configurations are processed. The NIC configuration templates will now be read into a script that calls the os-net-config utility to configure the network on the overcloud nodes. There are three major changes to the NIC config templates:

* The network_config is no longer a simple YAML-formatted property of a Heat parameter. It is now a blob of text used in a Heat str_replace (string replace) function. Due to this change, the preamble to the network config is different. This can be seen in the resource definition:

----
resources:
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
group: script
config:
str_replace:
template:
get_file: ../../scripts/run-os-net-config.sh
params:
$network_config:
network_config:
----

* Previously, the {get_input: <input>} constructor was used to define a default external bridge and interface. It is now no longer used. Instead, there are two special string values which are replaced when the script is written. These are "bridge_name" and "interface_name". Instead of using "{get_input: bridge_name}" or "{get_input: interface_name}", you can use "bridge_name" or "interface_name", for example:

----
- type: ovs_bridge
name: {get_input: bridge_name}
----
becomes:
----
- type: ovs_bridge
name: bridge_name
----

* Since the network_config defined in the SoftwareConfig is now passed as a string, curly braces are no longer used. Instead, the {get_param: <param>} construct is moved to a sub-level underneath the value being defined, for example, this:
----
dns_servers: {get_param: DnsServers}
----
becomes:
----
dns_servers:
get_param: DnsServers
----
Dan Sneddon 2017-04-07 20:21:05 UTC Flags needinfo?(dsneddon)
Dan Macpherson 2017-04-11 01:27:49 UTC Doc Text Recent enhancements to the director required changing the way that network interface configurations are processed. The NIC configuration templates will now be read into a script that calls the os-net-config utility to configure the network on the overcloud nodes. There are three major changes to the NIC config templates:

* The network_config is no longer a simple YAML-formatted property of a Heat parameter. It is now a blob of text used in a Heat str_replace (string replace) function. Due to this change, the preamble to the network config is different. This can be seen in the resource definition:

----
resources:
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
group: script
config:
str_replace:
template:
get_file: ../../scripts/run-os-net-config.sh
params:
$network_config:
network_config:
----

* Previously, the {get_input: <input>} constructor was used to define a default external bridge and interface. It is now no longer used. Instead, there are two special string values which are replaced when the script is written. These are "bridge_name" and "interface_name". Instead of using "{get_input: bridge_name}" or "{get_input: interface_name}", you can use "bridge_name" or "interface_name", for example:

----
- type: ovs_bridge
name: {get_input: bridge_name}
----
becomes:
----
- type: ovs_bridge
name: bridge_name
----

* Since the network_config defined in the SoftwareConfig is now passed as a string, curly braces are no longer used. Instead, the {get_param: <param>} construct is moved to a sub-level underneath the value being defined, for example, this:
----
dns_servers: {get_param: DnsServers}
----
becomes:
----
dns_servers:
get_param: DnsServers
----
Recent enhancements to the director requires changes to network interface configuration templates. The NIC configuration templates now use a script that calls the 'os-net-config utility' to configure the network on the overcloud nodes. There are three major changes to the NIC config templates:

* The 'OsNetConfigImpl' resource changed from a 'OS::Heat::StructuredConfig' resource type to 'OS::Heat::SoftwareConfig'. In addition, the resource now stores the 'network_config' property as a blob of text and passes the blob to the 'run-os-net-config.sh' script using the 'str_replace' (string replace) function. For example:

----
resources:
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
group: script
config:
str_replace:
template:
get_file: ../../scripts/run-os-net-config.sh
params:
$network_config:
network_config:
----

* The {get_input: <input>} constructor defined a default external bridge and interface. Now there are two special string values that subsititude for the external bridge and interface. These are 'bridge_name' and 'interface_name' respectively. Instead of using '{get_input: bridge_name}' or '{get_input: interface_name}', use 'bridge_name' or 'interface_name'. For example:

----
- type: ovs_bridge
name: {get_input: bridge_name}
----
becomes:
----
- type: ovs_bridge
name: bridge_name
----

* The 'network_config' no longer uses curly braces. Instead, the {get_param: <param>} construct moves to a sub-level underneath the value being defined. For example:
----
dns_servers: {get_param: DnsServers}
----
becomes:
----
dns_servers:
get_param: DnsServers
----

See more examples in the "Network Isolation" chapter of the Advanced Overcloud Customizations guide.
Dan Macpherson 2017-04-11 04:36:30 UTC Status POST ON_QA
QA Contact rhos-docs mlopes
Martin Lopes 2017-04-11 04:48:54 UTC Status ON_QA VERIFIED
Flags needinfo?(dmacpher)
Dan Macpherson 2017-04-11 05:30:39 UTC Flags needinfo?(dmacpher)
Dan Macpherson 2017-05-18 08:05:02 UTC Status VERIFIED CLOSED
Resolution --- CURRENTRELEASE
Last Closed 2017-05-18 04:05:02 UTC
Pavel Sedlák 2018-03-01 14:44:18 UTC CC psedlak

Back to bug 1399816