diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/generate_network_config.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/generate_network_config.rb index cc51403303..d7dbe8c299 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/generate_network_config.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/generate_network_config.rb @@ -203,6 +203,12 @@ Puppet::Parser::Functions::newfunction(:generate_network_config, :type => :rvalu ifconfig_order.insert(-1, t[:name].to_sym()) end elsif action == :bond + if ! t[:interfaces].is_a? Array + raise(Puppet::ParseError, "generate_network_config(): 'add-bond' resource should has non-empty 'interfaces' list.") + end + if ! t[:properties].is_a? Hash + raise(Puppet::ParseError, "generate_network_config(): 'add-bond' resource should has non-empty 'properties' field.") + end if t[:provider] == 'lnx' if ! ifconfig_order.index(t[:name].to_sym()) ifconfig_order.insert(-1, t[:name].to_sym()) diff --git a/deployment/puppet/l23network/lib/puppet/parser/functions/get_hash_with_defaults_and_deprecations.rb b/deployment/puppet/l23network/lib/puppet/parser/functions/get_hash_with_defaults_and_deprecations.rb index e686b3f8bf..1bbc3e5314 100644 --- a/deployment/puppet/l23network/lib/puppet/parser/functions/get_hash_with_defaults_and_deprecations.rb +++ b/deployment/puppet/l23network/lib/puppet/parser/functions/get_hash_with_defaults_and_deprecations.rb @@ -28,13 +28,15 @@ EOS # Add deprecated properties depre.each { |k,v| - if rv[k].nil? + if rv[k].nil? and ![nil, 'undef', :undef].index(v) + warn("You using deprecated parameter '#{k}':#{v}") rv[k] = v end } defa.each { |k,v| - if rv[k].nil? + if rv[k].nil? and ![nil, 'undef', :undef].index(v) + info("Setup default parameter '#{k}':#{v}") rv[k] = v end } diff --git a/deployment/puppet/l23network/manifests/l2/bond.pp b/deployment/puppet/l23network/manifests/l2/bond.pp index 483eb3093a..4e238f0be5 100644 --- a/deployment/puppet/l23network/manifests/l2/bond.pp +++ b/deployment/puppet/l23network/manifests/l2/bond.pp @@ -32,6 +32,7 @@ define l23network::l2::bond ( $properties = [], $tag = 0, $trunks = [], + $provider = 'ovs', $ensure = present, $skip_existing = false ) { diff --git a/deployment/puppet/l23network/manifests/l2/bridge.pp b/deployment/puppet/l23network/manifests/l2/bridge.pp index 52fecf9edd..5b3944e7e4 100644 --- a/deployment/puppet/l23network/manifests/l2/bridge.pp +++ b/deployment/puppet/l23network/manifests/l2/bridge.pp @@ -17,8 +17,9 @@ # define l23network::l2::bridge ( $external_ids = '', + $provider = 'ovs', $ensure = present, - $skip_existing = false, + $skip_existing = false ) { if ! $::l23network::l2::use_ovs { fail('You must enable Open vSwitch by setting the l23network::l2::use_ovs to true.') diff --git a/deployment/puppet/l23network/manifests/l2/patch.pp b/deployment/puppet/l23network/manifests/l2/patch.pp index bbce01969d..8497567b9b 100644 --- a/deployment/puppet/l23network/manifests/l2/patch.pp +++ b/deployment/puppet/l23network/manifests/l2/patch.pp @@ -27,7 +27,9 @@ define l23network::l2::patch ( $peers = [undef,undef], $tags = [0, 0], $trunks = [], + $provider = 'ovs', $ensure = present, + $skip_existing = false ) { if ! $::l23network::l2::use_ovs { fail('You must enable Open vSwitch by setting the l23network::l2::use_ovs to true.') diff --git a/deployment/puppet/l23network/manifests/l2/port.pp b/deployment/puppet/l23network/manifests/l2/port.pp index 50585acf94..f682a9aa94 100644 --- a/deployment/puppet/l23network/manifests/l2/port.pp +++ b/deployment/puppet/l23network/manifests/l2/port.pp @@ -34,11 +34,12 @@ define l23network::l2::port ( $type = '', $port_properties = [], $interface_properties = [], - $ensure = present, - $skip_existing = false, $tag = 0, $trunks = [], - $vlan_splinters= false + $vlan_splinters= false, + $provider = 'ovs', + $ensure = present, + $skip_existing = false ) { if ! $::l23network::l2::use_ovs { fail('You must enable Open vSwitch by setting the l23network::l2::use_ovs to true.') diff --git a/deployment/puppet/l23network/templates/ethtool_Debian.erb b/deployment/puppet/l23network/templates/ethtool_Debian.erb index 22f45b74e4..efd84590ac 100644 --- a/deployment/puppet/l23network/templates/ethtool_Debian.erb +++ b/deployment/puppet/l23network/templates/ethtool_Debian.erb @@ -1,5 +1,5 @@ <%- if @ethtool_lines -%> <%- @ethtool_lines.each do |key,line| -%> -post-up ethtool <%= key %> <%= interface %> <%= line %> || true +post-up ethtool <%= key %> <%= @interface %> <%= line %> || true <%- end -%> <%- end -%> diff --git a/deployment/puppet/l23network/templates/ipconfig_Debian_bondslave.erb b/deployment/puppet/l23network/templates/ipconfig_Debian_bondslave.erb index f6d5d229bd..2eb7fe1931 100644 --- a/deployment/puppet/l23network/templates/ipconfig_Debian_bondslave.erb +++ b/deployment/puppet/l23network/templates/ipconfig_Debian_bondslave.erb @@ -1,5 +1,5 @@ -auto <%= interface %> -iface <%= interface %> inet manual +auto <%= @interface %> +iface <%= @interface %> inet manual bond-master <%= @bond_master %> <% if @macaddr -%> hwaddress ether <%= @macaddr.downcase %> diff --git a/deployment/puppet/l23network/templates/ipconfig_Debian_dhcp.erb b/deployment/puppet/l23network/templates/ipconfig_Debian_dhcp.erb index 91e20f9cda..f6ca86d3ea 100644 --- a/deployment/puppet/l23network/templates/ipconfig_Debian_dhcp.erb +++ b/deployment/puppet/l23network/templates/ipconfig_Debian_dhcp.erb @@ -1,5 +1,5 @@ -auto <%= interface %> -iface <%= interface %> inet dhcp +auto <%= @interface %> +iface <%= @interface %> inet dhcp <% if @macaddr -%> hwaddress ether <%= @macaddr.downcase %> <% end -%> diff --git a/deployment/puppet/l23network/templates/ipconfig_RedHat_bondslave.erb b/deployment/puppet/l23network/templates/ipconfig_RedHat_bondslave.erb index 6d7bbe6efb..5ffb34a26e 100644 --- a/deployment/puppet/l23network/templates/ipconfig_RedHat_bondslave.erb +++ b/deployment/puppet/l23network/templates/ipconfig_RedHat_bondslave.erb @@ -1,4 +1,4 @@ -DEVICE=<%= interface %> +DEVICE=<%= @interface %> BOOTPROTO=none ONBOOT=yes USERCTL=no diff --git a/deployment/puppet/l23network/templates/ipconfig_RedHat_dhcp.erb b/deployment/puppet/l23network/templates/ipconfig_RedHat_dhcp.erb index 3a60927e1e..6d3d26c777 100644 --- a/deployment/puppet/l23network/templates/ipconfig_RedHat_dhcp.erb +++ b/deployment/puppet/l23network/templates/ipconfig_RedHat_dhcp.erb @@ -1,4 +1,4 @@ -DEVICE=<%= interface %> +DEVICE=<%= @interface %> BOOTPROTO=dhcp ONBOOT=yes USERCTL=no diff --git a/deployment/puppet/l23network/templates/ipconfig_RedHat_ifdn-script.erb b/deployment/puppet/l23network/templates/ipconfig_RedHat_ifdn-script.erb index 05ff96c5f8..a77e3bc815 100644 --- a/deployment/puppet/l23network/templates/ipconfig_RedHat_ifdn-script.erb +++ b/deployment/puppet/l23network/templates/ipconfig_RedHat_ifdn-script.erb @@ -1,7 +1,7 @@ #!/bin/sh <%- if @ipaddr_aliases -%> <%- @ipaddr_aliases.each do |addr| -%> -ip addr del <%= addr %> dev <%= interface %> +ip addr del <%= addr %> dev <%= @interface %> <%- end -%> <%- end -%> true diff --git a/deployment/puppet/l23network/templates/ipconfig_RedHat_ifup-script.erb b/deployment/puppet/l23network/templates/ipconfig_RedHat_ifup-script.erb index 9e8f062ece..fed537f1cc 100644 --- a/deployment/puppet/l23network/templates/ipconfig_RedHat_ifup-script.erb +++ b/deployment/puppet/l23network/templates/ipconfig_RedHat_ifup-script.erb @@ -1,12 +1,12 @@ #!/bin/sh <%- if @ipaddr_aliases -%> <%- @ipaddr_aliases.each do |addr| -%> -ip addr add <%= addr %> dev <%= interface %> +ip addr add <%= addr %> dev <%= @interface %> <%- end -%> <%- end -%> <%- if @ethtool_lines -%> <%- @ethtool_lines.each do |key,line| -%> -ethtool <%= key %> <%= interface %> <%= line %> +ethtool <%= key %> <%= @interface %> <%= line %> <%- end -%> <%- end -%> true