Bug 1250383

Summary: Facter fails with "sh: vdsmdummy: command not found"
Product: Red Hat Satellite Reporter: Shinobu KINJO <skinjo>
Component: Configuration ManagementAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED CURRENTRELEASE QA Contact: Katello QA List <katello-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1.8CC: cdonnell, mmagr, ohadlevy, skinjo, srevivo, tasander
Target Milestone: UnspecifiedKeywords: Reopened, Triaged, ZStream
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-30 12:46:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Shinobu KINJO 2015-08-05 09:34:49 UTC
Description of problem:
When customer issue ifconfig, puppet agent keeps complaining:

    sh: vdsmdummy: command not found

Version-Release number of selected component (if applicable):

facter-1.7.6

How reproducible:

Just issue ifconfig ';vdsmdummy;'

Steps to Reproduce:
1.
2.
3.

Actual results:
[root@nsds1be101t ~]# ifconfig ';vdsmdummy;'
 ...

And now Puppet complains:

[root@nsds1be101t ~]# puppet agent -t
 ...
sh: vdsmdummy: command not found

Expected results:


Additional info:

Since this message comes from executing "ifconfig", ruby file which outputs that message is:

    ip.rb

locating at:

    lib/facter/util

which src.rpm is:

    facter-1.7.6-2.el6sat.src.rpm

Specific line should be to somewhere which executed ifconfig or ip addr show us network interface information.

Where is that, for example.

Let's see line #120. There is a line:

    ip_output = %x{/sbin/ip link show #{interface}}

Since #{interface} is a parameter set in this function:

    self.get_infiniband_macaddress(interface)

It should be surrounded by semicolon like:

    "#{interface}"

So this:

    ip_output = %x{/sbin/ip link show #{interface}}

should be

    ip_output = %x{/sbin/ip link show "#{interface}"}

There are other 2 lines which are:

    Line 130, 190

Please let me know when you can fix it out.
Or if you require more, jest let me know what's required to do quick action.

Sincerely,
Shinobu

Comment 3 Ivan Chavero 2015-08-06 21:48:23 UTC
This appears to be a facter problem, changing to the proper componen.

Comment 5 Shinobu KINJO 2015-08-18 06:18:03 UTC
Customer confirmed that modification I mentioned is working.
Will patch be backported?

Just customer wants to know that.

Comment 10 Craig Donnelly 2016-05-24 20:18:11 UTC
Hey Shinobu,

What change did you make on line #130?

For our el7sat version, we have this by default:
130     output = Facter::Util::IP.exec_ifconfig([interface,"2>/dev/null"])

Are we simply adding double-quotes around 'interface'?

Thanks,
Craig.

Comment 12 Bryan Kearney 2016-07-26 19:11:29 UTC
Moving 6.2 bugs out to sat-backlog.

Comment 15 Ohad Levy 2016-11-30 12:46:40 UTC
Satellite 6.2 delivered Facter 2.4.z which already solved this issue.