train-core 3.10.1 → 3.10.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 317ad7d2b997507f028541aeb119b6a9fee1949953f8aedbda2ab227060daa23
4
- data.tar.gz: 9fcd8942668d778ea48d47a100bfbb8d8f080d92ab0af175df6a31aeb20124fc
3
+ metadata.gz: bd9123fc8c77d6d2913633bb544aae171f440d3a0558bacda3136fa62d856661
4
+ data.tar.gz: b8e558c2c7fa1479725228f1745ff5ed610f6975babc43cb07bbfb6289f41806
5
5
  SHA512:
6
- metadata.gz: 3281d0bce957f81b3719faec39eeb7a7c3f9ceee2ee6d5ed8d40b6e2ec8ef5f61d42d09daa6c0defdc55777465ec939c853ebf8128356f2358b31f2181641050
7
- data.tar.gz: 00caa3224bd23688c46c01f2e4e6ea2591fa25c04938e95d9bdb9d1fc2d8bf3758c01362bcbdcf6dcda8633f02c89d66157e92ebb8a98462a42f94f72e1630b6
6
+ metadata.gz: 0ed3576117bf704f08d0170e3f9c9d08e20da634300f02b986aaa8fb18094d0b027d9943bcc04043d986102e641ed7c09a4ed163ca6b9f8de1488d3063043721
7
+ data.tar.gz: deb114924bc9f537bb8a8c4df1f0b48936c8b7e081539109b886b4c26f994a6f96b214d514d2109ab75b526e2328473fb56f323e0746a28f8cf4cfce4df8e334
@@ -106,6 +106,7 @@ module Train::Platforms::Detect::Helpers
106
106
  m = res.match(/Cisco Nexus Operating System \(NX-OS\) Software/)
107
107
  unless m.nil?
108
108
  v = res[/^\s*system:\s+version (\d+\.\d+)/, 1]
109
+ v ||= res[/NXOS: version (\d+\.\d+)/, 1]
109
110
  return @cache[:cisco] = { version: v, type: "nexus" }
110
111
  end
111
112
 
@@ -116,6 +117,7 @@ module Train::Platforms::Detect::Helpers
116
117
  (unix_uuid_from_chef ||
117
118
  unix_uuid_from_machine_file ||
118
119
  uuid_from_command ||
120
+ uuid_from_containerized_system ||
119
121
  raise(Train::TransportError, "Cannot find a UUID for your node."))
120
122
  end
121
123
 
@@ -154,6 +156,28 @@ module Train::Platforms::Detect::Helpers
154
156
  uuid_from_string(result.stdout.chomp) if result.exit_status == 0 && !result.stdout.empty?
155
157
  end
156
158
 
159
+ # This will run if anyone is running Train with local transport inside docker container
160
+ # This is fallback plan, if other ways of getting uuid fails for local transport running inside docker container
161
+ # TODO: This needs to be improved to support other container runtime
162
+ def uuid_from_containerized_system
163
+ uuid = nil
164
+
165
+ if File.exist?("/proc/self/cgroup")
166
+ cmd = @backend.run_command("head -1 /proc/self/cgroup|cut -d/ -f3")
167
+ unless cmd.stdout.strip.empty?
168
+ uuid = cmd.stdout.strip
169
+ end
170
+ end
171
+
172
+ if uuid.nil? && File.exist?("/proc/self/mountinfo")
173
+ cmd = @backend.run_command("cat /proc/self/mountinfo | grep -i /docker/containers/ | head -n 1 | awk '{print $4}' | awk NF=NF FS=/ | awk '{print $3}'")
174
+ unless cmd.stdout.strip.empty?
175
+ uuid = cmd.stdout.strip
176
+ end
177
+ end
178
+ uuid
179
+ end
180
+
157
181
  # This hashes the passed string into SHA1.
158
182
  # Then it downgrades the 160bit SHA1 to a 128bit
159
183
  # then we format it as a valid UUIDv5.
@@ -383,7 +383,7 @@ module Train::Platforms::Detect::Specifications
383
383
  def self.load_other
384
384
  plat.family("arista_eos").title("Arista EOS Family").in_family("os")
385
385
  .detect do
386
- true
386
+ !@backend.run_command("show version").stdout.match(/Arista/).nil?
387
387
  end
388
388
 
389
389
  declare_instance("arista_eos", "Arista EOS", "arista_eos") do
data/lib/train/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # Author:: Dominik Richter (<dominik.richter@gmail.com>)
3
3
 
4
4
  module Train
5
- VERSION = "3.10.1".freeze
5
+ VERSION = "3.10.8".freeze
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: train-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.10.1
4
+ version: 3.10.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef InSpec Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-29 00:00:00.000000000 Z
11
+ date: 2023-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '1.2'
88
88
  - - "<"
89
89
  - !ruby/object:Gem::Version
90
- version: '4.0'
90
+ version: '5.0'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
@@ -97,7 +97,7 @@ dependencies:
97
97
  version: '1.2'
98
98
  - - "<"
99
99
  - !ruby/object:Gem::Version
100
- version: '4.0'
100
+ version: '5.0'
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: net-ssh
103
103
  requirement: !ruby/object:Gem::Requirement
@@ -107,7 +107,7 @@ dependencies:
107
107
  version: '2.9'
108
108
  - - "<"
109
109
  - !ruby/object:Gem::Version
110
- version: '7.0'
110
+ version: '8.0'
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
@@ -117,7 +117,7 @@ dependencies:
117
117
  version: '2.9'
118
118
  - - "<"
119
119
  - !ruby/object:Gem::Version
120
- version: '7.0'
120
+ version: '8.0'
121
121
  description: A minimal Train with a backends for ssh and winrm.
122
122
  email:
123
123
  - inspec@chef.io