beaker-docker 0.8.3 → 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -0
- data/Gemfile.local +0 -2
- data/README.md +2 -0
- data/beaker-docker.gemspec +1 -1
- data/lib/beaker-docker/version.rb +1 -1
- data/lib/beaker/hypervisor/docker.rb +8 -6
- data/spec/beaker/hypervisor/docker_spec.rb +6 -2
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a33de485fa44a24ca53428bc873ee91359d6d872abe4d0794a72e037a189aa4c
|
4
|
+
data.tar.gz: 3e58d56f2878a8cfcfea37fb7dbafb10b6ad9a2500b3f1cad069283fb886ddfb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95fbe3d0582ce0ff014441f45f38e3c2d174f02c2eb323236a6b77a236327a9392eea43765e05bef87e26d9600be81d84c29ea2170b35d926aa9f1419bb23b77
|
7
|
+
data.tar.gz: 67533e7a604103891b076a07ddf54808c360ef18833b3a1a094f1681c1ee69676fbeae8bd5db0b483c7c84e7c643c60e78f3aeaefa16b0893223c7261e590d6b
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Change Log
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
The format is based on
|
6
|
+
[Keep a Changelog](http://keepachangelog.com)
|
7
|
+
& makes a strong effort to adhere to
|
8
|
+
[Semantic Versioning](http://semver.org).
|
9
|
+
|
10
|
+
Tracking in this Changelog began for this project in version 0.8.4.
|
11
|
+
If you're looking for changes from before this, refer to the project's
|
12
|
+
git logs & PR history.
|
13
|
+
|
14
|
+
The headers used in [Keep a Changelog](http://keepachangelog.com) are:
|
15
|
+
|
16
|
+
- Added - for new features.
|
17
|
+
- Changed - for changes in existing functionality.
|
18
|
+
- Deprecated - for soon-to-be removed features.
|
19
|
+
- Removed - for now removed features.
|
20
|
+
- Fixed - for any bug fixes.
|
21
|
+
- Security - in case of vulnerabilities.
|
22
|
+
|
23
|
+
# [0.8.4](https://github.com/voxpupuli/beaker/compare/0.8.3...0.8.4) - 03-15-2021
|
24
|
+
|
25
|
+
### Fixed
|
26
|
+
|
27
|
+
- Use the `docker-api` function `::Docker.rootless?` to see if the container
|
28
|
+
ecosystem is running in `rootless` mode. This reduces false positive
|
29
|
+
failures across the board.
|
30
|
+
- Ensure that the correct port and IP is used for local docker connections
|
31
|
+
- Added the `force` option to ensure container removal on error
|
data/Gemfile.local
CHANGED
data/README.md
CHANGED
@@ -117,3 +117,5 @@ Please refer to puppetlabs/beaker's [contributing](https://github.com/puppetlabs
|
|
117
117
|
## Releasing
|
118
118
|
|
119
119
|
To release new versions of beaker-docker, please use update `lib/beaker-docker/version.rb` with the new version number. The version should adhere to [semantic version standards](https://semver.org). When in doubt, ask in the `#voxpupuli` channel of the Puppet community Slack or in `#voxpupuli` on irc.freenode.net ([Webinterface](https://webchat.freenode.net/?channels=%23voxpupuli)).
|
120
|
+
|
121
|
+
Once the version file has been updated, a contributor can push a new git tag to match and GitHub Actions will do the release to RubyGems.
|
data/beaker-docker.gemspec
CHANGED
@@ -152,11 +152,12 @@ module Beaker
|
|
152
152
|
else
|
153
153
|
port22 = network_settings.dig('Ports','22/tcp')
|
154
154
|
ip = port22[0]["HostIp"] if port22
|
155
|
+
port = port22[0]['HostPort'] if port22
|
155
156
|
end
|
156
157
|
end
|
157
158
|
|
158
159
|
if host_config['NetworkMode'] != 'slirp4netns' && network_settings['IPAddress'] && !network_settings['IPAddress'].empty?
|
159
|
-
ip = network_settings['IPAddress']
|
160
|
+
ip = network_settings['IPAddress'] if ip.nil?
|
160
161
|
else
|
161
162
|
port22 = network_settings.dig('Ports','22/tcp')
|
162
163
|
port = port22[0]['HostPort'] if port22
|
@@ -259,10 +260,11 @@ module Beaker
|
|
259
260
|
container = ::Docker::Container.create(container_opts)
|
260
261
|
|
261
262
|
ssh_info = get_ssh_connection_info(container)
|
262
|
-
if ssh_info[:ip] == '127.0.0.1' && (ssh_info[:port].to_i < 1024)
|
263
|
-
@logger.debug("#{host} was given a port less than 1024 but you are
|
263
|
+
if ::Docker.rootless? && ssh_info[:ip] == '127.0.0.1' && (ssh_info[:port].to_i < 1024)
|
264
|
+
@logger.debug("#{host} was given a port less than 1024 but you are connecting to a rootless instance, retrying")
|
264
265
|
|
265
|
-
container.delete
|
266
|
+
container.delete(force: true)
|
267
|
+
container = nil
|
266
268
|
|
267
269
|
retries+=1
|
268
270
|
next
|
@@ -287,7 +289,7 @@ module Beaker
|
|
287
289
|
begin
|
288
290
|
container.stats
|
289
291
|
rescue StandardError => e
|
290
|
-
container.delete
|
292
|
+
container.delete(force: true)
|
291
293
|
raise "Container '#{container.id}' in a bad state: #{e}"
|
292
294
|
end
|
293
295
|
|
@@ -402,7 +404,7 @@ module Beaker
|
|
402
404
|
end
|
403
405
|
@logger.debug("delete container #{container.id}")
|
404
406
|
begin
|
405
|
-
container.delete
|
407
|
+
container.delete(force: true)
|
406
408
|
rescue Excon::Errors::ClientError => e
|
407
409
|
@logger.warn("deletion of container #{container.id} failed: #{e.response.body}")
|
408
410
|
end
|
@@ -105,6 +105,10 @@ module Beaker
|
|
105
105
|
|
106
106
|
let (:version) { {"ApiVersion"=>"1.18", "Arch"=>"amd64", "GitCommit"=>"4749651", "GoVersion"=>"go1.4.2", "KernelVersion"=>"3.16.0-37-generic", "Os"=>"linux", "Version"=>"1.6.0"} }
|
107
107
|
|
108
|
+
before :each do
|
109
|
+
allow(::Docker).to receive(:rootless?).and_return(true)
|
110
|
+
end
|
111
|
+
|
108
112
|
context 'with connection failure' do
|
109
113
|
describe '#initialize' do
|
110
114
|
before :each do
|
@@ -532,8 +536,8 @@ module Beaker
|
|
532
536
|
ENV['DOCKER_HOST'] = nil
|
533
537
|
docker.provision
|
534
538
|
|
535
|
-
expect( hosts[0]['ip'] ).to be === '
|
536
|
-
expect( hosts[0]['port'] ).to be ===
|
539
|
+
expect( hosts[0]['ip'] ).to be === '127.0.1.1'
|
540
|
+
expect( hosts[0]['port'] ).to be === 8022
|
537
541
|
end
|
538
542
|
end
|
539
543
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker-docker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vox Pupuli
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2021-
|
14
|
+
date: 2021-03-15 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|
@@ -115,16 +115,16 @@ dependencies:
|
|
115
115
|
name: docker-api
|
116
116
|
requirement: !ruby/object:Gem::Requirement
|
117
117
|
requirements:
|
118
|
-
- - "
|
118
|
+
- - "~>"
|
119
119
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
120
|
+
version: '2.1'
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
123
|
version_requirements: !ruby/object:Gem::Requirement
|
124
124
|
requirements:
|
125
|
-
- - "
|
125
|
+
- - "~>"
|
126
126
|
- !ruby/object:Gem::Version
|
127
|
-
version:
|
127
|
+
version: '2.1'
|
128
128
|
description: For use for the Beaker acceptance testing tool
|
129
129
|
email:
|
130
130
|
- voxpupuli@groups.io
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- ".github/workflows/test.yml"
|
139
139
|
- ".gitignore"
|
140
140
|
- ".simplecov"
|
141
|
+
- CHANGELOG.md
|
141
142
|
- Gemfile
|
142
143
|
- Gemfile.local
|
143
144
|
- LICENSE
|