beaker-gke 0.0.3 → 0.1.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 +5 -5
- data/.github/dependabot.yml +8 -0
- data/.gitignore +20 -0
- data/.rspec +1 -0
- data/.rubocop.yml +36 -0
- data/.travis.yml +17 -0
- data/CODEOWNERS +2 -1
- data/Gemfile +28 -2
- data/Rakefile +31 -0
- data/beaker-gke.gemspec +13 -2
- data/lib/beaker/hypervisor/gke.rb +1 -1
- data/lib/beaker-gke/version.rb +1 -1
- data/spec/gke/hypervisor/gke_spec.rb +176 -0
- data/spec/spec_helper.rb +24 -0
- metadata +113 -11
- data/.rubcop.yaml +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7088a7e3170a2710eab2fdd6fd718e24da57daec4a59233bd8c9c2213dec2c79
|
4
|
+
data.tar.gz: 190e006996fd60900469009ea5a6d6b68efbdd2410b2c0731e684b4be4774052
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73a0b108eb1bb49deffd6f7041a04d881366b2a5d2739202c761d1246f83d2bfa8d9530c0d173d68fa53f03036d3399e6021846225322fb87f152352789e680b
|
7
|
+
data.tar.gz: 2cbd244cd17946c6bf5047ec9db0db67b156b477b645cfd31b5e0907bb0a84a940f8aa93b3ec5b880d8e28662709352dc79f03f7b48cfa28dff1296fd5b7287c
|
data/.gitignore
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--require spec_helper
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
require:
|
3
|
+
- rubocop-rspec
|
4
|
+
- rubocop-performance
|
5
|
+
AllCops:
|
6
|
+
TargetRubyVersion: 2.5
|
7
|
+
NewCops: enable
|
8
|
+
|
9
|
+
Style/Documentation:
|
10
|
+
Enabled: false
|
11
|
+
|
12
|
+
Metrics/MethodLength:
|
13
|
+
Max: 25
|
14
|
+
|
15
|
+
Layout/LineLength:
|
16
|
+
Max: 120
|
17
|
+
|
18
|
+
Metrics/AbcSize:
|
19
|
+
Enabled: false
|
20
|
+
|
21
|
+
Naming/FileName:
|
22
|
+
Exclude:
|
23
|
+
- 'lib/beaker-gke.rb'
|
24
|
+
|
25
|
+
Security/Eval:
|
26
|
+
Exclude:
|
27
|
+
- 'Gemfile'
|
28
|
+
|
29
|
+
Metrics/BlockLength:
|
30
|
+
Enabled: false
|
31
|
+
|
32
|
+
Metrics/ModuleLength:
|
33
|
+
Enabled: false
|
34
|
+
|
35
|
+
RSpec/FilePath:
|
36
|
+
Enabled: false
|
data/.travis.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
language: ruby
|
2
|
+
sudo: false
|
3
|
+
bundler_args: --jobs 4 --retry 2 --without packaging documentation
|
4
|
+
before_install:
|
5
|
+
- gem update --system && gem install bundler --no-document
|
6
|
+
script:
|
7
|
+
- "bundle exec rake $CHECK"
|
8
|
+
notifications:
|
9
|
+
email: false
|
10
|
+
|
11
|
+
matrix:
|
12
|
+
include:
|
13
|
+
- rvm: 2.5
|
14
|
+
env: "CHECK=rubocop"
|
15
|
+
|
16
|
+
- rvm: 2.5
|
17
|
+
env: "CHECK=test:spec:run"
|
data/CODEOWNERS
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
*
|
1
|
+
* @puppetlabs/release-engineering
|
2
|
+
|
data/Gemfile
CHANGED
@@ -1,3 +1,29 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
4
|
+
|
5
|
+
gemspec
|
6
|
+
|
7
|
+
group :development, :test do
|
8
|
+
gem 'rubocop', require: false
|
9
|
+
gem 'rubocop-performance', require: false
|
10
|
+
gem 'rubocop-rspec', require: false
|
11
|
+
end
|
12
|
+
|
13
|
+
def location_for(place, fake_version = nil)
|
14
|
+
if place =~ /^git:([^#]*)#(.*)/
|
15
|
+
[fake_version, { git: Regexp.last_match(1), branch: Regexp.last_match(2), require: false }].compact
|
16
|
+
elsif place =~ %r{^file://(.*)}
|
17
|
+
['>= 0', { path: File.expand_path(Regexp.last_match(1)), require: false }]
|
18
|
+
else
|
19
|
+
[place, { require: false }]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# We don't put beaker in as a test dependency because we
|
24
|
+
# don't want to create a transitive dependency
|
25
|
+
group :acceptance_testing do
|
26
|
+
gem 'beaker', *location_for(ENV['BEAKER_VERSION'] || '~> 4.0')
|
27
|
+
end
|
28
|
+
|
29
|
+
eval(File.read("#{__FILE__}.local"), binding) if File.exist? "#{__FILE__}.local"
|
data/Rakefile
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
|
5
|
+
namespace :test do
|
6
|
+
namespace :spec do
|
7
|
+
desc 'Run spec tests'
|
8
|
+
RSpec::Core::RakeTask.new(:run) do |t|
|
9
|
+
t.rspec_opts = ['--color']
|
10
|
+
t.pattern = 'spec/'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
desc 'run static analysis with rubocop'
|
16
|
+
task(:rubocop) do
|
17
|
+
require 'rubocop'
|
18
|
+
cli = RuboCop::CLI.new
|
19
|
+
exit_code = cli.run(%w[--display-cop-names --format simple])
|
20
|
+
raise 'RuboCop detected offenses' if exit_code != 0
|
21
|
+
end
|
22
|
+
|
23
|
+
# namespace-named default tasks.
|
24
|
+
# these are the default tasks invoked when only the namespace is referenced.
|
25
|
+
# they're needed because `task :default` in those blocks doesn't work as expected.
|
26
|
+
task 'test:spec' => 'test:spec:run'
|
27
|
+
task 'test:acceptance' => 'test:acceptance:quick'
|
28
|
+
|
29
|
+
# global defaults
|
30
|
+
task test: 'test:spec'
|
31
|
+
task default: :test
|
data/beaker-gke.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
$LOAD_PATH.unshift File.expand_path(
|
3
|
+
$LOAD_PATH.unshift File.expand_path('lib', __dir__)
|
4
4
|
|
5
5
|
require 'beaker-gke/version'
|
6
6
|
|
@@ -19,7 +19,18 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |file| File.basename(file) }
|
20
20
|
s.require_paths = ['lib']
|
21
21
|
|
22
|
+
# Required ruby version
|
23
|
+
s.required_ruby_version = '~> 2.5'
|
24
|
+
|
25
|
+
# Testing dependencies
|
26
|
+
s.add_development_dependency 'climate_control'
|
27
|
+
s.add_development_dependency 'fakefs', '~> 1.2', '<= 1.2.3'
|
28
|
+
s.add_development_dependency 'rake', '~> 13.0'
|
29
|
+
s.add_development_dependency 'rspec', '~> 3.0'
|
30
|
+
s.add_development_dependency 'rspec-its'
|
31
|
+
s.add_development_dependency 'simplecov'
|
32
|
+
|
22
33
|
# Run time dependencies
|
23
34
|
s.add_runtime_dependency 'googleauth', '~> 0.9'
|
24
|
-
s.add_runtime_dependency 'kubeclient', '
|
35
|
+
s.add_runtime_dependency 'kubeclient', '>= 4.4', '< 4.10'
|
25
36
|
end
|
@@ -44,7 +44,7 @@ module Beaker
|
|
44
44
|
rescue StandardError => e
|
45
45
|
raise "Timeout: #{e.message}" unless retries <= MAX_RETRIES
|
46
46
|
|
47
|
-
@logger.info("Retrying
|
47
|
+
@logger.info("Retrying, could not get podIP for #{hostname}")
|
48
48
|
|
49
49
|
retries += 1
|
50
50
|
sleep(2**retries)
|
data/lib/beaker-gke/version.rb
CHANGED
@@ -0,0 +1,176 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'beaker/hypervisor/gke'
|
4
|
+
|
5
|
+
describe Beaker::Gke do
|
6
|
+
let(:hosts) { make_hosts }
|
7
|
+
|
8
|
+
let(:options) { { logger: logger } }
|
9
|
+
|
10
|
+
let(:logger) do
|
11
|
+
logger = instance_double('logger')
|
12
|
+
allow(logger).to receive(:debug)
|
13
|
+
allow(logger).to receive(:info)
|
14
|
+
allow(logger).to receive(:warn)
|
15
|
+
allow(logger).to receive(:error)
|
16
|
+
allow(logger).to receive(:notify)
|
17
|
+
logger
|
18
|
+
end
|
19
|
+
|
20
|
+
let(:config) { instance_double('config') }
|
21
|
+
|
22
|
+
let(:context) do
|
23
|
+
instance_double('context',
|
24
|
+
api_endpoint: 'v1',
|
25
|
+
ssl_options: {
|
26
|
+
verify_ssl: 1,
|
27
|
+
cert_store: true
|
28
|
+
},
|
29
|
+
auth_options: {
|
30
|
+
bearer_token: 'TOKEN_STRING'
|
31
|
+
})
|
32
|
+
end
|
33
|
+
|
34
|
+
let(:gke) { ::Beaker::Gke.new(hosts, options) }
|
35
|
+
|
36
|
+
def pass_through_initialization
|
37
|
+
allow(ENV).to receive(:fetch).with('KUBECONFIG').and_return('default_value')
|
38
|
+
allow(ENV).to receive(:fetch).with('GOOGLE_APPLICATION_CREDENTIALS').and_return('default_value')
|
39
|
+
allow(config).to receive(:context).and_return(context)
|
40
|
+
allow(Kubeclient::Config).to receive(:read).with(ENV['KUBECONFIG']).and_return(config)
|
41
|
+
end
|
42
|
+
|
43
|
+
before do
|
44
|
+
FakeFS.deactivate!
|
45
|
+
end
|
46
|
+
|
47
|
+
describe ' #initialize' do
|
48
|
+
let(:env_error_message) { 'OS environment variable KUBECONFIG and GOOGLE_APPLICATION_CREDENTIALS must be set' }
|
49
|
+
|
50
|
+
it 'raises error when KUBECONFIG and GOOGLE_APPLICATION_CREDENTIALS ENV variables are not set' do
|
51
|
+
expect { gke }.to raise_error(ArgumentError, env_error_message)
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'raises error when only GOOGLE_APPLICATION_CREDENTIALS ENV variable is set' do
|
55
|
+
with_modified_env GOOGLE_APPLICATION_CREDENTIALS: 'default_value' do
|
56
|
+
expect { gke }.to raise_error(ArgumentError, env_error_message)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'raises error when only KUBECONFIG ENV variable is set' do
|
61
|
+
with_modified_env KUBECONFIG: 'default_value' do
|
62
|
+
expect { gke }.to raise_error(ArgumentError, env_error_message)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
context 'when both KUBECONFIG and GOOGLE_APPLICATION_CREDENTIALS ENV are set' do
|
67
|
+
before do
|
68
|
+
pass_through_initialization
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'sets the hosts data member accordingly' do
|
72
|
+
expect(gke.instance_variable_get(:@hosts)).to equal(hosts)
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'sets the options data member accordingly' do
|
76
|
+
expect(gke.instance_variable_get(:@options)).to equal(options)
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'sets the logger data member accordingly' do
|
80
|
+
expect(gke.instance_variable_get(:@logger)).to equal(logger)
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'succeeds and does not raise any errors' do
|
84
|
+
expect { gke }.not_to raise_error
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
describe ' #provision' do
|
90
|
+
let(:pod) { instance_double('pod') }
|
91
|
+
|
92
|
+
let(:status) { instance_double('status', podIP: '10.236.246.250') }
|
93
|
+
let(:empty_ip_status) { instance_double('status', podIP: nil) }
|
94
|
+
|
95
|
+
def pass_through_pod_and_service_creation
|
96
|
+
allow(gke).to receive(:create_pod).and_return(nil)
|
97
|
+
allow(gke).to receive(:read_file).with('pod.yaml').and_return('pod.yaml content')
|
98
|
+
|
99
|
+
allow(gke).to receive(:create_srv).and_return(nil)
|
100
|
+
allow(gke).to receive(:read_file).with('service.yaml').and_return('service.yaml content')
|
101
|
+
end
|
102
|
+
|
103
|
+
before do
|
104
|
+
pass_through_initialization
|
105
|
+
pass_through_pod_and_service_creation
|
106
|
+
allow(gke).to receive(:sleep).and_return(true)
|
107
|
+
end
|
108
|
+
|
109
|
+
context 'when no hosts given' do
|
110
|
+
let(:no_hosts_gke) { ::Beaker::Gke.new([], options) }
|
111
|
+
|
112
|
+
it 'returns nil' do
|
113
|
+
expect(no_hosts_gke.provision).to eq(nil)
|
114
|
+
end
|
115
|
+
|
116
|
+
it 'logs no info' do
|
117
|
+
no_hosts_gke.provision
|
118
|
+
expect(logger).not_to have_received(:info)
|
119
|
+
end
|
120
|
+
|
121
|
+
it 'does not raise any error' do
|
122
|
+
expect { no_hosts_gke.provision }.not_to raise_error
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
it 'raises StandardError and logs podIP retrieval attempts' do # rubocop:disable RSpec/MultipleExpectations
|
127
|
+
allow(gke).to receive(:get_pod).and_return(pod)
|
128
|
+
allow(pod).to receive(:status).and_return(empty_ip_status)
|
129
|
+
|
130
|
+
expect { gke.provision }.to raise_error(StandardError)
|
131
|
+
expect(logger).to have_received(:info).with(/Retrying, could not get podIP for/).at_least(:once)
|
132
|
+
end
|
133
|
+
|
134
|
+
it 'succeeds' do
|
135
|
+
allow(gke).to receive(:get_pod).and_return(pod)
|
136
|
+
allow(pod).to receive(:status).and_return(status)
|
137
|
+
|
138
|
+
expect(gke.provision).to eq(nil)
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
describe ' #cleanup' do
|
143
|
+
before do
|
144
|
+
pass_through_initialization
|
145
|
+
end
|
146
|
+
|
147
|
+
context 'when no hosts given' do
|
148
|
+
let(:no_hosts_gke) { ::Beaker::Gke.new([], options) }
|
149
|
+
|
150
|
+
it 'does not raise any error' do
|
151
|
+
expect { no_hosts_gke.cleanup }.not_to raise_error
|
152
|
+
end
|
153
|
+
|
154
|
+
it 'logs no info' do
|
155
|
+
no_hosts_gke.cleanup
|
156
|
+
expect(logger).not_to have_received(:info)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
context 'when succeeds' do
|
161
|
+
before do
|
162
|
+
allow(gke).to receive(:delete_pod).and_return(nil)
|
163
|
+
allow(gke).to receive(:delete_service).and_return(nil)
|
164
|
+
end
|
165
|
+
|
166
|
+
it 'does not raise any error' do
|
167
|
+
expect { gke.cleanup }.not_to raise_error
|
168
|
+
end
|
169
|
+
|
170
|
+
it 'logs deleted pods' do
|
171
|
+
gke.cleanup
|
172
|
+
expect(logger).to have_received(:info).with(/Deleting POD with ID:/).exactly(hosts.size).times
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'beaker'
|
4
|
+
require 'simplecov'
|
5
|
+
require 'climate_control'
|
6
|
+
require 'fakefs/spec_helpers'
|
7
|
+
|
8
|
+
Dir.glob(Dir.pwd + '/lib/beaker/hypervisor/*.rb').sort { |file| require file }
|
9
|
+
|
10
|
+
# setup & require beaker's spec_helper.rb
|
11
|
+
beaker_gem_spec = Gem::Specification.find_by_name('beaker')
|
12
|
+
beaker_gem_dir = beaker_gem_spec.gem_dir
|
13
|
+
beaker_spec_path = File.join(beaker_gem_dir, 'spec')
|
14
|
+
$LOAD_PATH << beaker_spec_path
|
15
|
+
require File.join(beaker_spec_path, 'spec_helper.rb')
|
16
|
+
|
17
|
+
RSpec.configure do |config|
|
18
|
+
config.include TestFileHelpers
|
19
|
+
config.include HostHelpers
|
20
|
+
end
|
21
|
+
|
22
|
+
def with_modified_env(options, &block)
|
23
|
+
ClimateControl.modify(options, &block)
|
24
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,105 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker-gke
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Night's Watch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: climate_control
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: fakefs
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.2'
|
34
|
+
- - "<="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 1.2.3
|
37
|
+
type: :development
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.2'
|
44
|
+
- - "<="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 1.2.3
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '13.0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '13.0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rspec
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '3.0'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '3.0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rspec-its
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: simplecov
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
13
103
|
- !ruby/object:Gem::Dependency
|
14
104
|
name: googleauth
|
15
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -28,16 +118,22 @@ dependencies:
|
|
28
118
|
name: kubeclient
|
29
119
|
requirement: !ruby/object:Gem::Requirement
|
30
120
|
requirements:
|
31
|
-
- - "
|
121
|
+
- - ">="
|
32
122
|
- !ruby/object:Gem::Version
|
33
|
-
version: 4.4
|
123
|
+
version: '4.4'
|
124
|
+
- - "<"
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '4.10'
|
34
127
|
type: :runtime
|
35
128
|
prerelease: false
|
36
129
|
version_requirements: !ruby/object:Gem::Requirement
|
37
130
|
requirements:
|
38
|
-
- - "
|
131
|
+
- - ">="
|
39
132
|
- !ruby/object:Gem::Version
|
40
|
-
version: 4.4
|
133
|
+
version: '4.4'
|
134
|
+
- - "<"
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '4.10'
|
41
137
|
description: Add GKE support to Beaker acceptance testing tool
|
42
138
|
email:
|
43
139
|
- team-nw@puppet.com
|
@@ -46,11 +142,16 @@ executables:
|
|
46
142
|
extensions: []
|
47
143
|
extra_rdoc_files: []
|
48
144
|
files:
|
49
|
-
- ".
|
145
|
+
- ".github/dependabot.yml"
|
146
|
+
- ".gitignore"
|
147
|
+
- ".rspec"
|
148
|
+
- ".rubocop.yml"
|
149
|
+
- ".travis.yml"
|
50
150
|
- CODEOWNERS
|
51
151
|
- Gemfile
|
52
152
|
- LICENSE
|
53
153
|
- README.md
|
154
|
+
- Rakefile
|
54
155
|
- beaker-gke.gemspec
|
55
156
|
- bin/beaker-gke
|
56
157
|
- config/pod.yaml
|
@@ -59,6 +160,8 @@ files:
|
|
59
160
|
- lib/beaker-gke.rb
|
60
161
|
- lib/beaker-gke/version.rb
|
61
162
|
- lib/beaker/hypervisor/gke.rb
|
163
|
+
- spec/gke/hypervisor/gke_spec.rb
|
164
|
+
- spec/spec_helper.rb
|
62
165
|
homepage: https://github.com/puppetlabs/beaker-gke
|
63
166
|
licenses:
|
64
167
|
- Apache-2.0
|
@@ -69,17 +172,16 @@ require_paths:
|
|
69
172
|
- lib
|
70
173
|
required_ruby_version: !ruby/object:Gem::Requirement
|
71
174
|
requirements:
|
72
|
-
- - "
|
175
|
+
- - "~>"
|
73
176
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
177
|
+
version: '2.5'
|
75
178
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
179
|
requirements:
|
77
180
|
- - ">="
|
78
181
|
- !ruby/object:Gem::Version
|
79
182
|
version: '0'
|
80
183
|
requirements: []
|
81
|
-
|
82
|
-
rubygems_version: 2.5.1
|
184
|
+
rubygems_version: 3.0.9
|
83
185
|
signing_key:
|
84
186
|
specification_version: 4
|
85
187
|
summary: Beaker hypervisor for GKE!
|
data/.rubcop.yaml
DELETED