vagrant-linode 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.rspec +4 -0
- data/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +164 -0
- data/Gemfile +9 -6
- data/README.md +21 -9
- data/Rakefile +21 -1
- data/Vagrantfile.multi +18 -0
- data/box/linode-debian-7.5.box +0 -0
- data/box/linode.box +0 -0
- data/box/metadata-debian-7.5.json +12 -0
- data/box/metadata.json +2 -2
- data/features/provision.feature +34 -0
- data/features/steps/sdk_steps.rb +13 -0
- data/features/steps/server_steps.rb +25 -0
- data/features/support/env.rb +34 -0
- data/features/support/fog_mock.rb +16 -0
- data/features/vagrant-linode.feature +68 -0
- data/lib/vagrant-linode.rb +44 -5
- data/lib/vagrant-linode/actions.rb +201 -87
- data/lib/vagrant-linode/actions/connect_linode.rb +36 -0
- data/lib/vagrant-linode/actions/create.rb +9 -9
- data/lib/vagrant-linode/actions/create_image.rb +23 -0
- data/lib/vagrant-linode/actions/destroy.rb +1 -3
- data/lib/vagrant-linode/actions/halt.rb +29 -0
- data/lib/vagrant-linode/actions/is_created.rb +16 -0
- data/lib/vagrant-linode/actions/is_stopped.rb +17 -0
- data/lib/vagrant-linode/actions/list_datacenters.rb +20 -0
- data/lib/vagrant-linode/actions/list_distributions.rb +20 -0
- data/lib/vagrant-linode/actions/list_images.rb +20 -0
- data/lib/vagrant-linode/actions/list_plans.rb +20 -0
- data/lib/vagrant-linode/actions/list_servers.rb +20 -0
- data/lib/vagrant-linode/actions/message_already_active.rb +16 -0
- data/lib/vagrant-linode/actions/message_already_off.rb +16 -0
- data/lib/vagrant-linode/actions/message_not_created.rb +16 -0
- data/lib/vagrant-linode/actions/message_off.rb +16 -0
- data/lib/vagrant-linode/actions/power_off.rb +4 -3
- data/lib/vagrant-linode/actions/power_on.rb +3 -2
- data/lib/vagrant-linode/actions/read_ssh_info.rb +48 -0
- data/lib/vagrant-linode/actions/read_state.rb +38 -0
- data/lib/vagrant-linode/actions/rebuild.rb +3 -2
- data/lib/vagrant-linode/actions/reload.rb +3 -2
- data/lib/vagrant-linode/commands/create_image.rb +21 -0
- data/lib/vagrant-linode/commands/datacenters.rb +21 -0
- data/lib/vagrant-linode/commands/distributions.rb +21 -0
- data/lib/vagrant-linode/commands/images.rb +59 -0
- data/lib/vagrant-linode/commands/list_images.rb +21 -0
- data/lib/vagrant-linode/commands/networks.rb +21 -0
- data/lib/vagrant-linode/commands/plans.rb +21 -0
- data/lib/vagrant-linode/commands/root.rb +81 -0
- data/lib/vagrant-linode/commands/servers.rb +21 -0
- data/lib/vagrant-linode/config.rb +11 -3
- data/lib/vagrant-linode/helpers/client.rb +21 -79
- data/lib/vagrant-linode/helpers/waiter.rb +21 -0
- data/lib/vagrant-linode/plugin.rb +20 -0
- data/lib/vagrant-linode/provider.rb +27 -32
- data/lib/vagrant-linode/version.rb +1 -1
- data/locales/en.yml +17 -1
- data/spec/spec_helper.rb +20 -0
- data/spec/vagrant-linode/actions/list_distributions_spec.rb +47 -0
- data/spec/vagrant-linode/actions/list_plans_spec.rb +47 -0
- data/spec/vagrant-linode/config_spec.rb +189 -0
- data/test/Vagrantfile +4 -9
- data/vagrant-linode.gemspec +1 -1
- metadata +70 -20
- data/lib/vagrant-linode/actions/check_state.rb +0 -19
- data/lib/vagrant-linode/actions/setup_key.rb +0 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c0b56e45b965f16f865dbd480b823f1c568eca1
|
4
|
+
data.tar.gz: cb62e7ce8e9482621d273e3f28e9b76678b2c365
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac6a357b79d595d347ecf7a022f220b38ea9b4e9a5f9fadf219fa31a959c7899b33c6e0c8b06c988345dbefad8247ae6ac6f3ec15f9d2f68ad556421a0360001
|
7
|
+
data.tar.gz: 69ef3bddf8194c4369d533e7c05ae74feaa207f251f4390e108933bafd6100831b357253c420834e542a023cd0a4964fb5b34402590fe76338a129a5f25c7dc5
|
data/.gitignore
CHANGED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
# This configuration was generated by `rubocop --auto-gen-config`
|
2
|
+
# on 2014-12-02 23:23:38 -0500 using RuboCop version 0.27.1.
|
3
|
+
# The point is for the user to remove these configuration records
|
4
|
+
# one by one as the offenses are removed from the code base.
|
5
|
+
# Note that changes in the inspected code, or installation of new
|
6
|
+
# versions of RuboCop, may require this file to be generated again.
|
7
|
+
|
8
|
+
# Offense count: 1
|
9
|
+
# Configuration parameters: AlignWith, SupportedStyles.
|
10
|
+
Lint/EndAlignment:
|
11
|
+
Enabled: false
|
12
|
+
|
13
|
+
# Offense count: 12
|
14
|
+
Lint/ParenthesesAsGroupedExpression:
|
15
|
+
Enabled: false
|
16
|
+
|
17
|
+
# Offense count: 3
|
18
|
+
Lint/ShadowingOuterLocalVariable:
|
19
|
+
Enabled: false
|
20
|
+
|
21
|
+
# Offense count: 1
|
22
|
+
Lint/UnderscorePrefixedVariableName:
|
23
|
+
Enabled: false
|
24
|
+
|
25
|
+
# Offense count: 1
|
26
|
+
Lint/UnreachableCode:
|
27
|
+
Enabled: false
|
28
|
+
|
29
|
+
# Offense count: 14
|
30
|
+
Lint/UselessAssignment:
|
31
|
+
Enabled: false
|
32
|
+
|
33
|
+
# Offense count: 18
|
34
|
+
Metrics/AbcSize:
|
35
|
+
Max: 200
|
36
|
+
|
37
|
+
# Offense count: 1
|
38
|
+
# Configuration parameters: CountComments.
|
39
|
+
Metrics/ClassLength:
|
40
|
+
Max: 139
|
41
|
+
|
42
|
+
# Offense count: 4
|
43
|
+
Metrics/CyclomaticComplexity:
|
44
|
+
Max: 27
|
45
|
+
|
46
|
+
# Offense count: 66
|
47
|
+
# Configuration parameters: AllowURI, URISchemes.
|
48
|
+
Metrics/LineLength:
|
49
|
+
Max: 138
|
50
|
+
|
51
|
+
# Offense count: 26
|
52
|
+
# Configuration parameters: CountComments.
|
53
|
+
Metrics/MethodLength:
|
54
|
+
Max: 120
|
55
|
+
|
56
|
+
# Offense count: 4
|
57
|
+
Metrics/PerceivedComplexity:
|
58
|
+
Max: 33
|
59
|
+
|
60
|
+
# Offense count: 1
|
61
|
+
Style/AccessorMethodName:
|
62
|
+
Enabled: false
|
63
|
+
|
64
|
+
# Offense count: 2
|
65
|
+
# Configuration parameters: Keywords.
|
66
|
+
Style/CommentAnnotation:
|
67
|
+
Enabled: false
|
68
|
+
|
69
|
+
# Offense count: 51
|
70
|
+
Style/Documentation:
|
71
|
+
Enabled: false
|
72
|
+
|
73
|
+
# Offense count: 1
|
74
|
+
# Cop supports --auto-correct.
|
75
|
+
Style/ElseAlignment:
|
76
|
+
Enabled: false
|
77
|
+
|
78
|
+
# Offense count: 1
|
79
|
+
# Configuration parameters: Exclude.
|
80
|
+
Style/FileName:
|
81
|
+
Enabled: false
|
82
|
+
|
83
|
+
# Offense count: 16
|
84
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
85
|
+
Style/FormatString:
|
86
|
+
Enabled: false
|
87
|
+
|
88
|
+
# Offense count: 1
|
89
|
+
# Configuration parameters: MinBodyLength.
|
90
|
+
Style/GuardClause:
|
91
|
+
Enabled: false
|
92
|
+
|
93
|
+
# Offense count: 4
|
94
|
+
# Cop supports --auto-correct.
|
95
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
96
|
+
Style/HashSyntax:
|
97
|
+
Enabled: false
|
98
|
+
|
99
|
+
# Offense count: 2
|
100
|
+
# Configuration parameters: MaxLineLength.
|
101
|
+
Style/IfUnlessModifier:
|
102
|
+
Enabled: false
|
103
|
+
|
104
|
+
# Offense count: 42
|
105
|
+
# Cop supports --auto-correct.
|
106
|
+
Style/IndentationConsistency:
|
107
|
+
Enabled: false
|
108
|
+
|
109
|
+
# Offense count: 3
|
110
|
+
# Cop supports --auto-correct.
|
111
|
+
# Configuration parameters: Width.
|
112
|
+
Style/IndentationWidth:
|
113
|
+
Enabled: false
|
114
|
+
|
115
|
+
# Offense count: 2
|
116
|
+
Style/Lambda:
|
117
|
+
Enabled: false
|
118
|
+
|
119
|
+
# Offense count: 2
|
120
|
+
# Cop supports --auto-correct.
|
121
|
+
Style/LeadingCommentSpace:
|
122
|
+
Enabled: false
|
123
|
+
|
124
|
+
# Offense count: 3
|
125
|
+
# Cop supports --auto-correct.
|
126
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
127
|
+
Style/MultilineOperationIndentation:
|
128
|
+
Enabled: false
|
129
|
+
|
130
|
+
# Offense count: 1
|
131
|
+
# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
|
132
|
+
Style/Next:
|
133
|
+
Enabled: false
|
134
|
+
|
135
|
+
# Offense count: 2
|
136
|
+
# Configuration parameters: MaxSlashes.
|
137
|
+
Style/RegexpLiteral:
|
138
|
+
Enabled: false
|
139
|
+
|
140
|
+
# Offense count: 2
|
141
|
+
Style/SelfAssignment:
|
142
|
+
Enabled: false
|
143
|
+
|
144
|
+
# Offense count: 5
|
145
|
+
# Cop supports --auto-correct.
|
146
|
+
Style/SpaceInsideParens:
|
147
|
+
Enabled: false
|
148
|
+
|
149
|
+
# Offense count: 4
|
150
|
+
# Cop supports --auto-correct.
|
151
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
152
|
+
Style/StringLiterals:
|
153
|
+
Enabled: false
|
154
|
+
|
155
|
+
# Offense count: 10
|
156
|
+
# Cop supports --auto-correct.
|
157
|
+
Style/Tab:
|
158
|
+
Enabled: false
|
159
|
+
|
160
|
+
# Offense count: 1
|
161
|
+
# Cop supports --auto-correct.
|
162
|
+
# Configuration parameters: WordRegex.
|
163
|
+
Style/WordArray:
|
164
|
+
MinSize: 5
|
data/Gemfile
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
gem 'vagrant', git: 'git://github.com/mitchellh/vagrant.git', tag: 'v1.7.2'
|
4
|
-
gem 'vagrant-omnibus'
|
5
|
-
gem 'rake'
|
6
|
-
|
7
3
|
group :plugins do
|
8
|
-
|
4
|
+
gemspec
|
9
5
|
end
|
10
6
|
|
11
|
-
|
7
|
+
group :development do
|
8
|
+
# We depend on Vagrant for development, but we don't add it as a
|
9
|
+
# gem dependency because we expect to be installed within the
|
10
|
+
# Vagrant environment itself using `vagrant plugin`.
|
11
|
+
gem 'vagrant', git: 'https://github.com/mitchellh/vagrant'
|
12
|
+
gem 'coveralls', require: false
|
13
|
+
gem 'pry'
|
14
|
+
end
|
data/README.md
CHANGED
@@ -55,7 +55,7 @@ Vagrant.configure('2') do |config|
|
|
55
55
|
override.vm.box = 'linode'
|
56
56
|
override.vm.box_url = "https://github.com/displague/vagrant-linode/raw/master/box/linode.box"
|
57
57
|
|
58
|
-
provider.
|
58
|
+
provider.api_key = 'API_KEY'
|
59
59
|
provider.distribution = 'Ubuntu 14.04 LTS'
|
60
60
|
provider.datacenter = 'newark'
|
61
61
|
provider.plan = 'Linode 1024'
|
@@ -86,16 +86,15 @@ Please note the following:
|
|
86
86
|
|
87
87
|
The following attributes are available to further configure the provider:
|
88
88
|
- `provider.distribution` - A string representing the distribution to use when
|
89
|
-
creating a new linode (e.g. `Debian
|
90
|
-
be found on Linode's
|
89
|
+
creating a new linode (e.g. `Debian 8.1`). The available options may
|
90
|
+
be found on [Linode's Supported Distributions](https://www.linode.com/distributions) page.
|
91
91
|
It defaults to `Ubuntu 14.04 LTS`.
|
92
|
-
- `provider.datacenter` - A string representing the
|
93
|
-
linode in. It defaults to `
|
92
|
+
- `provider.datacenter` - A string representing the datacenter to create the new
|
93
|
+
linode in. It defaults to `dallas`.
|
94
94
|
- `provider.plan` - A string representing the size to use when creating a
|
95
95
|
new linode (e.g. `Linode 2048`). It defaults to `Linode 1024`.
|
96
96
|
- `provider.private_networking` - A boolean flag indicating whether to enable
|
97
|
-
a private network interface
|
98
|
-
defaults to `false`.
|
97
|
+
a private network interface. It defaults to `false`.
|
99
98
|
- `provider.ssh_key_name` - A string representing the name to use when creating
|
100
99
|
a Linode SSH key for linode authentication. It defaults to `Vagrant`.
|
101
100
|
- `provider.setup` - A boolean flag indicating whether to setup a new user
|
@@ -128,6 +127,12 @@ Current Plan-ID table follows:
|
|
128
127
|
| 10 | 64GB Plan (Linode 65536) |
|
129
128
|
| 12 | 96GB Plan (Linode 98304) |
|
130
129
|
|
130
|
+
This can be obtained through vagrant with:
|
131
|
+
```
|
132
|
+
vagrant linode datacenters
|
133
|
+
```
|
134
|
+
|
135
|
+
Or using curl:
|
131
136
|
```
|
132
137
|
curl -X POST "https://api.linode.com/?api_action=avail.plans" \
|
133
138
|
--data-ascii api_key="$LINODE_API_KEY" \
|
@@ -151,9 +156,14 @@ Current Region-ID table is:
|
|
151
156
|
| 8 | tokyo | Tokyo, JP |
|
152
157
|
| 9 | singapore | Singapore, SGP |
|
153
158
|
|
154
|
-
You can find latest datacenter ID number using
|
159
|
+
You can find latest datacenter ID number using Vagrant subcommands:
|
160
|
+
|
161
|
+
```
|
162
|
+
vagrant linode datacenters
|
163
|
+
```
|
164
|
+
|
165
|
+
Or directly through the API:
|
155
166
|
|
156
|
-
- example call.
|
157
167
|
|
158
168
|
```
|
159
169
|
curl -X POST "https://api.linode.com/?api_action=avail.datacenters" \
|
@@ -204,6 +214,8 @@ The provider supports the following Vagrant sub-commands:
|
|
204
214
|
same IP address which was previously assigned.
|
205
215
|
- `vagrant status` - Outputs the status (active, off, not created) for the
|
206
216
|
linode instance.
|
217
|
+
- `vagrant linode` - Offers Linode resource listing options for datacenters,
|
218
|
+
distributions, images, networks, plans, and servers
|
207
219
|
|
208
220
|
|
209
221
|
More Docs and Tools
|
data/Rakefile
CHANGED
@@ -1,9 +1,29 @@
|
|
1
|
-
require '
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
require 'rspec/core/rake_task'
|
2
4
|
|
5
|
+
# Immediately sync all stdout so that tools like buildbot can
|
6
|
+
# immediately load in the output.
|
7
|
+
$stdout.sync = true
|
8
|
+
$stderr.sync = true
|
9
|
+
|
10
|
+
# Change to the directory of this file.
|
11
|
+
Dir.chdir(File.expand_path('../', __FILE__))
|
12
|
+
|
13
|
+
# This installs the tasks that help with gem creation and
|
14
|
+
# publishing.
|
3
15
|
namespace :gem do
|
4
16
|
Bundler::GemHelper.install_tasks
|
5
17
|
end
|
6
18
|
|
19
|
+
# Install the `spec` task so that we can run tests.
|
20
|
+
RSpec::Core::RakeTask.new
|
21
|
+
|
22
|
+
# Default task is to run the unit tests
|
23
|
+
task default: 'spec'
|
24
|
+
|
25
|
+
# require 'bundler/gem_helper'
|
26
|
+
|
7
27
|
task :test do
|
8
28
|
result = sh 'bash test/test.sh'
|
9
29
|
|
data/Vagrantfile.multi
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
# vi: set ft=ruby :
|
3
|
+
|
4
|
+
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
5
|
+
VAGRANTFILE_API_VERSION = "2"
|
6
|
+
|
7
|
+
DATACENTERS = [:newark, :dallas, :atlanta]
|
8
|
+
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
9
|
+
Vagrant.require_plugin "vagrant-linode"
|
10
|
+
|
11
|
+
DATACENTERS.each do |datacenter|
|
12
|
+
config.vm.define datacenter do |machine|
|
13
|
+
machine.vm.provider :linode do |provider|
|
14
|
+
provider.api_key = ENV['LINODE_API_KEY']
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
Binary file
|
data/box/linode.box
CHANGED
Binary file
|
@@ -0,0 +1,12 @@
|
|
1
|
+
{
|
2
|
+
"name": "displague/debian-7.5",
|
3
|
+
"description": "This box creates Debian 7.5 on a Linode",
|
4
|
+
"versions": [{
|
5
|
+
"version": "0.1.0",
|
6
|
+
"providers": [{
|
7
|
+
"name": "linode",
|
8
|
+
"url": "https://github.com/displague/vagrant-linode/raw/master/box/linode.box",
|
9
|
+
"distribution": "debian 7.5"
|
10
|
+
}]
|
11
|
+
}]
|
12
|
+
}
|
data/box/metadata.json
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
}
|
2
|
+
provider: 'linode'
|
3
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
@announce
|
2
|
+
@vagrant-linode
|
3
|
+
Feature: vagrant-linode fog tests
|
4
|
+
|
5
|
+
Background:
|
6
|
+
Given I have Linode credentials available
|
7
|
+
And I have a "fog_mock.rb" file
|
8
|
+
|
9
|
+
Scenario: Create a single server (with provisioning)
|
10
|
+
Given a file named "Vagrantfile" with:
|
11
|
+
"""
|
12
|
+
Vagrant.configure("2") do |config|
|
13
|
+
Vagrant.require_plugin "vagrant-linode"
|
14
|
+
|
15
|
+
config.vm.box = "dummy"
|
16
|
+
config.ssh.private_key_path = "~/.ssh/id_rsa"
|
17
|
+
|
18
|
+
|
19
|
+
config.vm.provider :linode do |provider|
|
20
|
+
provider.server_name = 'vagrant-provisioned-server'
|
21
|
+
provider.api_key = ENV['LINODE_API_KEY']
|
22
|
+
provider.datacenter = 'dallas'
|
23
|
+
provider.plan = /Linode 1024/
|
24
|
+
provider.distribution = /Ubuntu/
|
25
|
+
provider.public_key_path = "~/.ssh/id_rsa.pub"
|
26
|
+
end
|
27
|
+
|
28
|
+
config.vm.provision :shell, :inline => "echo Hello, World"
|
29
|
+
end
|
30
|
+
"""
|
31
|
+
When I successfully run `bundle exec vagrant up --provider linode`
|
32
|
+
# I want to capture the ID like I do in tests for other tools, but Vagrant doesn't print it!
|
33
|
+
# And I get the server from "Instance ID:"
|
34
|
+
Then the server "vagrant-provisioned-server" should be active
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Given(/^I have Linode credentials available$/) do
|
2
|
+
fail unless ENV['LINODE_API_KEY']
|
3
|
+
end
|
4
|
+
|
5
|
+
Given(/^I have a "fog_mock.rb" file$/) do
|
6
|
+
script = File.open('features/support/fog_mock.rb').read
|
7
|
+
steps %(
|
8
|
+
Given a file named "fog_mock.rb" with:
|
9
|
+
"""
|
10
|
+
#{script}
|
11
|
+
"""
|
12
|
+
)
|
13
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
When(/^I get the server from "(.*?)"$/) do |label|
|
2
|
+
@server_id = all_output.match(/#{label}\s([\w-]*)/)[1]
|
3
|
+
puts "Server: #{@server_id}"
|
4
|
+
end
|
5
|
+
|
6
|
+
When(/^I load the server$/) do
|
7
|
+
@server_id = all_output.strip.lines.to_a.last
|
8
|
+
puts "Server: #{@server_id}"
|
9
|
+
end
|
10
|
+
|
11
|
+
Then(/^the server should be active$/) do
|
12
|
+
unless Fog.mock? # unfortunately we can't assert this with Fog.mock!, since mocked objects do not persist from the subprocess
|
13
|
+
assert_active @server_id
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
Then(/^the server "(.+)" should be active$/) do |server_name|
|
18
|
+
server = @compute.servers.all.find { |s| s.name == server_name }
|
19
|
+
assert_active server.id
|
20
|
+
end
|
21
|
+
|
22
|
+
def assert_active(server_id)
|
23
|
+
server = @compute.servers.get server_id
|
24
|
+
server.state.should == 'ACTIVE'
|
25
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'fog'
|
2
|
+
require 'aruba/cucumber'
|
3
|
+
|
4
|
+
Fog.mock! if ENV['LINODE_MOCK'] == 'true'
|
5
|
+
|
6
|
+
Before do | scenario |
|
7
|
+
@aruba_timeout_seconds = 600
|
8
|
+
@scenario = File.basename(scenario.file)
|
9
|
+
ENV['CASSETTE'] = @scenario
|
10
|
+
|
11
|
+
proxy_options = {
|
12
|
+
connection_options: {
|
13
|
+
proxy: ENV['https_proxy'],
|
14
|
+
ssl_verify_peer: false
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
connect_options = {
|
19
|
+
provider: 'linode',
|
20
|
+
linode_api_key: ENV['LINODE_API_KEY'],
|
21
|
+
}
|
22
|
+
connect_options.merge!(proxy_options) unless ENV['https_proxy'].nil?
|
23
|
+
@compute = Fog::Compute.new(connect_options)
|
24
|
+
end
|
25
|
+
|
26
|
+
Around do | _scenario, block |
|
27
|
+
Bundler.with_clean_env do
|
28
|
+
block.call
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
After('@creates_server') do
|
33
|
+
@compute.servers.delete @server_id
|
34
|
+
end
|