From f7553214c0b66595fb9a888fae6956383a26174b Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 4 Sep 2024 21:32:14 +0100 Subject: [PATCH 1/2] Update docker.rb for Podman This if statement will enable the fact to work if you are using podman with docker symlink/support as the json syntax is lowercase on podman but camel/title case on docker. As per - https://github.com/puppetlabs/puppetlabs-docker/issues/982 --- lib/facter/docker.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/facter/docker.rb b/lib/facter/docker.rb index 368c12e6..8624d5d8 100644 --- a/lib/facter/docker.rb +++ b/lib/facter/docker.rb @@ -138,7 +138,11 @@ def interfaces docker_network_names.each do |network| inspect = JSON.parse(Facter::Core::Execution.execute("#{docker_command} network inspect #{network}", timeout: 90)) docker['network'][network] = inspect[0] - network_id = docker['network'][network]['Id'][0..11] + if docker['network'][network]['Id'].nil? + network_id = docker['network'][network]['id'][0..11] + else + network_id = docker['network'][network]['Id'][0..11] + end interfaces.each do |iface| docker['network']['managed_interfaces'][iface] = network if %r{#{network_id}}.match?(iface) end From e60a9702ae6bc7df78fefeb23e88de114daf1f09 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 4 Mar 2025 11:15:47 +0000 Subject: [PATCH 2/2] Update lib/facter/docker.rb I'm not a ruby dev so I'll assume this works... Co-authored-by: Henrik Hansson --- lib/facter/docker.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/facter/docker.rb b/lib/facter/docker.rb index 8624d5d8..bae3b6bc 100644 --- a/lib/facter/docker.rb +++ b/lib/facter/docker.rb @@ -138,11 +138,11 @@ def interfaces docker_network_names.each do |network| inspect = JSON.parse(Facter::Core::Execution.execute("#{docker_command} network inspect #{network}", timeout: 90)) docker['network'][network] = inspect[0] - if docker['network'][network]['Id'].nil? - network_id = docker['network'][network]['id'][0..11] - else - network_id = docker['network'][network]['Id'][0..11] - end + network_id = if docker['network'][network]['Id'].nil? + docker['network'][network]['id'][0..11] + else + docker['network'][network]['Id'][0..11] + end interfaces.each do |iface| docker['network']['managed_interfaces'][iface] = network if %r{#{network_id}}.match?(iface) end