train 0.20.1 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -2
- data/lib/train/extras/os_common.rb +3 -0
- data/lib/train/extras/os_detect_arista_eos.rb +30 -0
- data/lib/train/version.rb +1 -1
- metadata +4 -7
- data/test/integration/test-one.yaml +0 -4
- data/test/integration/test-two.yaml +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1edcda93b18d806fd86e094f251628c130d29edb
|
4
|
+
data.tar.gz: add339df25ea70aa5d4be363a6ba023f9864f4aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb525d6d418efc91d7868ba40c3faeb50e8bb5b600264f914c1c29d76ac2224e2fcf9658d2b3cd5d60e860a2f75af855bb79db4399e65f7d9f17915f7a5d7652
|
7
|
+
data.tar.gz: 8c0d703a2fe472cc8523503219a49276d4fb63e1258b5ddc070f51efc119776b35713adfef96f54568f8c8e6121cbe7a1afb0fbc4f07609e0ae47dd0261300e5
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [0.
|
4
|
-
[Full Changelog](https://github.com/chef/train/compare/v0.20.
|
3
|
+
## [0.21.0](https://github.com/chef/train/tree/0.21.0) (2016-11-04)
|
4
|
+
[Full Changelog](https://github.com/chef/train/compare/v0.20.1...0.21.0)
|
5
|
+
|
6
|
+
**Implemented enhancements:**
|
7
|
+
|
8
|
+
- Train doesn't create a login shell [\#148](https://github.com/chef/train/issues/148)
|
9
|
+
|
10
|
+
**Merged pull requests:**
|
11
|
+
|
12
|
+
- Add detection for Arista EOS [\#158](https://github.com/chef/train/pull/158) ([jerearista](https://github.com/jerearista))
|
13
|
+
|
14
|
+
## [v0.20.1](https://github.com/chef/train/tree/v0.20.1) (2016-10-15)
|
15
|
+
[Full Changelog](https://github.com/chef/train/compare/v0.20.0...v0.20.1)
|
5
16
|
|
6
17
|
**Fixed bugs:**
|
7
18
|
|
@@ -13,6 +13,7 @@ require 'train/extras/os_detect_linux'
|
|
13
13
|
require 'train/extras/os_detect_unix'
|
14
14
|
require 'train/extras/os_detect_windows'
|
15
15
|
require 'train/extras/os_detect_esx'
|
16
|
+
require 'train/extras/os_detect_arista_eos'
|
16
17
|
|
17
18
|
module Train::Extras
|
18
19
|
class OSCommon
|
@@ -21,6 +22,7 @@ module Train::Extras
|
|
21
22
|
include Train::Extras::DetectUnix
|
22
23
|
include Train::Extras::DetectWindows
|
23
24
|
include Train::Extras::DetectEsx
|
25
|
+
include Train::Extras::DetectAristaEos
|
24
26
|
|
25
27
|
attr_accessor :backend
|
26
28
|
def initialize(backend, platform = nil)
|
@@ -122,6 +124,7 @@ module Train::Extras
|
|
122
124
|
# unix based systems combine the above
|
123
125
|
return true if pf == 'unix' and detect_darwin
|
124
126
|
return true if pf == 'unix' and detect_esx
|
127
|
+
return true if pf == 'unix' and detect_arista_eos
|
125
128
|
return true if pf == 'unix' and detect_via_uname
|
126
129
|
|
127
130
|
# if we arrive here, we most likey have a regular linux
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# author: Jere Julian
|
3
|
+
#
|
4
|
+
# Arista EOS has 2 modes. Most compliance tests will use the network CLI
|
5
|
+
# but when working with vagrant, its common to encounter the raw bash shell.
|
6
|
+
require 'json'
|
7
|
+
|
8
|
+
module Train::Extras
|
9
|
+
module DetectAristaEos
|
10
|
+
def detect_arista_eos
|
11
|
+
if unix_file?('/usr/bin/FastCli')
|
12
|
+
output = @backend.run_command('FastCli -p 15 -c "show version | json"').stdout
|
13
|
+
@platform[:name] = 'arista_eos_bash'
|
14
|
+
family = 'fedora'
|
15
|
+
else
|
16
|
+
output = @backend.run_command('show version | json').stdout
|
17
|
+
end
|
18
|
+
|
19
|
+
unless output.empty?
|
20
|
+
eos_ver = JSON.parse(output)
|
21
|
+
@platform[:name] = @platform[:name] || 'arista_eos'
|
22
|
+
family ||= 'arista_eos'
|
23
|
+
@platform[:family] = family
|
24
|
+
@platform[:release] = eos_ver['version']
|
25
|
+
@platform[:arch] = eos_ver['architecture']
|
26
|
+
true
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/train/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: train
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.21.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dominik Richter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -158,6 +158,7 @@ files:
|
|
158
158
|
- lib/train/extras/file_windows.rb
|
159
159
|
- lib/train/extras/linux_lsb.rb
|
160
160
|
- lib/train/extras/os_common.rb
|
161
|
+
- lib/train/extras/os_detect_arista_eos.rb
|
161
162
|
- lib/train/extras/os_detect_darwin.rb
|
162
163
|
- lib/train/extras/os_detect_esx.rb
|
163
164
|
- lib/train/extras/os_detect_linux.rb
|
@@ -195,13 +196,11 @@ files:
|
|
195
196
|
- test/integration/sudo/passwd.rb
|
196
197
|
- test/integration/sudo/reqtty.rb
|
197
198
|
- test/integration/sudo/run_as.rb
|
198
|
-
- test/integration/test-one.yaml
|
199
199
|
- test/integration/test-travis-centos.yml
|
200
200
|
- test/integration/test-travis-debian.yml
|
201
201
|
- test/integration/test-travis-fedora.yml
|
202
202
|
- test/integration/test-travis-oel.yml
|
203
203
|
- test/integration/test-travis-ubuntu.yml
|
204
|
-
- test/integration/test-two.yaml
|
205
204
|
- test/integration/test_local.rb
|
206
205
|
- test/integration/test_ssh.rb
|
207
206
|
- test/integration/tests/path_block_device_test.rb
|
@@ -253,7 +252,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
253
252
|
version: '0'
|
254
253
|
requirements: []
|
255
254
|
rubyforge_project:
|
256
|
-
rubygems_version: 2.
|
255
|
+
rubygems_version: 2.4.6
|
257
256
|
signing_key:
|
258
257
|
specification_version: 4
|
259
258
|
summary: Transport interface to talk to different backends.
|
@@ -274,13 +273,11 @@ test_files:
|
|
274
273
|
- test/integration/sudo/passwd.rb
|
275
274
|
- test/integration/sudo/reqtty.rb
|
276
275
|
- test/integration/sudo/run_as.rb
|
277
|
-
- test/integration/test-one.yaml
|
278
276
|
- test/integration/test-travis-centos.yml
|
279
277
|
- test/integration/test-travis-debian.yml
|
280
278
|
- test/integration/test-travis-fedora.yml
|
281
279
|
- test/integration/test-travis-oel.yml
|
282
280
|
- test/integration/test-travis-ubuntu.yml
|
283
|
-
- test/integration/test-two.yaml
|
284
281
|
- test/integration/test_local.rb
|
285
282
|
- test/integration/test_ssh.rb
|
286
283
|
- test/integration/tests/path_block_device_test.rb
|