puppetlabs / pdk

The shortest path to better modules: Puppet Development Kit; Download:
https://puppet.com/download-puppet-development-kit
Apache License 2.0
225 stars 105 forks source link

Using PDK 1.10 and 1.11, I do not receive a `facts[:networking]` hash for Red Hat inside a test loop. #694

Closed rnelson0 closed 3 years ago

rnelson0 commented 5 years ago

When performing a test, I do not receive a networking hash entry in the facts received from rspec-puppet-facts. This is causing me an issue with saz/ssh, where I have to duplicate this structure in my test.

To Reproduce Test a class that includes ssh::server with redhat 6 or 7 listed as a supported OS in metadata.json. Include pp facts inside the OS loop to print out the received facts.

Expected behavior That the facts include the networking hash found in recent facterdb entries (dated Dec 11, 2018; release included in PDK is from Dec 13, 2018).

Additional context

[rnelson0@build03 controlrepo:production±]$ cat spec/classes/profile/ssh/server_spec.rb
require 'spec_helper'
describe 'profile::ssh::server', :type => :class do
  on_supported_os.each do |os, facts|
    let (:facts) {
      facts.merge({
        :puppet_role => 'sshgw',
      })
    }
    pp facts
...

[rnelson0@build03 controlrepo:production±]$ pdk bundle exec rspec spec/classes/profile
/ssh/server_spec.rb
pdk (INFO): Using Ruby 2.5.3
pdk (INFO): Using Puppet 6.5.0
{:selinux_policyversion=>"24",
 :processor0=>"Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz",
 :blockdevice_sdb_model=>"Virtual disk",
 :ipaddress_lo=>"127.0.0.1",
 :swapfree_mb=>"4031.99",
 :processorcount=>2,
 :gid=>"root",
 :rubyplatform=>"x86_64-linux",
 :sshfp_dsa=>
  "SSHFP 2 1 b990d610e1f0cc9df9c147e2a55905a9f3de6962\n" +
  "SSHFP 2 2 3150eb2cda72544aa95d48f9603f58e9f5c47491d45b0664483ac41857f6ef5b",
 :boardmanufacturer=>"Intel Corporation",
 :swapsize=>"3.94 GB",
 :facterversion=>"2.5.0",
 :filesystems=>"ext4,iso9660",
 :path=>"/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin",
 :uuid=>"42222102-EE7C-0447-F915-2496CD1625AC",
 :blockdevice_sr0_size=>1073741312,
 :kernelmajversion=>"2.6",
 :is_virtual=>true,
 :uptime_seconds=>1546,
 :blockdevice_sdb_size=>8589934592,
 :domain=>"example.com",
 :blockdevice_sr0_model=>"VMware IDE CDR10",
 :fqdn=>"foo.example.com",
 :mtu_lo=>16436,
 :bios_vendor=>"Phoenix Technologies LTD",
 :rubyversion=>"2.5.3",
 :netmask_eth0=>"255.255.240.0",
 :processors=>
  {"physicalcount"=>2,
   "count"=>2,
   "models"=>
    ["Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz",
     "Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz"]},
 :netmask_lo=>"255.0.0.0",
 :os=>
  {"name"=>"RedHat",
   "family"=>"RedHat",
   "release"=>{"major"=>"6", "full"=>"6.5", "minor"=>"5"}},
 :blockdevice_sda_size=>8589934592,
 :ps=>"ps -ef",
 :hardwareisa=>"x86_64",
 :hostname=>"foo",
 :id=>"root",
 :sshdsakey=>
  "AAAAB3NzaC1kc3MAAACBAL/kJrTFWpmGlMFf2GHYO2Ws3CdDvvrOLWFkJOrn9fmy+LPD4+ydxHkK9+fzeJAgcSznpQH3RB1ckTow/tyOodZxgS4fbIXanCVVeRn3CSSknjMI7YliQSV2cjmAhqRr99w6FMOmUASAFW++uaW0lS3g5pImxAPCo8RKVziMNqQtAAAAFQDhhNOkYTtlF8eguTaC5ldwq0GJjQAAAIEAsXBSy+EriBji4kcRaEyWSkNEqdaIAxc5bigdt7qR0LcsZ+LKEuHbRkR4MKRchi8NjQv2ihhCn6pEQ30Or3q/nPxnmUqnVZKdtk84f+gGvW2mCUeKVHyS8hOcayTWUC+Octv/BllIisNzZjfPTMEDf9JB9yWGpFBE4edfmT0EDNsAAACBAJDpmsi6wBfAkFZPSSbzbiM/XMoCazNpdPZ7zM9He3fFeKbkJfZ6lPGeOYFXsADaTlJcgJMLuzKH1R3f2ViQkvNLNgb24ItpqI0Z2S8HA+l0qChN79l8LHuHiEvvfikTmEOKQblG58DlMcYUN+LNA8lx55e2rmbIZXGSx/MWpTuO",
 :operatingsystem=>"RedHat",
 :selinux=>true,
 :physicalprocessorcount=>2,
 :kernel=>"Linux",
 :virtual=>"vmware",
 :macaddress_eth0=>"00:50:56:A2:69:27",
 :blockdevice_sr0_vendor=>"NECVMWar",
 :type=>"Other",
 :kernelrelease=>"2.6.32-431.11.2.el6.x86_64",
 :uptime=>"0:25 hours",
 :netmask=>"255.255.240.0",
 :selinux_current_mode=>"enforcing",
 :hardwaremodel=>"x86_64",
 :network_eth0=>"10.32.112.0",
 :swapsize_mb=>"4031.99",
 :memoryfree=>"5.56 GB",
 :selinux_enforced=>true,
 :boardproductname=>"440BX Desktop Reference Platform",
 :memorysize=>"5.72 GB",
 :processor1=>"Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz",
 :uptime_days=>0,
 :memorysize_mb=>"5852.69",
 :swapfree=>"3.94 GB",
 :memoryfree_mb=>"5690.79",
 :operatingsystemrelease=>"6.5",
 :rubysitedir=>
  "/opt/puppetlabs/pdk/private/ruby/2.5.3/lib/ruby/site_ruby/2.5.0",
 :bios_release_date=>"07/30/2013",
 :mtu_eth0=>1500,
 :ipaddress_eth0=>"10.32.120.11",
 :ipaddress=>"10.32.120.11",
 :network_lo=>"127.0.0.0",
 :bios_version=>"6.00",
 :macaddress=>"00:50:56:A2:69:27",
 :blockdevice_sda_model=>"Virtual disk",
 :uniqueid=>"200a0b78",
 :osfamily=>"RedHat",
 :uptime_hours=>0,
 :architecture=>"x86_64",
 :manufacturer=>"VMware, Inc.",
 :productname=>"VMware Virtual Platform",
 :sshfp_rsa=>
  "SSHFP 1 1 1a5e813e79a52ca3d9994e6d1b873a224c02cad1\n" +
  "SSHFP 1 2 5ea4c7570b1297ef108a647449cd77a9c66164a5053451c7e535bfc1bd99b169",
 :boardserialnumber=>"None",
 :blockdevice_sdb_vendor=>"VMware",
 :interfaces=>"eth0,lo",
 :serialnumber=>"VMware-42 22 21 02 ee 7c 04 47-f9 15 24 96 cd 16 25 ac",
 :system_uptime=>
  {"uptime"=>"0:25 hours", "seconds"=>1546, "hours"=>0, "days"=>0},
 :selinux_config_policy=>"targeted",
 :kernelversion=>"2.6.32",
 :timezone=>"PDT",
 :partitions=>
  {"sda1"=>
    {"uuid"=>"eb475619-f4b3-41af-91ca-b37fec3374d7",
     "size"=>"1024000",
     "mount"=>"/boot",
     "filesystem"=>"ext4"},
   "sda2"=>{"size"=>"15751168", "filesystem"=>"LVM2_member"},
   "sdb1"=>{"size"=>"16777184", "filesystem"=>"LVM2_member"}},
 :blockdevices=>"sda,sdb,sr0",
 :blockdevice_sda_vendor=>"VMware",
 :operatingsystemmajrelease=>"6",
 :sshrsakey=>
  "AAAAB3NzaC1yc2EAAAABIwAAAQEAuhiwRn5SsCBebNiMClCjpA2Hl4bLg5juyNkFsFqm/XGNYKoF4H1f+ihhzPEJzwPxYxDMFlq0OHEFIEZwt6vrf2JXWDXCayNpFqzHDybf+NDqSxCG6XL28Bzxr3kOVXaSLrtcVdtSa/shmB4cXXyFRHHIot6bSlZLbdNYuhlKmP8QIbVaspClkB/F2V4OjnV5/366CQSoYlzBV7KoWOD3vcQUZDB1bt6vxQOdzlBQJAmhdbAlkHJz2F6oi6niZgb21iv+sWkAV5+UM9aJDrKB+hz72o0pOUxKhPLtmf1THh+e3xjijjNJnjsUApaki6pTd7xjsBKfiNM+AVnFrob18Q==",
 :selinux_config_mode=>"enforcing",
 :mco_version=>"2.12.4",
 :puppetversion=>"6.5.0",
 :augeasversion=>"1.8.1"}
{:architecture=>"x86_64",
 :kernel=>"Linux",
 :blockdevice_fd0_size=>4096,
 :blockdevice_sda_size=>10737418240,
 :blockdevice_sda_vendor=>"VMware",
 :blockdevice_sda_model=>"Virtual disk",
 :blockdevice_sr0_size=>1073741312,
 :blockdevice_sr0_vendor=>"NECVMWar",
 :blockdevice_sr0_model=>"VMware IDE CDR10",
 :blockdevices=>"fd0,sda,sr0",
 :domain=>"example.com",
 :virtual=>"vmware",
 :is_virtual=>true,
 :hardwaremodel=>"x86_64",
 :operatingsystem=>"RedHat",
 :os=>
  {"name"=>"RedHat",
   "family"=>"RedHat",
   "release"=>{"major"=>"7", "minor"=>"0", "full"=>"7.0"}},
 :facterversion=>"2.5.0",
 :filesystems=>"xfs",
 :fqdn=>"foo.example.com",
 :gid=>"root",
 :hardwareisa=>"x86_64",
 :hostname=>"foo",
 :id=>"root",
 :interfaces=>"ens192,lo",
 :ipaddress_ens192=>"10.32.117.155",
 :macaddress_ens192=>"00:50:56:a2:a2:d5",
 :netmask_ens192=>"255.255.240.0",
 :mtu_ens192=>1500,
 :ipaddress_lo=>"127.0.0.1",
 :netmask_lo=>"255.0.0.0",
 :mtu_lo=>65536,
 :ipaddress=>"10.32.117.155",
 :kernelmajversion=>"3.10",
 :kernelrelease=>"3.10.0-123.1.2.el7.x86_64",
 :kernelversion=>"3.10.0",
 :macaddress=>"00:50:56:a2:a2:d5",
 :boardmanufacturer=>"Intel Corporation",
 :boardproductname=>"440BX Desktop Reference Platform",
 :boardserialnumber=>"None",
 :bios_vendor=>"Phoenix Technologies LTD",
 :bios_version=>"6.00",
 :bios_release_date=>"07/30/2013",
 :manufacturer=>"VMware, Inc.",
 :productname=>"VMware Virtual Platform",
 :serialnumber=>"VMware-42 22 bf 60 70 e9 9c 5f-40 9a c6 5b 70 37 0d 92",
 :uuid=>"4222BF60-70E9-9C5F-409A-C65B70370D92",
 :type=>"Other",
 :memorysize=>"5.67 GB",
 :memoryfree=>"5.50 GB",
 :swapsize=>"820.00 MB",
 :swapfree=>"820.00 MB",
 :swapsize_mb=>"820.00",
 :swapfree_mb=>"820.00",
 :memorysize_mb=>"5808.76",
 :memoryfree_mb=>"5634.88",
 :netmask=>"255.255.240.0",
 :network_ens192=>"10.32.112.0",
 :network_lo=>"127.0.0.0",
 :operatingsystemmajrelease=>"7",
 :operatingsystemrelease=>"7.0",
 :osfamily=>"RedHat",
 :partitions=>
  {"sda1"=>
    {"uuid"=>"967e3fc9-3637-4c0a-b17e-d180cabcce9d",
     "size"=>"1024000",
     "mount"=>"/boot",
     "filesystem"=>"xfs"},
   "sda2"=>{"size"=>"19945472", "filesystem"=>"LVM2_member"}},
 :path=>"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin",
 :physicalprocessorcount=>1,
 :processors=>
  {"models"=>
    ["Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz",
     "Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz"],
   "count"=>2,
   "physicalcount"=>1},
 :processor0=>"Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz",
 :processor1=>"Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz",
 :processorcount=>2,
 :ps=>"ps -ef",
 :rubyplatform=>"x86_64-linux",
 :rubysitedir=>
  "/opt/puppetlabs/pdk/private/ruby/2.5.3/lib/ruby/site_ruby/2.5.0",
 :rubyversion=>"2.5.3",
 :selinux=>true,
 :selinux_enforced=>true,
 :selinux_policyversion=>"28",
 :selinux_current_mode=>"enforcing",
 :selinux_config_mode=>"enforcing",
 :selinux_config_policy=>"targeted",
 :sshrsakey=>
  "AAAAB3NzaC1yc2EAAAADAQABAAABAQDFeLm++lQ2XDRHcGuqOf+/hGGNiZy0MITk6AmqAszur3f344ZmrEH5tViqaNtw8JNe330ocUP2I1SKYnqdHExkHUcrPjfLpNrdForcMnAmc3Q+n3DA98uyOWrnOu9FYegUuv7XaPK8uDokJAK3qiBu59XwAtysldpJ7kdQ2BAQpqIap/tgRpuRrNfpyscui5UfaD3dHvWuMHHxSk3a7oWBt7acm0IqKePxXeaSNX5IO2UUokAcm45jHHJzh7TnY9Q5PAe1XtdRESrB8ADGgDSgUhG4cjOnvBwMvfRLR29/AML3RDwk7r6z6ZPyaptifwm74gml/VXbeCWT0jAigFGn",
 :sshfp_rsa=>
  "SSHFP 1 1 abc203895fdafaf7becd0af7480f26587b0ac44a\n" +
  "SSHFP 1 2 66b3da48acc21a37c8229d9327d8bc2c52e64210445710114db5352689c1f324",
 :sshecdsakey=>
  "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHkvfwClxVvdxDc4ADuzKSkYwQx6udBqctS9XAXB6yEdduWApC+FWskpjLQs61mKeWO2wpIscDIrC2LRhnXNqd8=",
 :sshfp_ecdsa=>
  "SSHFP 3 1 678029dbd06737d013e8cded0e1222e0950c6b01\n" +
  "SSHFP 3 2 3d2bb6e0047c1c7ef99dee74696e15a1c813d53b8a3d92079dd12d9d9be669bb",
 :system_uptime=>
  {"seconds"=>819, "hours"=>0, "days"=>0, "uptime"=>"0:13 hours"},
 :timezone=>"PDT",
 :uniqueid=>"200a9b75",
 :uptime=>"0:13 hours",
 :uptime_days=>0,
 :uptime_hours=>0,
 :uptime_seconds=>819,
 :mco_version=>"2.12.4",
 :puppetversion=>"6.5.0",
 :augeasversion=>"1.8.1"}
...

I do not understand enough of how rspec-puppet-facts/facterdb works to determine why it is not using the facts/3.9/redhat-7-x86_64.facts path, sorry.

scotje commented 5 years ago

Hi @rnelson0,

After looking at this, we realized this was similar to another issue we had seen recently. The underlying problem is that we currently package the old pure-Ruby Facter 2.x gem in the PDK. Since it isn't actually used at runtime, it's just there to satisfy the Puppet gem's dependency. However this currently causes rspec-puppet-facts to use the 2.x fact sets which are increasingly out of date with what facter 3.x actually produces.

We have already ticketed a solution to this (https://tickets.puppetlabs.com/browse/PDK-1394) which will let us configure rspec-puppet-facts to use a newer fact set regardless of what version of the facter gem is installed into the PDK. Hope to have this fixed in the next-ish PDK release.

rnelson0 commented 5 years ago

Great, I can confirm that on_supported_os(facterversion: '3.11.0')... fixes the problem. I'll leave my facts.merge() in place until this is fixed, seems less harmful if I leave it in place too long.

igalic commented 4 years ago

This same issue occurs with pdk bundle exec puppet …

natemccurdy commented 4 years ago

I ran into what I think is this same bug when writing a spec test for a custom Ruby fact using PDK 1.13.0.

The fact parses and munges the networking fact. When trying to stub out values for the networking fact, rspec was throwing this warning:

WARNING: An expectation of ':value' was set on 'nil'

Some pry debugging:

[10] pry(#<RSpec::ExampleGroups::LogicalInterface::OnAPhysicalHost>)> allow(Facter.fact(:networking)).to receive(:value).and_return(physical_networking_facts)
WARNING: An expectation of `:value` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from (pry):6:in `block (3 levels) in <top (required)>'.

[11] pry(#<RSpec::ExampleGroups::LogicalInterface::OnAPhysicalHost>)> Facter.fact(:networking)
=> nil

[12] pry(#<RSpec::ExampleGroups::LogicalInterface::OnAPhysicalHost>)> Facter.value(:facterversion)
=> "2.5.6"

As this was a spec test for a Ruby fact and not Puppet code, the on_supported_os workaround didn't work, and I couldn't figure out how to set the Facter version in spec_helper.rb or anywhere else.

What ended up fixing my tests was detecting if the fact was nil then adding it.

Original, broken test:

before(:each) do
  Facter.clear
  allow(Facter.fact(:networking)).to receive(:value).and_return(networking_hash)  # This failed.
  allow(Facter.fact(:virtual)).to receive(:value).and_return('physical')
end

New, working test:

before(:each) do                                                                
  Facter.clear                                                                  

  # Workaround for https://github.com/puppetlabs/pdk/issues/694                 
  if Facter.fact(:networking).nil?                                              
    Facter.add(:networking) {}                     
    Facter.flush                                                                
  end                                                                           

  allow(Facter.fact(:networking)).to receive(:value).and_return(networking_hash)
  allow(Facter.fact(:virtual)).to receive(:value).and_return('physical')        
end         
scotje commented 4 years ago

@rodjek Do you have any thoughts on Nate's issue here?

github-actions[bot] commented 3 years ago

This issue has been marked stale because it is open with no recent activity. The PDK Team is actively prioritizing existing bugs and new features, if this issue is still important to you please comment and we will add this to our backlog to complete.

natemccurdy commented 3 years ago

Not sure when it got fixed, but as of PDK 1.18.1 with the following gems, the workaround from my previous comment isn't needed. Looks like this problem has been solved?

Gemfile.lock ``` GEM remote: https://rubygems.org/ specs: CFPropertyList (2.3.6) activesupport (5.2.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) ansi (1.5.0) ast (2.4.2) awesome_print (1.9.2) aws-eventstream (1.1.1) aws-partitions (1.481.0) aws-sdk-core (3.118.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) aws-sdk-ec2 (1.253.0) aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) aws-sigv4 (1.2.4) aws-eventstream (~> 1, >= 1.0.2) bcrypt_pbkdf (1.1.0) bindata (2.4.10) bolt (2.25.0) CFPropertyList (~> 2.2) addressable (~> 2.5) aws-sdk-ec2 (~> 1) concurrent-ruby (~> 1.0) hiera-eyaml (~> 3) jwt (~> 2.2) logging (~> 2.2) minitar (~> 0.6) net-scp (~> 1.2) net-ssh (>= 4.0) net-ssh-krb (~> 0.5) orchestrator_client (~> 0.4) puppet (>= 6.16.0, < 6.18.0) puppet-resource_api (>= 1.8.1) puppet-strings (~> 2.3) puppetfile-resolver (~> 0.1.0) r10k (~> 3.1) ruby_smb (~> 1.0) terminal-table (~> 1.8) winrm (~> 2.0) winrm-fs (~> 1.3) builder (3.2.4) codecov (0.2.5) colorize json simplecov coderay (1.1.3) colored2 (3.1.2) colorize (0.8.1) concurrent-ruby (1.1.9) connection_pool (2.2.5) crack (0.4.5) rexml cri (2.15.10) deep_merge (1.2.1) dependency_checker (0.2.0) parallel puppet_forge (~> 2.2) rake (~> 12.3) semantic_puppet (~> 1.0) diff-lcs (1.4.4) docile (1.4.0) docker-api (2.2.0) excon (>= 0.47.0) multi_json domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) ed25519 (1.2.4) erubi (1.10.0) excon (0.85.0) facter (4.2.2) hocon (~> 1.3) thor (>= 1.0.1, < 2.0) facterdb (1.7.0) facter (< 5.0.0) jgrep faraday (0.17.4) multipart-post (>= 1.2, < 3) faraday_middleware (0.14.0) faraday (>= 0.7.4, < 1.0) fast_gettext (1.8.0) ffi (1.15.3) ffi-compiler (1.0.1) ffi (>= 1.0.0) rake gettext (3.2.9) locale (>= 2.0.5) text (>= 1.3.0) gettext-setup (0.34) fast_gettext (~> 1.1.0) gettext (>= 3.0.2, < 3.3.0) locale gssapi (1.3.1) ffi (>= 1.0.1) gyoku (1.3.1) builder (>= 2.1.2) hashdiff (1.0.1) hiera (3.7.0) hiera-eyaml (3.2.2) highline optimist highline (2.0.3) hirb (0.7.3) hocon (1.3.1) honeycomb-beeline (2.6.0) libhoney (~> 1.14, >= 1.14.2) http (4.4.1) addressable (~> 2.3) http-cookie (~> 1.0) http-form_data (~> 2.2) http-parser (~> 1.2.0) http-accept (1.7.0) http-cookie (1.0.4) domain_name (~> 0.5) http-form_data (2.3.0) http-parser (1.2.3) ffi-compiler (>= 1.0, < 2.0) httpclient (2.8.3) i18n (1.8.10) concurrent-ruby (~> 1.0) jgrep (1.5.4) jmespath (1.4.0) json (2.1.0) json-schema (2.8.1) addressable (>= 2.4) jwt (2.2.3) libhoney (1.19.0) addressable (~> 2.0) excon http (>= 2.0, < 5.0) little-plugger (1.1.4) locale (2.1.3) log4r (1.1.10) logging (2.3.0) little-plugger (~> 1.1) multi_json (~> 1.14) metaclass (0.0.4) metadata-json-lint (2.4.0) json-schema (~> 2.8) spdx-licenses (~> 1.0) method_source (0.8.2) mime-types (3.3.1) mime-types-data (~> 3.2015) mime-types-data (3.2021.0704) minitar (0.9) minitest (5.14.4) mocha (1.1.0) metaclass (~> 0.0.1) molinillo (0.7.0) multi_json (1.15.0) multipart-post (2.1.1) net-http-persistent (4.0.1) connection_pool (~> 2.2) net-scp (1.2.1) net-ssh (>= 2.6.5) net-ssh (6.1.0) net-ssh-krb (0.5.1) gssapi (~> 1.3.0) net-ssh (>= 2.0) net-telnet (0.1.1) netrc (0.11.0) nori (2.6.0) optimist (3.0.1) orchestrator_client (0.5.2) faraday net-http-persistent parallel (1.20.1) parallel_tests (2.14.2) parallel parser (2.7.2.0) ast (~> 2.4.1) pathspec (0.2.1) pluginator (1.5.0) powerpack (0.1.3) pry (0.10.4) coderay (~> 1.1.0) method_source (~> 0.8.1) slop (~> 3.4) public_suffix (4.0.6) puppet (6.17.0) concurrent-ruby (~> 1.0) deep_merge (~> 1.0) facter (> 2.0.1, < 5) fast_gettext (~> 1.1) hiera (>= 3.2.1, < 4) httpclient (~> 2.8) locale (~> 2.1) multi_json (~> 1.10) puppet-resource_api (~> 1.5) semantic_puppet (~> 1.0) puppet-blacksmith (6.1.0) puppet-modulebuilder (~> 0.2) rest-client (~> 2.0) puppet-debugger (1.2.0) awesome_print (~> 1.7) bundler facterdb (>= 0.4.0) pluginator (~> 1.5.0) puppet (>= 5.5) rb-readline (>= 0.5.5) table_print (>= 1.0.0) tty-pager (~> 0.13.0) puppet-lint (2.5.0) puppet-lint-file_ensure-check (0.3.1) puppet-lint (>= 1.0, < 3.0) puppet-lint-leading_zero-check (0.1.1) puppet-lint (>= 1.0, < 3.0) puppet-lint-resource_reference_syntax (1.0.10) puppet-lint (>= 1.0, < 3.0) puppet-lint-trailing_comma-check (0.4.2) puppet-lint (>= 1.0, < 3.0) puppet-module-posix-default-r2.5 (0.5.3) puppet-module-posix-dev-r2.5 (0.5.3) activesupport (>= 5.0.0, < 6.0.0) bcrypt_pbkdf (~> 1.0) codecov (>= 0.2, < 0.2.6) concurrent-ruby (!= 1.1.6) dependency_checker (~> 0.2) ed25519 (~> 1.2) facterdb (>= 0.8.1, < 2.0.0) gettext-setup (~> 0.26) metadata-json-lint (>= 2.0.2, < 3.0.0) mocha (>= 1.0.0, < 1.2.0) parallel_tests (>= 2.14.1, < 2.14.3) pry (~> 0.10.4) puppet-blacksmith (~> 6.0) puppet-debugger (~> 1.0) puppet-lint (>= 2.3.0, < 3.0.0) puppet-resource_api (~> 1.8) puppet-strings (~> 2.0) puppet-syntax (>= 2.4.1, < 3.0.0) puppet_litmus (>= 0.4.0, < 1.0.0) puppet_pot_generator (~> 1.0) puppetlabs_spec_helper (>= 2.9.0, < 3.0.0) rainbow (~> 2.0) rspec-puppet (>= 2.3.2, < 3.0.0) rspec-puppet-facts (>= 1.10.0, < 3) rspec_junit_formatter (~> 0.2) rubocop (~> 0.49.0) rubocop-i18n (~> 1.2.0) rubocop-rspec (~> 1.16.0) serverspec (~> 2.41) simplecov (< 0.19.0) simplecov-console (~> 0.4.2) specinfra (= 2.82.2) puppet-modulebuilder (0.3.0) minitar (~> 0.9) pathspec (>= 0.2.1, < 2.0.0) puppet-resource_api (1.8.14) hocon (>= 1.0) puppet-strings (2.8.0) rgen yard (~> 0.9.5) puppet-syntax (2.6.1) puppet (>= 5) rake puppet_forge (2.3.4) faraday (>= 0.9.0, < 0.18.0, != 0.13.1) faraday_middleware (>= 0.9.0, < 0.15.0) gettext-setup (~> 0.11) minitar semantic_puppet (~> 1.0) puppet_litmus (0.28.0) bolt (>= 2.0.1, < 4.0.0) docker-api (>= 1.34, < 3.0.0) honeycomb-beeline parallel puppet-modulebuilder (>= 0.2.1, < 1.0.0) retryable (~> 3.0) rspec rspec_honeycomb_formatter tty-spinner (>= 0.5.0, < 1.0.0) puppet_pot_generator (1.0.1) puppet puppetfile-resolver (0.1.0) molinillo (~> 0.6) semantic_puppet (~> 1.0) puppetlabs_spec_helper (2.16.0) mocha (~> 1.0) pathspec (>= 0.2.1, < 1.1.0) puppet-lint (~> 2.0) puppet-syntax (>= 2.0, < 4) rspec-puppet (~> 2.0) r10k (3.10.0) colored2 (= 3.1.2) cri (= 2.15.10) fast_gettext (~> 1.1.0) gettext (>= 3.0.2, < 3.3.0) gettext-setup (~> 0.24) log4r (= 1.1.10) multi_json (~> 1.10) puppet_forge (~> 2.3.0) rainbow (2.2.2) rake rake (12.3.3) rb-readline (0.5.5) rest-client (2.1.0) http-accept (>= 1.7.0, < 2.0) http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) retryable (3.0.5) rexml (3.2.5) rgen (0.8.2) rspec (3.10.0) rspec-core (~> 3.10.0) rspec-expectations (~> 3.10.0) rspec-mocks (~> 3.10.0) rspec-core (3.10.1) rspec-support (~> 3.10.0) rspec-expectations (3.10.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) rspec-mocks (3.10.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) rspec-puppet (2.9.0) rspec rspec-puppet-facts (2.0.2) facter facterdb (>= 0.5.0) puppet rspec-support (3.10.2) rspec_honeycomb_formatter (0.2.1) honeycomb-beeline rspec-core (~> 3.0) rspec_junit_formatter (0.4.1) rspec-core (>= 2, < 4, != 2.12.0) rubocop (0.49.1) parallel (~> 1.10) parser (>= 2.3.3.1, < 3.0) powerpack (~> 0.1) rainbow (>= 1.99.1, < 3.0) ruby-progressbar (~> 1.7) unicode-display_width (~> 1.0, >= 1.0.1) rubocop-i18n (1.2.0) rubocop (~> 0.49.0) rubocop-rspec (1.16.0) rubocop (>= 0.49.0) ruby-progressbar (1.11.0) ruby_smb (1.1.0) bindata rubyntlm windows_error rubyntlm (0.6.3) rubyzip (2.3.2) semantic_puppet (1.0.4) serverspec (2.41.8) multi_json rspec (~> 3.0) rspec-its specinfra (~> 2.72) sfl (2.3) simplecov (0.18.5) docile (~> 1.1) simplecov-html (~> 0.11) simplecov-console (0.4.2) ansi hirb simplecov simplecov-html (0.12.3) slop (3.6.0) spdx-licenses (1.3.0) specinfra (2.82.2) net-scp net-ssh (>= 2.7) net-telnet (= 0.1.1) sfl strings (0.1.8) strings-ansi (~> 0.1) unicode-display_width (~> 1.5) unicode_utils (~> 1.4) strings-ansi (0.2.0) table_print (1.5.7) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) text (1.3.1) thor (1.1.0) thread_safe (0.3.6) tty-cursor (0.7.1) tty-pager (0.13.0) strings (~> 0.1.8) tty-screen (~> 0.8) tty-screen (0.8.1) tty-spinner (0.9.3) tty-cursor (~> 0.7) tzinfo (1.2.9) thread_safe (~> 0.1) unf (0.1.4) unf_ext unf_ext (0.0.7.7) unicode-display_width (1.7.0) unicode_utils (1.4.0) webmock (3.13.0) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) windows_error (0.1.2) winrm (2.3.6) builder (>= 2.1.2) erubi (~> 1.8) gssapi (~> 1.2) gyoku (~> 1.0) httpclient (~> 2.2, >= 2.2.0.2) logging (>= 1.6.1, < 3.0) nori (~> 2.0) rubyntlm (~> 0.6.0, >= 0.6.3) winrm-fs (1.3.5) erubi (~> 1.8) logging (>= 1.6.1, < 3.0) rubyzip (~> 2.0) winrm (~> 2.0) yard (0.9.26) PLATFORMS ruby DEPENDENCIES fast_gettext json (= 2.1.0) puppet (= 6.17.0) puppet-lint-file_ensure-check (= 0.3.1) puppet-lint-leading_zero-check (= 0.1.1) puppet-lint-resource_reference_syntax (= 1.0.10) puppet-lint-trailing_comma-check (= 0.4.2) puppet-module-posix-default-r2.5 (~> 0.4) puppet-module-posix-dev-r2.5 (~> 0.4) puppet-module-win-default-r2.5 (~> 0.4) puppet-module-win-dev-r2.5 (~> 0.4) rb-readline (= 0.5.5) webmock BUNDLED WITH 1.17.2 ```
sanfrancrisko commented 3 years ago

Thanks for the follow up @natemccurdy - I'll close this issue for now, if you believe it's been resolved. If not, we can reopen again