Jira (FACT-2668) Networking fact on linux should have logic for selecting IPs

5 views
Skip to first unread message

Bogdan Irimie (Jira)

unread,
Jun 17, 2020, 9:54:03 AM6/17/20
to puppe...@googlegroups.com
Bogdan Irimie created an issue
 
Facter / Task FACT-2668
Networking fact on linux should have logic for selecting IPs
Issue Type: Task Task
Assignee: Unassigned
Created: 2020/06/17 6:53 AM
Priority: Normal Normal
Reporter: Bogdan Irimie
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Bogdan Irimie (Jira)

unread,
Jun 17, 2020, 9:58:03 AM6/17/20
to puppe...@googlegroups.com

Bogdan Irimie (Jira)

unread,
Jun 18, 2020, 9:29:03 AM6/18/20
to puppe...@googlegroups.com

Bogdan Irimie (Jira)

unread,
Jun 18, 2020, 9:32:03 AM6/18/20
to puppe...@googlegroups.com
Bogdan Irimie commented on Task FACT-2668
 
Re: Networking fact on linux should have logic for selecting IPs

The current implementation assumes that non default bindings are first in the `ip -o address` output, consequently the first binding is displayed.

Bogdan Irimie (Jira)

unread,
Jun 18, 2020, 10:05:04 AM6/18/20
to puppe...@googlegroups.com

If we add another IP to `lo` interface

ip address add 1.1.1.1/24 dev lo

 
The output from Facter 3.x and Facter 4.x are different for `lo` ip

Facter 3.x

networking => {
  dhcp => "10.32.22.9",
  domain => "delivery.puppetlabs.net",
  fqdn => "songful-wheel.delivery.puppetlabs.net",
  hostname => "songful-wheel",
  interfaces => {
    ens192 => {
      bindings => [
        {
          address => "10.16.122.254",
          netmask => "255.255.240.0",
          network => "10.16.112.0"
        },
        {
          address => "11.11.11.11",
          netmask => "255.255.255.0",
          network => "11.11.11.0"
        },
        {
          address => "1.1.1.1",
          netmask => "255.255.255.0",
          network => "1.1.1.0"
        },
        {
          address => "10.16.124.189",
          netmask => "255.255.240.0",
          network => "10.16.112.0"
        }
      ],
      bindings6 => [
        {
          address => "fe80::250:56ff:fe9a:42b6",
          netmask => "ffff:ffff:ffff:ffff::",
          network => "fe80::"
        }
      ],
      dhcp => "10.32.22.9",
      ip => "10.16.122.254",
      ip6 => "fe80::250:56ff:fe9a:42b6",
      mac => "00:50:56:9a:42:b6",
      mtu => 1500,
      netmask => "255.255.240.0",
      netmask6 => "ffff:ffff:ffff:ffff::",
      network => "10.16.112.0",
      network6 => "fe80::",
      scope6 => "link"
    },
    lo => {
      bindings => [
        {
          address => "127.0.0.1",
          netmask => "255.0.0.0",
          network => "127.0.0.0"
        },
        {
          address => "1.1.1.1",
          netmask => "255.255.255.0",
          network => "1.1.1.0"
        }
      ],
      bindings6 => [
        {
          address => "::1",
          netmask => "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
          network => "::1"
        }
      ],
      ip => "1.1.1.1",
      ip6 => "::1",
      mtu => 65536,
      netmask => "255.255.255.0",
      netmask6 => "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
      network => "1.1.1.0",
      network6 => "::1",
      scope6 => "host"
    }
  },
  ip => "10.16.122.254",
  ip6 => "fe80::250:56ff:fe9a:42b6",
  mac => "00:50:56:9a:42:b6",
  mtu => 1500,
  netmask => "255.255.240.0",
  netmask6 => "ffff:ffff:ffff:ffff::",
  network => "10.16.112.0",
  network6 => "fe80::",
  primary => "ens192",
  scope6 => "link"
}

Facter 4.x output

networking => {
  dhcp => "10.32.22.9",
  domain => "delivery.puppetlabs.net",
  fqdn => "songful-wheel.delivery.puppetlabs.net",
  hostname => "songful-wheel",
  interfaces => {
    ens192 => {
      bindings => [
        {
          address => "10.16.122.254",
          netmask => "255.255.240.0",
          network => "10.16.112.0"
        },
        {
          address => "11.11.11.11",
          netmask => "255.255.255.0",
          network => "11.11.11.0"
        },
        {
          address => "1.1.1.1",
          netmask => "255.255.255.0",
          network => "1.1.1.0"
        },
        {
          address => "10.16.124.189",
          netmask => "255.255.240.0",
          network => "10.16.112.0"
        }
      ],
      bindings6 => [
        {
          address => "fe80::250:56ff:fe9a:42b6",
          netmask => "ffff:ffff:ffff:ffff::",
          network => "fe80::"
        }
      ],
      dhcp => "10.32.22.9",
      ip => "10.16.122.254",
      ip6 => "fe80::250:56ff:fe9a:42b6",
      mac => "00:50:56:9a:42:b6",
      mtu => 1500,
      netmask => "255.255.240.0",
      netmask6 => "ffff:ffff:ffff:ffff::",
      network => "10.16.112.0",
      network6 => "fe80::",
      scope6 => "link"
    },
    lo => {
      bindings => [
        {
          address => "127.0.0.1",
          netmask => "255.0.0.0",
          network => "127.0.0.0"
        },
        {
          address => "1.1.1.1",
          netmask => "255.255.255.0",
          network => "1.1.1.0"
        }
      ],
      bindings6 => [
        {
          address" =>  =>:1",
          netmask => "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
          network" =>  =>:1"
        }
      ],
      dhcp => null,
      ip => "127.0.0.1",
      ip6" =>  =>:1",
      mtu => 65536,
      netmask => "255.0.0.0",
      netmask6 => "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
      network => "127.0.0.0",
      network6" =>  =>:1",
      scope6 => "host"
    }
  },
  ip => "10.16.122.254",
  ip6 => "fe80::250:56ff:fe9a:42b6",
  mac => "00:50:56:9a:42:b6",
  mtu => 1500,
  netmask => "255.255.240.0",
  netmask6 => "ffff:ffff:ffff:ffff::",
  network => "10.16.112.0",
  network6 => "fe80::",
  primary => "ens192",
  scope6 => "link"
}

Reply all
Reply to author
Forward
0 new messages