Add support for {{role.name}}IPs in Composable Role
Use the {{role.name}}IPs for network port resources in Composable Role to enable setting predictable ip address on network ports. We currently support predictable ip addressing using the from_pool templates. The from_pool creates a 'fake' neutron port. Because of this we loose access to properties of the ports subnet, properties that is useful to simplyfy advanced configurations such as routed spine-and-leaf. Creating a neutron port also open the possibility to use ML2 plugins in the future (Neutron Ansible ML2) to do port binding that configures network devices. The parameter (interface) to use this is the same as with from_pool. Example: parameter_defaults: {role.name}IPs: {network.name_lower}: - 10.0.0.1 {network.name_lower}: - 172.16.1.1 We just don't need to override the resource registry. I.e the following is not used/required. resource_registry: ``OS::TripleO::{{role.name}}::Ports::{{network.name}}Port`` NOTE: This does not remove the from_pool templates. We may want to deprecate them, but in that case we need to ensure it is possible to upgrade an environment that used them by changeing the resource registry to use the default port templates in this change. Related: blueprint tripleo-routed-networks-templates Change-Id: I3f9b55ffbf6b6626b4d0dfbec3867811cb74de14
This commit is contained in:
parent
995fa8451a
commit
7817fccc5b
@ -301,6 +301,13 @@ conditions:
|
||||
- {get_param: [{{role.name}}IPs, 'ctlplane', {get_param: NodeIndex}]}
|
||||
{%- endif %}
|
||||
- ""
|
||||
{%- for network in networks %}
|
||||
{{role.name}}_{{network.name}}_fixed_ip_set:
|
||||
not:
|
||||
equals:
|
||||
- {get_param: [{{role.name}}IPs, '{{network.name_lower}}', {get_param: NodeIndex}]}
|
||||
- ''
|
||||
{%- endfor %}
|
||||
|
||||
resources:
|
||||
{{server_resource_name}}:
|
||||
@ -397,6 +404,11 @@ resources:
|
||||
type: OS::TripleO::{{role.name}}::Ports::{{network.name}}Port
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [{{server_resource_name}}, networks, ctlplane, 0]}
|
||||
FixedIPs:
|
||||
if:
|
||||
- {{role.name}}_{{network.name}}_fixed_ip_set
|
||||
- [{ip_address: {get_param: [{{role.name}}IPs, '{{network.name_lower}}', {get_param: NodeIndex}]}}]
|
||||
- []
|
||||
IPPool:
|
||||
map_merge:
|
||||
{%- if role.deprecated_param_ips is defined %}
|
||||
|
@ -0,0 +1,23 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Support for predictable IP addressing added to the default port templates.
|
||||
In previous releases the use of _from_pool templates was required to have
|
||||
predictable ip addresses assigned to the nodes. Use of the
|
||||
``port_from_pool`` templates is no longer required. The interface to
|
||||
configure predictable IP addressing without ``port_from_pool`` templates is
|
||||
the same. For example::
|
||||
|
||||
parameter_defaults:
|
||||
ControllerIPs:
|
||||
intapi:
|
||||
- 10.0.0.10
|
||||
- 10.0.0.11
|
||||
external:
|
||||
- 172.16.1.10
|
||||
- 172.16.1.11
|
||||
upgrade:
|
||||
- |
|
||||
Support for predictable IP addressing has been added to the default port
|
||||
templates. This however has not been tested for upgrades. If upgrading
|
||||
continues use of the _from_pool templates is required.
|
Loading…
Reference in New Issue
Block a user