beaker-vcloud 0.2.0 → 1.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 -13
- data/.github/dependabot.yml +8 -0
- data/.github/workflows/release.yml +32 -0
- data/.github/workflows/test.yml +35 -0
- data/CHANGELOG.md +54 -0
- data/Gemfile +7 -3
- data/README.md +48 -10
- data/Rakefile +14 -11
- data/beaker-vcloud.gemspec +4 -14
- data/lib/beaker-vcloud/version.rb +1 -1
- data/lib/beaker/hypervisor/vcloud.rb +12 -9
- data/spec/beaker/hypervisor/vcloud_spec.rb +21 -5
- data/spec/spec_helper.rb +25 -4
- metadata +28 -109
checksums.yaml
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
|
|
5
|
-
data.tar.gz: !binary |-
|
|
6
|
-
NmU5Mzc0M2UwOWQ4ZDBiMTgwZThiMDhlMjZiN2I3NzUzMmE0NDcwZQ==
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 542915c3ebbc5457f6dbf4e8b8e78f79547c536b344470c35c6c1237cb3fb000
|
|
4
|
+
data.tar.gz: 7d0f178a90c5adc24bf813ffb33800825f6d652dbda16f87608ec7465c4810cf
|
|
7
5
|
SHA512:
|
|
8
|
-
metadata.gz:
|
|
9
|
-
|
|
10
|
-
ZTk2YmZlYzFkODdiOTkwYjQ1ODRlZTEyMjYyMzNmNzY3ZjNiOGZjNTk1NDZm
|
|
11
|
-
ZjY3OTUyOWU3YjEyZGQzOWJhYzg5YmEzZDBlYmM1NDg0ZjhjMmI=
|
|
12
|
-
data.tar.gz: !binary |-
|
|
13
|
-
OGZhNjE0N2Q5YWM4M2EwMDYxNjU0ZTc0OTk3OWY5ZGU3NWZhMTMyMTYyODhj
|
|
14
|
-
ZWE0OWYwODRjMGJlNjc4ZTdhOTQ2ZjI5NmQ4MjVhMjEyODExZTg0M2IzNWVj
|
|
15
|
-
NmE1MDA2YzgwZTZhZDgwZTFmMGFjMzdiZGMwOGZkNjc5NTQ1OWI=
|
|
6
|
+
metadata.gz: b1510d5f9fd01949062bc90d5fbd2e9b6ebf72039a2d23e45b82c190e8a72108e623af5fe12de1709b5e10b251fe3558978a47db82db5083e2bcd6df28432110
|
|
7
|
+
data.tar.gz: f3169acda5c87ae11ef68ebff098f1b9773795cf5bc49ea9b2bb4fb8940e4e1f963d4d0cecdfb692172f8dc1324b59fe509194264e007b2d08b3bf96851ab305
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- '*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
release:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
if: github.repository_owner == 'voxpupuli'
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v2
|
|
14
|
+
- name: Install Ruby 3.0
|
|
15
|
+
uses: ruby/setup-ruby@v1
|
|
16
|
+
with:
|
|
17
|
+
ruby-version: '3.0'
|
|
18
|
+
env:
|
|
19
|
+
BUNDLE_WITHOUT: release
|
|
20
|
+
- name: Build gem
|
|
21
|
+
run: gem build *.gemspec
|
|
22
|
+
- name: Publish gem to rubygems.org
|
|
23
|
+
run: gem push *.gem
|
|
24
|
+
env:
|
|
25
|
+
GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
|
|
26
|
+
- name: Setup GitHub packages access
|
|
27
|
+
run: |
|
|
28
|
+
mkdir -p ~/.gem
|
|
29
|
+
echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
|
|
30
|
+
chmod 0600 ~/.gem/credentials
|
|
31
|
+
- name: Publish gem to GitHub packages
|
|
32
|
+
run: gem push --key github --host https://rubygems.pkg.github.com/voxpupuli *.gem
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
- pull_request
|
|
5
|
+
- push
|
|
6
|
+
|
|
7
|
+
env:
|
|
8
|
+
BUNDLE_WITHOUT: release
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
test:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
strategy:
|
|
14
|
+
fail-fast: false
|
|
15
|
+
matrix:
|
|
16
|
+
include:
|
|
17
|
+
- ruby: "2.4"
|
|
18
|
+
- ruby: "2.5"
|
|
19
|
+
- ruby: "2.6"
|
|
20
|
+
- ruby: "2.7"
|
|
21
|
+
- ruby: "3.0"
|
|
22
|
+
coverage: "yes"
|
|
23
|
+
env:
|
|
24
|
+
COVERAGE: ${{ matrix.coverage }}
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v2
|
|
27
|
+
- name: Install Ruby ${{ matrix.ruby }}
|
|
28
|
+
uses: ruby/setup-ruby@v1
|
|
29
|
+
with:
|
|
30
|
+
ruby-version: ${{ matrix.ruby }}
|
|
31
|
+
bundler-cache: true
|
|
32
|
+
- name: Run tests
|
|
33
|
+
run: bundle exec rake
|
|
34
|
+
- name: Build gem
|
|
35
|
+
run: gem build *.gemspec
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [1.1.0](https://github.com/voxpupuli/beaker-vcloud/tree/1.1.0) (2021-08-09)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-vcloud/compare/1.0.0...1.1.0)
|
|
6
|
+
|
|
7
|
+
**Merged pull requests:**
|
|
8
|
+
|
|
9
|
+
- Add GitHub actions, Update README.md after migration [\#8](https://github.com/voxpupuli/beaker-vcloud/pull/8) ([bastelfreak](https://github.com/bastelfreak))
|
|
10
|
+
|
|
11
|
+
## [1.0.0](https://github.com/voxpupuli/beaker-vcloud/tree/1.0.0) (2018-08-06)
|
|
12
|
+
|
|
13
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-vcloud/compare/0.4.0...1.0.0)
|
|
14
|
+
|
|
15
|
+
**Merged pull requests:**
|
|
16
|
+
|
|
17
|
+
- \(BKR-1509\) Removes vcloud legacy fallback to vmpooler [\#7](https://github.com/voxpupuli/beaker-vcloud/pull/7) ([Dakta](https://github.com/Dakta))
|
|
18
|
+
|
|
19
|
+
## [0.4.0](https://github.com/voxpupuli/beaker-vcloud/tree/0.4.0) (2018-08-03)
|
|
20
|
+
|
|
21
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-vcloud/compare/0.3.0...0.4.0)
|
|
22
|
+
|
|
23
|
+
**Merged pull requests:**
|
|
24
|
+
|
|
25
|
+
- \(BKR-1507\) Specify vcenter\_instance for init [\#6](https://github.com/voxpupuli/beaker-vcloud/pull/6) ([jcoconnor](https://github.com/jcoconnor))
|
|
26
|
+
|
|
27
|
+
## [0.3.0](https://github.com/voxpupuli/beaker-vcloud/tree/0.3.0) (2018-06-27)
|
|
28
|
+
|
|
29
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-vcloud/compare/0.2.0...0.3.0)
|
|
30
|
+
|
|
31
|
+
**Merged pull requests:**
|
|
32
|
+
|
|
33
|
+
- \(BKR-1094\) Deprecate vcloud's silent fallback to vmpooler [\#5](https://github.com/voxpupuli/beaker-vcloud/pull/5) ([Dakta](https://github.com/Dakta))
|
|
34
|
+
|
|
35
|
+
## [0.2.0](https://github.com/voxpupuli/beaker-vcloud/tree/0.2.0) (2017-10-24)
|
|
36
|
+
|
|
37
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-vcloud/compare/0.1.0...0.2.0)
|
|
38
|
+
|
|
39
|
+
**Merged pull requests:**
|
|
40
|
+
|
|
41
|
+
- \(BKR-1217\) suppress enable\_root on cygwin SUTs [\#4](https://github.com/voxpupuli/beaker-vcloud/pull/4) ([kevpl](https://github.com/kevpl))
|
|
42
|
+
- \(BKR-1216\) Add beaker-vmware to vcloud [\#2](https://github.com/voxpupuli/beaker-vcloud/pull/2) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
43
|
+
|
|
44
|
+
## [0.1.0](https://github.com/voxpupuli/beaker-vcloud/tree/0.1.0) (2017-08-09)
|
|
45
|
+
|
|
46
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-vcloud/compare/df44e4b13e3ede1d832623b54fe4acb8278543dd...0.1.0)
|
|
47
|
+
|
|
48
|
+
**Merged pull requests:**
|
|
49
|
+
|
|
50
|
+
- \(MAINT\) Add README for beaker-vcloud repo [\#1](https://github.com/voxpupuli/beaker-vcloud/pull/1) ([rishijavia](https://github.com/rishijavia))
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/Gemfile
CHANGED
|
@@ -16,10 +16,14 @@ end
|
|
|
16
16
|
# We don't put beaker in as a test dependency because we
|
|
17
17
|
# don't want to create a transitive dependency
|
|
18
18
|
group :acceptance_testing do
|
|
19
|
-
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '
|
|
19
|
+
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '>= 3.0')
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
+
group :release do
|
|
23
|
+
gem 'github_changelog_generator', require: false
|
|
24
|
+
end
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
group :coverage, optional: ENV['COVERAGE']!='yes' do
|
|
27
|
+
gem 'simplecov-console', :require => false
|
|
28
|
+
gem 'codecov', :require => false
|
|
25
29
|
end
|
data/README.md
CHANGED
|
@@ -1,22 +1,60 @@
|
|
|
1
1
|
# beaker-vcloud
|
|
2
2
|
|
|
3
|
+
[](https://github.com/voxpupuli/beaker-vcloud/blob/master/LICENSE)
|
|
4
|
+
[](https://github.com/voxpupuli/beaker-vcloud/actions/workflows/test.yml)
|
|
5
|
+
[](https://codecov.io/gh/voxpupuli/beaker-vcloud)
|
|
6
|
+
[](https://github.com/voxpupuli/beaker-vcloud/actions/workflows/release.yml)
|
|
7
|
+
[](https://rubygems.org/gems/beaker-vcloud)
|
|
8
|
+
[](https://rubygems.org/gems/beaker-vcloud)
|
|
9
|
+
[](#transfer-notice)
|
|
10
|
+
|
|
3
11
|
Beaker library to use vcloud hypervisor
|
|
4
12
|
|
|
13
|
+
# Legacy VMPooler Fallback
|
|
14
|
+
|
|
15
|
+
In previous versions of this hypervisor, a shim was added to ease internal transition to a new hypervisor called vmpooler. This shim would automatically and silently promote hosts with `hypervisor: vcloud` to use the beaker-vmpooler hypervisor if certain conditions were met: the hosts file contained a `CONFIG[:pooling_api]` and not the otherwise required `:datacenter`. This fallback behavior is no longer supported; if applicable, you will see a warning message with upgrade instructions.
|
|
16
|
+
|
|
5
17
|
# How to use this wizardry
|
|
6
18
|
|
|
7
|
-
This is a gem that allows you to use hosts of vcloud hypervisor with [beaker](https://github.com/puppetlabs/beaker).
|
|
19
|
+
This is a gem that allows you to use hosts of vcloud hypervisor with [beaker](https://github.com/puppetlabs/beaker).
|
|
20
|
+
|
|
21
|
+
Beaker will automatically load the appropriate hypervisors for any given hosts file, so as long as your project dependencies are satisfied there's nothing else to do. No need to `require` this library in your tests.
|
|
22
|
+
|
|
23
|
+
## With Beaker 3.x
|
|
24
|
+
|
|
25
|
+
This library is included as a dependency of Beaker 3.x versions, so there's nothing to do.
|
|
26
|
+
|
|
27
|
+
## With Beaker 4.x
|
|
28
|
+
|
|
29
|
+
As of Beaker 4.0, all hypervisor and DSL extension libraries have been removed and are no longer dependencies. In order to use a specific hypervisor or DSL extension library in your project, you will need to include them alongside Beaker in your Gemfile or project.gemspec. E.g.
|
|
30
|
+
|
|
31
|
+
~~~ruby
|
|
32
|
+
# Gemfile
|
|
33
|
+
gem 'beaker', '~>4.0'
|
|
34
|
+
gem 'beaker-vcloud'
|
|
35
|
+
# project.gemspec
|
|
36
|
+
s.add_runtime_dependency 'beaker', '~>4.0'
|
|
37
|
+
s.add_runtime_dependency 'beaker-vcloud'
|
|
38
|
+
~~~
|
|
39
|
+
|
|
40
|
+
## Transfer Notice
|
|
8
41
|
|
|
9
|
-
|
|
42
|
+
This plugin was originally authored by [Puppet Inc](http://puppet.com).
|
|
43
|
+
The maintainer preferred that Vox Pupuli take ownership of the module for future improvement and maintenance.
|
|
44
|
+
Existing pull requests and issues were transferred over, please fork and continue to contribute at https://github.com/voxpupuli/beaker-vcloud
|
|
10
45
|
|
|
11
|
-
|
|
46
|
+
Previously: https://github.com/puppetlabs/beaker-vcloud
|
|
12
47
|
|
|
13
|
-
|
|
48
|
+
## License
|
|
14
49
|
|
|
15
|
-
|
|
16
|
-
from that repo. When that happens, then the usage pattern will change. In order
|
|
17
|
-
to use this then, you'll need to include beaker-vcloud as a dependency right
|
|
18
|
-
next to beaker itself.
|
|
50
|
+
This gem is licensed under the Apache-2 license.
|
|
19
51
|
|
|
20
|
-
|
|
52
|
+
## Release information
|
|
21
53
|
|
|
22
|
-
|
|
54
|
+
To make a new release, please do:
|
|
55
|
+
* update the version in lib/beaker-vcloud/version.rb
|
|
56
|
+
* Install gems with `bundle install --with release --path .vendor`
|
|
57
|
+
* generate the changelog with `bundle exec rake changelog`
|
|
58
|
+
* Check if the new version matches the closed issues/PRs in the changelog
|
|
59
|
+
* Create a PR with it
|
|
60
|
+
* After it got merged, push a tag. GitHub actions will do the actual release to rubygems and GitHub Packages
|
data/Rakefile
CHANGED
|
@@ -1,24 +1,13 @@
|
|
|
1
1
|
require 'rspec/core/rake_task'
|
|
2
2
|
|
|
3
3
|
namespace :test do
|
|
4
|
-
|
|
5
4
|
namespace :spec do
|
|
6
|
-
|
|
7
5
|
desc "Run spec tests"
|
|
8
6
|
RSpec::Core::RakeTask.new(:run) do |t|
|
|
9
7
|
t.rspec_opts = ['--color']
|
|
10
8
|
t.pattern = 'spec/'
|
|
11
9
|
end
|
|
12
|
-
|
|
13
|
-
desc "Run spec tests with coverage"
|
|
14
|
-
RSpec::Core::RakeTask.new(:coverage) do |t|
|
|
15
|
-
ENV['BEAKER_VCLOUD_COVERAGE'] = 'y'
|
|
16
|
-
t.rspec_opts = ['--color']
|
|
17
|
-
t.pattern = 'spec/'
|
|
18
|
-
end
|
|
19
|
-
|
|
20
10
|
end
|
|
21
|
-
|
|
22
11
|
end
|
|
23
12
|
|
|
24
13
|
# namespace-named default tasks.
|
|
@@ -135,3 +124,17 @@ namespace :docs do
|
|
|
135
124
|
end
|
|
136
125
|
end
|
|
137
126
|
end
|
|
127
|
+
|
|
128
|
+
begin
|
|
129
|
+
require 'rubygems'
|
|
130
|
+
require 'github_changelog_generator/task'
|
|
131
|
+
rescue LoadError # rubocop:disable Lint/HandleExceptions
|
|
132
|
+
else
|
|
133
|
+
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
|
134
|
+
config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog]
|
|
135
|
+
config.user = 'voxpupuli'
|
|
136
|
+
config.project = 'beaker-vcloud'
|
|
137
|
+
gem_version = Gem::Specification.load("#{config.project}.gemspec").version
|
|
138
|
+
config.future_release = gem_version
|
|
139
|
+
end
|
|
140
|
+
end
|
data/beaker-vcloud.gemspec
CHANGED
|
@@ -5,9 +5,9 @@ require 'beaker-vcloud/version'
|
|
|
5
5
|
Gem::Specification.new do |s|
|
|
6
6
|
s.name = "beaker-vcloud"
|
|
7
7
|
s.version = BeakerVcloud::VERSION
|
|
8
|
-
s.authors = ["
|
|
9
|
-
s.email = ["
|
|
10
|
-
s.homepage = "https://github.com/
|
|
8
|
+
s.authors = ["Vox Pupuli"]
|
|
9
|
+
s.email = ["voxpupuli@groups.io"]
|
|
10
|
+
s.homepage = "https://github.com/voxpupuli/beaker-vcloud"
|
|
11
11
|
s.summary = %q{Beaker DSL Extension Helpers!}
|
|
12
12
|
s.description = %q{For use for the Beaker acceptance testing tool}
|
|
13
13
|
s.license = 'Apache2'
|
|
@@ -21,20 +21,10 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
s.add_development_dependency 'rspec', '~> 3.0'
|
|
22
22
|
s.add_development_dependency 'rspec-its'
|
|
23
23
|
s.add_development_dependency 'fakefs', '~> 0.6'
|
|
24
|
-
s.add_development_dependency 'rake'
|
|
25
|
-
s.add_development_dependency 'simplecov'
|
|
26
|
-
s.add_development_dependency 'pry', '~> 0.10'
|
|
27
|
-
|
|
28
|
-
# Documentation dependencies
|
|
29
|
-
s.add_development_dependency 'yard'
|
|
30
|
-
s.add_development_dependency 'markdown'
|
|
31
|
-
s.add_development_dependency 'thin'
|
|
24
|
+
s.add_development_dependency 'rake'
|
|
32
25
|
|
|
33
26
|
# Run time dependencies
|
|
34
27
|
s.add_runtime_dependency 'stringify-hash', '~> 0.0.0'
|
|
35
28
|
s.add_runtime_dependency 'rbvmomi', '~> 1.9'
|
|
36
|
-
s.add_runtime_dependency 'beaker-vmpooler'
|
|
37
29
|
s.add_runtime_dependency 'beaker-vmware'
|
|
38
|
-
|
|
39
30
|
end
|
|
40
|
-
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
require 'yaml' unless defined?(YAML)
|
|
2
|
-
require 'beaker/hypervisor/vmpooler'
|
|
3
2
|
require 'beaker/hypervisor/vsphere_helper'
|
|
4
3
|
require 'rbvmomi'
|
|
5
4
|
|
|
@@ -7,11 +6,13 @@ module Beaker
|
|
|
7
6
|
class Vcloud < Beaker::Hypervisor
|
|
8
7
|
|
|
9
8
|
def self.new(vcloud_hosts, options)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
# Warning for pre-vmpooler style hosts configuration. TODO: remove this eventually.
|
|
10
|
+
if options['pooling_api'] && !options['datacenter']
|
|
11
|
+
options[:logger].warn "It looks like you may be trying to access vmpooler with `hypervisor: vcloud`. "\
|
|
12
|
+
"This functionality has been removed. Change your hosts to `hypervisor: vmpooler` "\
|
|
13
|
+
"and remove unused :datacenter, :folder, and :datastore from CONFIG."
|
|
14
14
|
end
|
|
15
|
+
super
|
|
15
16
|
end
|
|
16
17
|
|
|
17
18
|
def initialize(vcloud_hosts, options)
|
|
@@ -22,14 +23,16 @@ module Beaker
|
|
|
22
23
|
raise 'You must specify a datastore for vCloud instances!' unless @options['datastore']
|
|
23
24
|
raise 'You must specify a folder for vCloud instances!' unless @options['folder']
|
|
24
25
|
raise 'You must specify a datacenter for vCloud instances!' unless @options['datacenter']
|
|
25
|
-
@
|
|
26
|
+
@vcenter_credentials = get_fog_credentials(@options[:dot_fog], @options[:vcenter_instance] || :default)
|
|
26
27
|
end
|
|
27
28
|
|
|
28
29
|
def connect_to_vsphere
|
|
29
|
-
@logger.notify "Connecting to vSphere at #{@
|
|
30
|
-
" with credentials for #{@
|
|
30
|
+
@logger.notify "Connecting to vSphere at #{@vcenter_credentials[:vsphere_server]}" +
|
|
31
|
+
" with credentials for #{@vcenter_credentials[:vsphere_username]}"
|
|
31
32
|
|
|
32
|
-
@vsphere_helper = VsphereHelper.new
|
|
33
|
+
@vsphere_helper = VsphereHelper.new :server => @vcenter_credentials[:vsphere_server],
|
|
34
|
+
:user => @vcenter_credentials[:vsphere_username],
|
|
35
|
+
:pass => @vcenter_credentials[:vsphere_password]
|
|
33
36
|
end
|
|
34
37
|
|
|
35
38
|
def wait_for_dns_resolution host, try, attempts
|
|
@@ -6,23 +6,39 @@ module Beaker
|
|
|
6
6
|
before :each do
|
|
7
7
|
MockVsphereHelper.set_config( fog_file_contents )
|
|
8
8
|
MockVsphereHelper.set_vms( make_hosts() )
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
stub_const( "VsphereHelper", MockVsphereHelper )
|
|
10
|
+
stub_const( "Net", MockNet )
|
|
11
11
|
json = double( 'json' )
|
|
12
12
|
allow( json ).to receive( :parse ) do |arg|
|
|
13
13
|
arg
|
|
14
14
|
end
|
|
15
|
-
|
|
15
|
+
stub_const( "JSON", json )
|
|
16
16
|
allow( Socket ).to receive( :getaddrinfo ).and_return( true )
|
|
17
|
+
allow_any_instance_of( Beaker::Shared ).to receive( :get_fog_credentials ).and_return( fog_file_contents )
|
|
18
|
+
allow_any_instance_of( VsphereHelper ).to receive( :new ).and_return (MockVsphereHelper)
|
|
17
19
|
end
|
|
18
20
|
|
|
19
21
|
describe "#provision" do
|
|
20
22
|
|
|
21
|
-
it '
|
|
23
|
+
it 'warns about deprecated behavior if pooling_api is provided' do
|
|
22
24
|
opts = make_opts
|
|
23
25
|
opts[:pooling_api] = 'testpool'
|
|
26
|
+
expect( opts[:logger] ).to receive( :warn ).once
|
|
27
|
+
expect{ Beaker::Vcloud.new( make_hosts, opts ) }.to raise_error( /datacenter/ )
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'does not instantiate vmpooler if pooling_api is provided' do
|
|
31
|
+
opts = make_opts
|
|
32
|
+
opts[:pooling_api] = 'testpool'
|
|
33
|
+
expect{ Beaker::Vcloud.new( make_hosts, opts ) }.to raise_error( /datacenter/ )
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it 'ignores pooling_api and instantiates self' do
|
|
37
|
+
opts = make_opts
|
|
38
|
+
opts[:pooling_api] = 'testpool'
|
|
39
|
+
opts[:datacenter] = 'testdatacenter'
|
|
24
40
|
hypervisor = Beaker::Vcloud.new( make_hosts, opts)
|
|
25
|
-
expect( hypervisor.class ).to be Beaker::
|
|
41
|
+
expect( hypervisor.class ).to be Beaker::Vcloud
|
|
26
42
|
end
|
|
27
43
|
|
|
28
44
|
it 'provisions hosts and add them to the pool' do
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
begin
|
|
2
|
+
require 'simplecov'
|
|
3
|
+
require 'simplecov-console'
|
|
4
|
+
require 'codecov'
|
|
5
|
+
rescue LoadError
|
|
6
|
+
else
|
|
7
|
+
SimpleCov.start do
|
|
8
|
+
track_files 'lib/**/*.rb'
|
|
9
|
+
|
|
10
|
+
add_filter '/spec'
|
|
11
|
+
|
|
12
|
+
enable_coverage :branch
|
|
13
|
+
|
|
14
|
+
# do not track vendored files
|
|
15
|
+
add_filter '/vendor'
|
|
16
|
+
add_filter '/.vendor'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
SimpleCov.formatters = [
|
|
20
|
+
SimpleCov::Formatter::Console,
|
|
21
|
+
SimpleCov::Formatter::Codecov,
|
|
22
|
+
]
|
|
23
|
+
end
|
|
24
|
+
|
|
2
25
|
require 'rspec/its'
|
|
3
26
|
require 'beaker'
|
|
4
|
-
require 'beaker/hypervisor/
|
|
5
|
-
|
|
6
|
-
Dir.glob(Dir.pwd + '/lib/beaker/hypervisor/*.rb') {|file| require file}
|
|
27
|
+
require 'beaker/hypervisor/vcloud'
|
|
7
28
|
|
|
8
29
|
# setup & require beaker's spec_helper.rb
|
|
9
30
|
beaker_gem_spec = Gem::Specification.find_by_name('beaker')
|
metadata
CHANGED
|
@@ -1,207 +1,127 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: beaker-vcloud
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
7
|
+
- Vox Pupuli
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-08-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - ~>
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '3.0'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - ~>
|
|
24
|
+
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '3.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rspec-its
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- -
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: '0'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- -
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: fakefs
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - ~>
|
|
45
|
+
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
47
|
version: '0.6'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - ~>
|
|
52
|
+
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0.6'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rake
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- -
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '10.1'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ~>
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '10.1'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: simplecov
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - ! '>='
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - ! '>='
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: pry
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - ~>
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0.10'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - ~>
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0.10'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: yard
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - ! '>='
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - ! '>='
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: markdown
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ! '>='
|
|
59
|
+
- - ">="
|
|
116
60
|
- !ruby/object:Gem::Version
|
|
117
61
|
version: '0'
|
|
118
62
|
type: :development
|
|
119
63
|
prerelease: false
|
|
120
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
65
|
requirements:
|
|
122
|
-
- -
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
125
|
-
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: thin
|
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
|
128
|
-
requirements:
|
|
129
|
-
- - ! '>='
|
|
130
|
-
- !ruby/object:Gem::Version
|
|
131
|
-
version: '0'
|
|
132
|
-
type: :development
|
|
133
|
-
prerelease: false
|
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
-
requirements:
|
|
136
|
-
- - ! '>='
|
|
66
|
+
- - ">="
|
|
137
67
|
- !ruby/object:Gem::Version
|
|
138
68
|
version: '0'
|
|
139
69
|
- !ruby/object:Gem::Dependency
|
|
140
70
|
name: stringify-hash
|
|
141
71
|
requirement: !ruby/object:Gem::Requirement
|
|
142
72
|
requirements:
|
|
143
|
-
- - ~>
|
|
73
|
+
- - "~>"
|
|
144
74
|
- !ruby/object:Gem::Version
|
|
145
75
|
version: 0.0.0
|
|
146
76
|
type: :runtime
|
|
147
77
|
prerelease: false
|
|
148
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
79
|
requirements:
|
|
150
|
-
- - ~>
|
|
80
|
+
- - "~>"
|
|
151
81
|
- !ruby/object:Gem::Version
|
|
152
82
|
version: 0.0.0
|
|
153
83
|
- !ruby/object:Gem::Dependency
|
|
154
84
|
name: rbvmomi
|
|
155
85
|
requirement: !ruby/object:Gem::Requirement
|
|
156
86
|
requirements:
|
|
157
|
-
- - ~>
|
|
87
|
+
- - "~>"
|
|
158
88
|
- !ruby/object:Gem::Version
|
|
159
89
|
version: '1.9'
|
|
160
90
|
type: :runtime
|
|
161
91
|
prerelease: false
|
|
162
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
93
|
requirements:
|
|
164
|
-
- - ~>
|
|
94
|
+
- - "~>"
|
|
165
95
|
- !ruby/object:Gem::Version
|
|
166
96
|
version: '1.9'
|
|
167
|
-
- !ruby/object:Gem::Dependency
|
|
168
|
-
name: beaker-vmpooler
|
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
|
170
|
-
requirements:
|
|
171
|
-
- - ! '>='
|
|
172
|
-
- !ruby/object:Gem::Version
|
|
173
|
-
version: '0'
|
|
174
|
-
type: :runtime
|
|
175
|
-
prerelease: false
|
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
-
requirements:
|
|
178
|
-
- - ! '>='
|
|
179
|
-
- !ruby/object:Gem::Version
|
|
180
|
-
version: '0'
|
|
181
97
|
- !ruby/object:Gem::Dependency
|
|
182
98
|
name: beaker-vmware
|
|
183
99
|
requirement: !ruby/object:Gem::Requirement
|
|
184
100
|
requirements:
|
|
185
|
-
- -
|
|
101
|
+
- - ">="
|
|
186
102
|
- !ruby/object:Gem::Version
|
|
187
103
|
version: '0'
|
|
188
104
|
type: :runtime
|
|
189
105
|
prerelease: false
|
|
190
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
107
|
requirements:
|
|
192
|
-
- -
|
|
108
|
+
- - ">="
|
|
193
109
|
- !ruby/object:Gem::Version
|
|
194
110
|
version: '0'
|
|
195
111
|
description: For use for the Beaker acceptance testing tool
|
|
196
112
|
email:
|
|
197
|
-
-
|
|
113
|
+
- voxpupuli@groups.io
|
|
198
114
|
executables:
|
|
199
115
|
- beaker-vcloud
|
|
200
116
|
extensions: []
|
|
201
117
|
extra_rdoc_files: []
|
|
202
118
|
files:
|
|
203
|
-
- .
|
|
204
|
-
- .
|
|
119
|
+
- ".github/dependabot.yml"
|
|
120
|
+
- ".github/workflows/release.yml"
|
|
121
|
+
- ".github/workflows/test.yml"
|
|
122
|
+
- ".gitignore"
|
|
123
|
+
- ".simplecov"
|
|
124
|
+
- CHANGELOG.md
|
|
205
125
|
- Gemfile
|
|
206
126
|
- LICENSE
|
|
207
127
|
- README.md
|
|
@@ -212,7 +132,7 @@ files:
|
|
|
212
132
|
- lib/beaker/hypervisor/vcloud.rb
|
|
213
133
|
- spec/beaker/hypervisor/vcloud_spec.rb
|
|
214
134
|
- spec/spec_helper.rb
|
|
215
|
-
homepage: https://github.com/
|
|
135
|
+
homepage: https://github.com/voxpupuli/beaker-vcloud
|
|
216
136
|
licenses:
|
|
217
137
|
- Apache2
|
|
218
138
|
metadata: {}
|
|
@@ -222,17 +142,16 @@ require_paths:
|
|
|
222
142
|
- lib
|
|
223
143
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
224
144
|
requirements:
|
|
225
|
-
- -
|
|
145
|
+
- - ">="
|
|
226
146
|
- !ruby/object:Gem::Version
|
|
227
147
|
version: '0'
|
|
228
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
229
149
|
requirements:
|
|
230
|
-
- -
|
|
150
|
+
- - ">="
|
|
231
151
|
- !ruby/object:Gem::Version
|
|
232
152
|
version: '0'
|
|
233
153
|
requirements: []
|
|
234
|
-
|
|
235
|
-
rubygems_version: 2.4.6
|
|
154
|
+
rubygems_version: 3.2.22
|
|
236
155
|
signing_key:
|
|
237
156
|
specification_version: 4
|
|
238
157
|
summary: Beaker DSL Extension Helpers!
|