Jira (FACT-2870) Can't run puppet on machines with VLANs as facts are failing

1 view
Skip to first unread message

Peter Meier (Jira)

unread,
Nov 20, 2020, 4:59:03 PM11/20/20
to puppe...@googlegroups.com
Peter Meier created an issue
 
Facter / Bug FACT-2870
Can't run puppet on machines with VLANs as facts are failing
Issue Type: Bug Bug
Assignee: Unassigned
Components: Facter 4
Created: 2020/11/20 1:58 PM
Priority: Blocker Blocker
Reporter: Peter Meier

Puppet 7.0.0 can't run on machines with VLANs configured, as facter is failing with:

 

# puppet agent -t --noop
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve local facts: undefined method `bury' for "ffff:ffff:ffff:ffff::":String
Error: Failed to apply catalog: Could
 
 
# puppet facts show
Error: undefined method `bury' for "ffff:ffff:ffff:ffff::":String
Error: Try 'puppet help facts show' for usage 

 

After applying FACT-2851 we get the following message:

 

 # puppet facts show 
Error: Facter: Legacy fact `netmask6_enp1s0.33` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `netmask6_enp1s0` group
Error: Facter: Legacy fact `netmask6_enp1s0.77` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `netmask6_enp1s0` group
Error: Facter: Legacy fact `netmask6_enp1s0.99` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `netmask6_enp1s0` group
Error: Facter: Legacy fact `network6_enp1s0.33` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `network6_enp1s0` group
Error: Facter: Legacy fact `network6_enp1s0.77` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `network6_enp1s0` group
Error: Facter: Legacy fact `network6_enp1s0.99` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `network6_enp1s0` group
Error: Facter: Legacy fact `scope6_enp1s0.33` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `scope6_enp1s0` group
Error: Facter: Legacy fact `scope6_enp1s0.77` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `scope6_enp1s0` group
Error: Facter: Legacy fact `scope6_enp1s0.99` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `scope6_enp1s0` group
Error: Facter: Legacy fact `mtu_enp1s0.33` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `mtu_enp1s0` group
Error: Facter: Legacy fact `mtu_enp1s0.77` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `mtu_enp1s0` group
Error: Facter: Legacy fact `mtu_enp1s0.99` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `mtu_enp1s0` group
Error: Facter: Legacy fact `macaddress_enp1s0.33` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `macaddress_enp1s0` group
Error: Facter: Legacy fact `macaddress_enp1s0.77` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `macaddress_enp1s0` group
Error: Facter: Legacy fact `macaddress_enp1s0.99` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `macaddress_enp1s0` group
Error: Facter: Legacy fact `ipaddress6_enp1s0.33` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `ipaddress6_enp1s0` group
Error: Facter: Legacy fact `ipaddress6_enp1s0.77` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `ipaddress6_enp1s0` group
Error: Facter: Legacy fact `ipaddress6_enp1s0.99` cannot be added to collection. The format of this fact is incompatible with other facts that belong to `ipaddress6_enp1s0` group
{
  "os": {
    "name": "CentOS",
    "release": {
      "full": "7.9.2009",
      "major": "7",
      "minor": "9"
    },
[...]

 

The node has a bunch of vlans configured:

 

 # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:b9:45:9a:a4 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20d:b9ff:fe45:9aa4/64 scope link 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:0d:b9:45:9a:a5 brd ff:ff:ff:ff:ff:ff
4: enp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:0d:b9:45:9a:a6 brd ff:ff:ff:ff:ff:ff
5: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master brring0 state UNKNOWN group default qlen 1000
    link/ether b6:9e:da:95:94:af brd ff:ff:ff:ff:ff:ff
    inet6 fe80::b49e:daff:fe95:94af/64 scope link 
       valid_lft forever preferred_lft forever
6: enp1s0.33@enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0d:b9:45:9a:a4 brd ff:ff:ff:ff:ff:ff
    inet 1.2.3.4/27 brd 1.2.3.255 scope global enp1s0.33
       valid_lft forever preferred_lft forever
    inet6 2a00:acab:0:ffff::a0/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:b9ff:fe45:9aa4/64 scope link 
       valid_lft forever preferred_lft forever
7: enp1s0.77@enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0d:b9:45:9a:a4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.255.229/24 brd 192.168.255.255 scope global enp1s0.77
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:b9ff:fe45:9aa4/64 scope link 
       valid_lft forever preferred_lft forever
8: enp1s0.99@enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0d:b9:45:9a:a4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.254.229/24 brd 192.168.254.255 scope global enp1s0.99
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:b9ff:fe45:9aa4/64 scope link 
       valid_lft forever preferred_lft forever

 

 

This is

 puppet-agent-7.0.0-1.el7.x86_64

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Bogdan Irimie (Jira)

unread,
Nov 23, 2020, 3:02:03 AM11/23/20
to puppe...@googlegroups.com
Bogdan Irimie updated an issue
Change By: Bogdan Irimie
Sub-team: ghost
Team: Night's Watch

Bogdan Irimie (Jira)

unread,
Nov 23, 2020, 3:02:04 AM11/23/20
to puppe...@googlegroups.com

Bogdan Irimie (Jira)

unread,
Nov 23, 2020, 10:23:03 AM11/23/20
to puppe...@googlegroups.com

Bogdan Irimie (Jira)

unread,
Nov 24, 2020, 11:23:04 AM11/24/20
to puppe...@googlegroups.com
Bogdan Irimie commented on Bug FACT-2870
 
Re: Can't run puppet on machines with VLANs as facts are failing

Hi Peter Meier
Thank you for reporting the issue and for the details, especially for the `ip a` output, as it helped us to reproduce the behaviour your described.

The issue is affecting all linux distributions. Managed to reproduce it with the fallowing VLANs

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:9a:43:83 brd ff:ff:ff:ff:ff:ff
    inet 10.16.119.51/20 brd 10.16.127.255 scope global dynamic noprefixroute ens33
       valid_lft 608sec preferred_lft 608sec
    inet 192.168.2.9/24 brd 192.168.2.255 scope global ens33:12
       valid_lft forever preferred_lft forever
    inet 12.0.0.1/24 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe9a:4383/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: ens33.12@ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:50:56:9a:43:83 brd ff:ff:ff:ff:ff:ff
4: ens33.13@ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:50:56:9a:43:83 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 scope global ens33.13
       valid_lft forever preferred_lft forever
5: ens33.14@ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:50:56:9a:43:83 brd ff:ff:ff:ff:ff:ff
    inet 11.0.0.1/24 scope global ens33.14
       valid_lft forever preferred_lft forever

The problem comes from the way the legacy fact `ipaddress_<interface_name>` is constructed. Facter uses the "." notation to compose facts in hierarchies https://puppet.com/docs/puppet/7.0/fact_overview.html#example:-custom-facts-with-dot-notation .

The ipaddress_<interface_name> fact will become

network_ens33
network_ens33.13
network_ens33.14

but because of the "." notation, facter will try to build a hierarchy and will fail.

As legacy facts are always flat (key-value) we should skip the hierarchy building and just consider the fact name with "." in it's name. The result will be:

network_ens33 => 10.16.112.0
network_ens33.13 => 10.0.0.0
network_ens33.14 => 11.0.0.0

Bogdan Irimie (Jira)

unread,
Nov 25, 2020, 9:03:03 AM11/25/20
to puppe...@googlegroups.com

Bogdan Irimie (Jira)

unread,
Nov 25, 2020, 9:04:04 AM11/25/20
to puppe...@googlegroups.com
Bogdan Irimie updated an issue
Change By: Bogdan Irimie
Sprint: ghost 25.11 , ready for triage 2

Josh Cooper (Jira)

unread,
Dec 2, 2020, 1:01:04 PM12/2/20
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Affects Version/s: FACT 4.0.46

Josh Cooper (Jira)

unread,
Dec 2, 2020, 1:02:04 PM12/2/20
to puppe...@googlegroups.com

Peter Meier (Jira)

unread,
Dec 3, 2020, 4:00:04 AM12/3/20
to puppe...@googlegroups.com
Peter Meier commented on Bug FACT-2870
 
Re: Can't run puppet on machines with VLANs as facts are failing

I can confirm that with puppet-agent-7.0.0.103.gf0655d02-1.el7.x86_64 I was able to run puppet again.

Mihai Buzgau (Jira)

unread,
Dec 9, 2020, 7:24:03 AM12/9/20
to puppe...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages