Bug 1250383 - Facter fails with "sh: vdsmdummy: command not found"
Facter fails with "sh: vdsmdummy: command not found"
Status: CLOSED CURRENTRELEASE
Product: Red Hat Satellite 6
Classification: Red Hat
Component: Configuration Management (Show other bugs)
6.1.8
x86_64 Linux
medium Severity medium (vote)
: Unspecified
: --
Assigned To: satellite6-bugs
Katello QA List
: Reopened, Triaged, ZStream
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-05 05:34 EDT by Shinobu KINJO
Modified: 2017-09-19 13 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-30 07:46:40 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Shinobu KINJO 2015-08-05 05:34:49 EDT
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 17:48:23 EDT
This appears to be a facter problem, changing to the proper componen.
Comment 5 Shinobu KINJO 2015-08-18 02:18:03 EDT
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 16:18:11 EDT
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 15:11:29 EDT
Moving 6.2 bugs out to sat-backlog.
Comment 15 Ohad Levy 2016-11-30 07:46:40 EST
Satellite 6.2 delivered Facter 2.4.z which already solved this issue.

Note You need to log in before you can comment on or make changes to this bug.