From 72fe9e995088aaffff1f73046045518f2439c09b Mon Sep 17 00:00:00 2001 From: Andres Moya <andres.moya.i@gmail.com> Date: Wed, 9 Sep 2020 11:00:19 -0700 Subject: [PATCH] adding PREFIX= for RH. Adding CIDR ipv4 address format for RH --- manifests/interface.pp | 15 ++++++++++++--- templates/interface/RedHat.erb | 15 +++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/manifests/interface.pp b/manifests/interface.pp index ec60230..3178473 100644 --- a/manifests/interface.pp +++ b/manifests/interface.pp @@ -282,6 +282,7 @@ define network::interface ( $enable_dhcp = false, $ipaddress = '', + $prefix = undef, $netmask = undef, $network = undef, $broadcast = undef, @@ -634,9 +635,17 @@ define network::interface ( }, default => $peerntp, } - $manage_ipaddr = $ipaddr ? { - '' => $ipaddress, - default => $ipaddr, + case $ipaddr { + '': { $manage_ipaddr = $ipaddress} + default: { + if $ipaddr =~ /^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\/([0-9]|[1-2][0-9]|3[0-2])$/ { + $manage_ipaddr = $1 + $manage_prefix = $2 + } else { + $manage_ipaddr = $ipaddr + $manage_prefix = $prefix + } + } } $manage_onboot = $onboot ? { '' => $enable ? { diff --git a/templates/interface/RedHat.erb b/templates/interface/RedHat.erb index 23ec584..dd858e0 100644 --- a/templates/interface/RedHat.erb +++ b/templates/interface/RedHat.erb @@ -50,6 +50,21 @@ IPADDR<%= id %>="<%= @ipaddress[id-1] %>" IPADDR="<%= @manage_ipaddr %>" <% end -%> <% end -%> +<% if @manage_prefix -%> +<% if @ipaddress.kind_of?(Array) -%> +<% if @manage_prefix.kind_of?(Array) -%> +<%- (1..(@manage_prefix.length)).each do |id| -%> +PREFIX<%= id %>="<%= @manage_prefix[id-1] %>" +<% end -%> +<% else -%> +<%- (1..(@ipaddress.length)).each do |id| -%> +PREFIX<%= id %>="<%= @manage_prefix %>" +<% end -%> +<% end -%> +<% else -%> +PREFIX="<%= @manage_prefix %>" +<% end -%> +<% end -%> <% if @netmask -%> <% if @ipaddress.kind_of?(Array) -%> <% if @netmask.kind_of?(Array) -%> -- GitLab