kitchen-transport-train 0.1.0 → 0.2.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 +6 -0
- data/README.md +4 -0
- data/lib/kitchen/transport/train.rb +29 -0
- data/lib/kitchen-transport-train/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 73b1cac962017682b0b06008f9f5d6ed0abdfda2be33a39c4cb487ad703773c2
|
|
4
|
+
data.tar.gz: faa11ed4ab87a67bc9dc6b2caffb74b2538d5166c3a742549a5524b037367b12
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 554fc9afd48408fd7615b616a54b4603f2bf6a2efb69f9e96157f54182686b32031005f5899cc865c388c030dc76ff8d93bb018ec5ca96f768df13cd484c5c50
|
|
7
|
+
data.tar.gz: 45f6bf81dffdf21825fa92b5f46225bd0cff7a558f033470382e0f20c05b12cb56e5205161db44e5f4d3bccb1a911b23c293a87c4dd252aec3ac316cc0fd751c
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Version 0.2.0
|
|
4
|
+
|
|
5
|
+
- Fix disparity between TestKitchen SSH wait parameters and Train
|
|
6
|
+
- Fix user passing via a `train_user` override parameters
|
|
7
|
+
- Add call to generate an RFC099 credentials file
|
|
8
|
+
|
|
3
9
|
## Version 0.1.0
|
|
4
10
|
|
|
5
11
|
- Initial version
|
data/README.md
CHANGED
|
@@ -45,6 +45,10 @@ transport:
|
|
|
45
45
|
|
|
46
46
|
Options `user`, `host` and `password` (for kitchen-ec2 and Windows instances) are set automatically.
|
|
47
47
|
|
|
48
|
+
If you want to use `kitchen-ec2` with the `root` user however (as needed in Chef 19 Target Mode), you need to additionally specify `train_user: root`. This is due to a long-standing bug in Kitchen-EC2 where the standard platform's autodetected user will override manually specified `root` values.
|
|
49
|
+
|
|
50
|
+
Standard and community-supported options for transports:
|
|
51
|
+
|
|
48
52
|
- [AWS Session Manager Transport](https://github.com/tecracer-chef/train-awsssm/blob/master/lib/train-awsssm/transport.rb#L8-L14)
|
|
49
53
|
- Docker Transport: no additional options
|
|
50
54
|
- [Serial/USB Transport](https://github.com/tecracer-chef/train-serial/blob/master/lib/train-serial/transport.rb#L8-L22)
|
|
@@ -39,6 +39,31 @@ module Kitchen
|
|
|
39
39
|
yield self if block_given?
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
def train_uri
|
|
43
|
+
@connection.uri
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def credentials_file
|
|
47
|
+
instance_name = @connection.transport_options[:instance_name]
|
|
48
|
+
|
|
49
|
+
config = @backend.instance_variable_get(:@connection_options)
|
|
50
|
+
config.compact!
|
|
51
|
+
config.transform_values! { |v| v.is_a?(Symbol) ? v.to_s : v }
|
|
52
|
+
|
|
53
|
+
# Some configuration variables vary between transports
|
|
54
|
+
config[:host] = config[:hostname] = @connection.transport_options[:host]
|
|
55
|
+
config[:key_files] = @connection.transport_options[:key_files]
|
|
56
|
+
|
|
57
|
+
# Due to a long-standing bug in TestKitchen, standard platforms will override
|
|
58
|
+
# kitchen.yml `user` settings, so this transport introduces an "train_user" override.
|
|
59
|
+
# See https://github.com/test-kitchen/kitchen-ec2/pull/273
|
|
60
|
+
config[:user] = config[:username] = @connection.transport_options[:train_user] || @connection.transport_options[:user]
|
|
61
|
+
|
|
62
|
+
require "toml-rb" unless defined?(TomlRB)
|
|
63
|
+
|
|
64
|
+
"['#{instance_name}']\n" + TomlRB.dump(config)
|
|
65
|
+
end
|
|
66
|
+
|
|
42
67
|
def execute(command)
|
|
43
68
|
return if command.nil?
|
|
44
69
|
|
|
@@ -95,6 +120,10 @@ module Kitchen
|
|
|
95
120
|
data.delete(:ssh_key)
|
|
96
121
|
end
|
|
97
122
|
|
|
123
|
+
# Adjust option defaults
|
|
124
|
+
data[:retries] = 15
|
|
125
|
+
data[:delay] = 5
|
|
126
|
+
|
|
98
127
|
data
|
|
99
128
|
end
|
|
100
129
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kitchen-transport-train
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thomas Heinen
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-07-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: train
|
|
@@ -54,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
55
|
version: '0'
|
|
56
56
|
requirements: []
|
|
57
|
-
rubygems_version: 3.
|
|
57
|
+
rubygems_version: 3.3.27
|
|
58
58
|
signing_key:
|
|
59
59
|
specification_version: 4
|
|
60
60
|
summary: Kitchen transport for any Train backend
|