diff --git a/lib/facter/ovs.rb b/lib/facter/ovs.rb index 3a6100cd..92b16545 100644 --- a/lib/facter/ovs.rb +++ b/lib/facter/ovs.rb @@ -2,6 +2,9 @@ Facter.add("ovs_version") do confine :kernel => "Linux" setcode do - Facter::Core::Execution.exec('/usr/bin/ovs-vsctl --version').gsub(/.*ovs-vsctl\s+\(Open\s+vSwitch\)\s+(\d+\.\d+\.\d+).*/, '\1') + ovs_ver = Facter::Core::Execution.exec('/usr/bin/ovs-vsctl --version') + if ovs_ver + ovs_ver.gsub(/.*ovs-vsctl\s+\(Open\s+vSwitch\)\s+(\d+\.\d+\.\d+).*/, '\1') + end end end diff --git a/manifests/ovs.pp b/manifests/ovs.pp index 9735e4af..0b38d386 100644 --- a/manifests/ovs.pp +++ b/manifests/ovs.pp @@ -64,11 +64,13 @@ class vswitch::ovs( status => $ovs_status, } - $major_version = regsubst($::ovs_version, '^(\d+).*', '\1') - if $major_version == '1' { - $kernel_mod_file = "/lib/modules/${::kernelrelease}/updates/dkms/openvswitch_mod.ko" - } else { - $kernel_mod_file = "/lib/modules/${::kernelrelease}/updates/dkms/openvswitch.ko" + if $::ovs_version { + $major_version = regsubst($::ovs_version, '^(\d+).*', '\1') + if $major_version == '1' { + $kernel_mod_file = "/lib/modules/${::kernelrelease}/updates/dkms/openvswitch_mod.ko" + } else { + $kernel_mod_file = "/lib/modules/${::kernelrelease}/updates/dkms/openvswitch.ko" + } } }