I recently upgraded a bunch of systems from Jessie to Stretch, and as a result of that one of my hosts has started showing me a lot of noise in an hourly cron-email:
Command line is not complete. Try option "help"
I've been ignoring these emails for the past while, but today I sat down to track down the source. It was obviously coming from facter
, the system that puppet uses to gather information about hosts.
Running facter -debug
made that apparent:
root@smaug ~ # facter --debug
Found no suitable resolves of 1 for ec2_metadata
value for ec2_metadata is still nil
value for netmask_git is still nil
value for ipaddress6_lo is still nil
value for macaddress_lo is still nil
value for ipaddress_master is still nil
value for ipaddress6_master is still nil
Command line is not complete. Try option "help"
value for netmask_master is still nil
value for ipaddress_skx_mail is still nil
..
There we see the issue, and it is obviously relating to our master
interface.
To cut a long-story short /usr/lib/ruby/vendor_ruby/facter/util/ip.rb
contains some code which eventually runs this:
ip link show $interface
That works on all other interfaces I have:
$ ip link show git
6: git: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
But not on master
:
$ ip link show master
Command line is not complete. Try option "help"
I ninja-edited the code from this:
ethbond = regex.match(%x{/sbin/ip link show '#{interface}'})
to:
ethbond = regex.match(%x{/sbin/ip link show dev '#{interface}'})
And suddenly puppet-runs without any errors. I'm not 100% sure if this is a bug bug, but it is something of a surprise anyway.
This host runs KVM guests, one of the guests is a puppet-master, with a local name
master
. Hence the name of the interface. Similarly the interfacegit
is associated with the KVM guest behindgit.steve.org.uk
.
Tags: puppet 5 comments
https://steve.fi/
Reported as a bug, the fine maintainers can decide if it is or isn't :)