integ/config/facter/centos/patches/0005-Hardcode-ipaddress-fact-to-localhost.patch
Scott Little bab9bb6b69 Internal restructuring of stx-integ
Create new directories:
   ceph
   config
   config-files
   filesystem
   kernel
   kernel/kernel-modules
   ldap
   logging
   strorage-drivers
   tools
   utilities
   virt

Retire directories:
   connectivity
   core
   devtools
   support
   extended

Delete two packages:
   tgt
   irqbalance

Relocated packages:
   base/
      dhcp
      initscripts
      libevent
      lighttpd
      linuxptp
      memcached
      net-snmp
      novnc
      ntp
      openssh
      pam
      procps
      sanlock
      shadow
      sudo
      systemd
      util-linux
      vim
      watchdog

   ceph/
      python-cephclient

   config/
      facter
      puppet-4.8.2
      puppet-modules

   filesystem/
      e2fsprogs
      nfs-utils
      nfscheck

   kernel/
      kernel-std
      kernel-rt

   kernel/kernel-modules/
      mlnx-ofa_kernel

   ldap/
      nss-pam-ldapd
      openldap

   logging/
      syslog-ng
      logrotate

   networking/
      lldpd
      iproute
      mellanox
      python-ryu
      mlx4-config

   python/
      python-2.7.5
      python-django
      python-gunicorn
      python-setuptools
      python-smartpm
      python-voluptuous

   security/
      shim-signed
      shim-unsigned
      tboot

   strorage-drivers/
      python-3parclient
      python-lefthandclient

   virt/
      cloud-init
      libvirt
      libvirt-python
      qemu

   tools/
      storage-topology
      vm-topology

   utilities/
      tis-extensions
      namespace-utils
      nova-utils
      update-motd

Change-Id: I37ade764d873c701b35eac5881eb40412ba64a86
Story: 2002801
Task: 22687
Signed-off-by: Scott Little <scott.little@windriver.com>
2018-08-01 10:06:31 -04:00

189 lines
4.6 KiB
Diff

From af1818469ed789bad373e6c0f8d29669acc39669 Mon Sep 17 00:00:00 2001
From: Don Penney <don.penney@windriver.com>
Date: Thu, 26 Oct 2017 10:44:20 -0400
Subject: [PATCH] Hardcode ipaddress fact to localhost
---
lib/facter/ipaddress.rb | 163 +-----------------------------------------------
1 file changed, 2 insertions(+), 161 deletions(-)
diff --git a/lib/facter/ipaddress.rb b/lib/facter/ipaddress.rb
index 6179a4d..4c54791 100644
--- a/lib/facter/ipaddress.rb
+++ b/lib/facter/ipaddress.rb
@@ -1,169 +1,10 @@
# Fact: ipaddress
#
-# Purpose: Return the main IP address for a host.
+# To avoid potential timeouts with this fact, just return 127.0.0.1 always
#
-# Resolution:
-# On the Unixes does an ifconfig, and returns the first non 127.0.0.0/8
-# subnetted IP it finds.
-# On Windows, it attempts to use the socket library and resolve the machine's
-# hostname via DNS.
-#
-# On LDAP based hosts it tries to use either the win32/resolv library to
-# resolve the hostname to an IP address, or on Unix, it uses the resolv
-# library.
-#
-# As a fall back for undefined systems, it tries to run the "host" command to
-# resolve the machine's hostname using the system DNS.
-#
-# Caveats:
-# DNS resolution relies on working DNS infrastructure and resolvers on the
-# host system.
-# The ifconfig parsing purely takes the first IP address it finds without any
-# checking this is a useful IP address.
-#
-
-require 'facter/util/ip'
-
-Facter.add(:ipaddress) do
- confine :kernel => :linux
- setcode do
- ip = nil
- output = Facter::Util::IP.exec_ifconfig(["2>/dev/null"])
- if output
- regexp = /inet (?:addr:)?([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/
- output.split("\n").each do |line|
- match = regexp.match(line)
- if match and not /^127\./.match(match[1])
- ip = match[1]
- break
- end
- end
- end
- ip
- end
-end
-
-Facter.add(:ipaddress) do
- confine :kernel => %w{FreeBSD OpenBSD Darwin DragonFly}
- setcode do
- ip = nil
- output = Facter::Util::IP.exec_ifconfig
-
- output.split(/^\S/).each do |str|
- if str =~ /inet ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/
- tmp = $1
- unless tmp =~ /^127\./
- ip = tmp
- break
- end
- end
- end
-
- ip
- end
-end
Facter.add(:ipaddress) do
- confine :kernel => %w{NetBSD SunOS}
- setcode do
- ip = nil
- output = Facter::Util::IP.exec_ifconfig(["-a"])
-
- output.split(/^\S/).each do |str|
- if str =~ /inet ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/
- tmp = $1
- unless tmp =~ /^127\./ or tmp == "0.0.0.0"
- ip = tmp
- break
- end
- end
- end
-
- ip
- end
-end
-
-Facter.add(:ipaddress) do
- confine :kernel => %w{AIX}
- setcode do
- ip = nil
-
- default_interface = Facter::Util::IP.exec_netstat(["-rn | grep default | awk '{ print $6 }'"])
- output = Facter::Util::IP.exec_ifconfig([default_interface])
-
- output.split(/^\S/).each do |str|
- if str =~ /inet ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/
- ip = $1
- end
- end
-
- ip
- end
-end
-
-Facter.add(:ipaddress) do
- confine :kernel => %w{windows}
- setcode do
- require 'facter/util/ip/windows'
- ipaddr = nil
-
- adapters = Facter::Util::IP::Windows.get_preferred_ipv4_adapters
- adapters.find do |nic|
- nic.IPAddress.any? do |addr|
- ipaddr = addr if Facter::Util::IP::Windows.valid_ipv4_address?(addr)
- ipaddr
- end
- end
-
- ipaddr
- end
-end
-
-Facter.add(:ipaddress, :timeout => 2) do
- setcode do
- if Facter.value(:kernel) == 'windows'
- require 'win32/resolv'
- else
- require 'resolv'
- end
-
- begin
- if hostname = Facter.value(:hostname)
- if Facter.value(:kernel) == 'windows'
- ip = Win32::Resolv.get_resolv_info.last[0]
- else
- ip = Resolv.getaddress(hostname)
- end
- unless ip == "127.0.0.1"
- ip
- end
- else
- nil
- end
- rescue Resolv::ResolvError
- nil
- rescue NoMethodError # i think this is a bug in resolv.rb?
- nil
- end
- end
-end
-
-Facter.add(:ipaddress, :timeout => 2) do
setcode do
- if hostname = Facter.value(:hostname)
- # we need Hostname to exist for this to work
- host = nil
- if host = Facter::Core::Execution.execute("host #{hostname}")
- list = host.chomp.split(/\s/)
- if defined? list[-1] and
- list[-1] =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/
- list[-1]
- end
- else
- nil
- end
- else
- nil
- end
+ "127.0.0.1"
end
end
--
1.8.3.1