vagrant-linode 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/Gemfile +1 -1
- data/README.md +8 -1
- data/lib/vagrant-linode/actions/create.rb +14 -2
- data/lib/vagrant-linode/config.rb +6 -0
- data/lib/vagrant-linode/version.rb +1 -1
- data/test/Vagrantfile +16 -9
- data/vagrant-linode.gemspec +11 -4
- metadata +57 -14
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NTRmMjI5MzdkNDg5YjBkNzI5NjhjZTA0ODdlN2RkMGNmMDBlNTQ3OA==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9e79120502b6fda82a12f08ad42c6b9ca167711f
|
4
|
+
data.tar.gz: 13e80103279fbae0a7e521e3f81426b7a539c2ba
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YzQ4NWYwZWNlY2FhYjBiMGU2YzUxNjQxYWI1OTM1ODk5NjEyMmVkMjgyNTQw
|
11
|
-
ZTU4OTIxODcwYzZjNzA1YjFhMTE3ODE4ODQxNjZmOGFiODBhNWE=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NjQwNmRjOTc3N2ZhZGI3MTcxM2RjM2YxYjExMmRhNGU3YzM4OWRjOTA2MTFm
|
14
|
-
NjM4Mzk3N2E0YmIyMjdhOWNjZTJiNTczZDU1MDI2ZDc2OWVjZjdmZDU1MzBi
|
15
|
-
NTQ5MGQ0ZjdhYWQ4YzNmMTdkM2E2ZGE4NTA5ODMwNDc2MDgxNTA=
|
6
|
+
metadata.gz: 63661d58fb59497f8017b370781ed289f2da809328d68475b79f55acb8b788a86299a9e2cc4622d794adf02fdebd33210f9c326cda10bc5930da321e947d57b7
|
7
|
+
data.tar.gz: ffd6a184e1f2f60dd0120d76568b4d699c5a8143c79d491fc7da62989175d79b809379a0d853356f00a5c3efa3ab5fe7a881b8b914ea86fad736f6a26d89239a
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
Linode Vagrant Provider
|
2
2
|
==============================
|
3
|
+
|
3
4
|
`vagrant-linode` is a provider plugin for Vagrant that supports the
|
4
5
|
management of [Linode](https://www.linode.com/) linodes
|
5
6
|
(instances).
|
@@ -17,7 +18,7 @@ Current features include:
|
|
17
18
|
- setup a SSH public key for authentication
|
18
19
|
- create a new user account during linode creation
|
19
20
|
|
20
|
-
The provider has been tested with Vagrant 1.
|
21
|
+
The provider has been tested with Vagrant 1.6.3+ using Ubuntu 14.04 LTS and
|
21
22
|
Debian 7.5 guest operating systems.
|
22
23
|
|
23
24
|
Install
|
@@ -199,3 +200,9 @@ To run the provider's tests:
|
|
199
200
|
You can now make modifications. Running `vagrant` within the Bundler
|
200
201
|
environment will ensure that plugins installed in your Vagrant
|
201
202
|
environment are not loaded.
|
203
|
+
|
204
|
+
[![Code Climate](https://codeclimate.com/github/displague/vagrant-linode/badges/gpa.svg)](https://codeclimate.com/github/displague/vagrant-linode)
|
205
|
+
[![Test Coverage](https://codeclimate.com/github/displague/vagrant-linode/badges/coverage.svg)](https://codeclimate.com/github/displague/vagrant-linode)
|
206
|
+
[![Gem Version](https://badge.fury.io/rb/vagrant-linode.svg)](http://badge.fury.io/rb/vagrant-linode)
|
207
|
+
[![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://tldrlegal.com/license/mit-license)
|
208
|
+
|
@@ -118,11 +118,14 @@ module VagrantPlugins
|
|
118
118
|
)
|
119
119
|
end
|
120
120
|
|
121
|
+
# kernel id
|
122
|
+
kernel_id = @machine.provider_config.kernel_id
|
123
|
+
|
121
124
|
config = @client.linode.config.create(
|
122
125
|
linodeid: result['linodeid'],
|
123
126
|
label: 'Vagrant Config',
|
124
127
|
disklist: "#{disk['diskid']},#{swap['diskid']}",
|
125
|
-
kernelid:
|
128
|
+
kernelid: kernel_id
|
126
129
|
)
|
127
130
|
|
128
131
|
# @todo: allow provisioning to set static configuration for networking
|
@@ -130,9 +133,13 @@ module VagrantPlugins
|
|
130
133
|
private_network = @client.linode.ip.addprivate linodeid: result['linodeid']
|
131
134
|
end
|
132
135
|
|
136
|
+
label = @machine.provider_config.label
|
137
|
+
label = label || @machine.name if @machine.name != 'default'
|
138
|
+
label = label || get_server_name
|
139
|
+
|
133
140
|
result = @client.linode.update(
|
134
141
|
linodeid: result['linodeid'],
|
135
|
-
label:
|
142
|
+
label: label
|
136
143
|
)
|
137
144
|
|
138
145
|
env[:ui].info I18n.t('vagrant_linode.info.booting', linodeid: result['linodeid'])
|
@@ -178,6 +185,11 @@ module VagrantPlugins
|
|
178
185
|
# end
|
179
186
|
# end
|
180
187
|
|
188
|
+
# generate a random name if server name is empty
|
189
|
+
def get_server_name
|
190
|
+
server_name = "vagrant_linode-#{rand.to_s.split('.')[1]}"
|
191
|
+
end
|
192
|
+
|
181
193
|
def terminate(env)
|
182
194
|
destroy_env = env.dup
|
183
195
|
destroy_env.delete(:interrupted)
|
@@ -13,6 +13,8 @@ module VagrantPlugins
|
|
13
13
|
attr_accessor :setup
|
14
14
|
attr_accessor :xvda_size
|
15
15
|
attr_accessor :swap_size
|
16
|
+
attr_accessor :kernel_id
|
17
|
+
attr_accessor :label
|
16
18
|
|
17
19
|
alias_method :setup?, :setup
|
18
20
|
|
@@ -29,6 +31,8 @@ module VagrantPlugins
|
|
29
31
|
@setup = UNSET_VALUE
|
30
32
|
@xvda_size = UNSET_VALUE
|
31
33
|
@swap_size = UNSET_VALUE
|
34
|
+
@kernel_id = UNSET_VALUE
|
35
|
+
@label = UNSET_VALUE
|
32
36
|
end
|
33
37
|
|
34
38
|
def finalize!
|
@@ -44,6 +48,8 @@ module VagrantPlugins
|
|
44
48
|
@setup = true if @setup == UNSET_VALUE
|
45
49
|
@xvda_size = true if @xvda_size == UNSET_VALUE
|
46
50
|
@swap_size = '256' if @swap_size == UNSET_VALUE
|
51
|
+
@kernel_id = '138' if @kernel_id == UNSET_VALUE
|
52
|
+
@label = false if @label == UNSET_VALUE
|
47
53
|
end
|
48
54
|
|
49
55
|
def validate(machine)
|
data/test/Vagrantfile
CHANGED
@@ -23,19 +23,23 @@ Vagrant.configure('2') do |config|
|
|
23
23
|
|
24
24
|
# Disk Image Sizes (Optional configuration)
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
# Main Disk Image Size
|
27
|
+
# [str] ( Full Allocation - Swap ) if nil
|
28
|
+
provider.xvda_size = '1024'
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
# Swap Image Size
|
31
|
+
# [str] 256 if nil
|
32
|
+
provider.swap_size = '256'
|
33
|
+
|
34
|
+
# Kernel Image ID
|
35
|
+
# [str] 138 if nil
|
36
|
+
provider.kernel_id = '138'
|
33
37
|
|
34
38
|
# Networking (Optional Configuration)
|
35
39
|
|
36
|
-
|
37
|
-
|
38
|
-
|
40
|
+
# Enable private networking
|
41
|
+
# [boolean] disabled if nil
|
42
|
+
#provider.private_networking = true
|
39
43
|
end
|
40
44
|
|
41
45
|
config.vm.provision :shell, path: 'scripts/provision.sh'
|
@@ -49,6 +53,9 @@ Vagrant.configure('2') do |config|
|
|
49
53
|
config.vm.define :ubuntu do |ubuntu|
|
50
54
|
ubuntu.vm.provider :linode do |provider|
|
51
55
|
provider.distribution = 'Ubuntu 14.04 LTS'
|
56
|
+
|
57
|
+
# Optional Settings
|
58
|
+
provider.label = 'Vagrant-Ubuntu'
|
52
59
|
end
|
53
60
|
end
|
54
61
|
|
data/vagrant-linode.gemspec
CHANGED
@@ -6,16 +6,23 @@ require 'vagrant-linode/version'
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
gem.name = 'vagrant-linode'
|
8
8
|
gem.version = VagrantPlugins::Linode::VERSION
|
9
|
+
gem.licenses = ['MIT']
|
9
10
|
gem.authors = ['Marques Johansson', 'Jonathan Leal']
|
10
11
|
gem.email = ['marques@linode.com', 'jleal@linode.com']
|
11
12
|
gem.description = 'Enables Vagrant to manage Linode linodes'
|
13
|
+
gem.homepage = 'https://www.github.com/displague/vagrant-linode'
|
12
14
|
gem.summary = gem.description
|
13
15
|
|
16
|
+
gem.add_runtime_dependency 'linode'
|
17
|
+
gem.add_runtime_dependency 'json'
|
18
|
+
gem.add_runtime_dependency 'log4r'
|
19
|
+
|
20
|
+
gem.add_development_dependency "rake"
|
21
|
+
gem.add_development_dependency "rspec", "~> 2.14.0"
|
22
|
+
gem.add_development_dependency "aruba", "~> 0.5.4"
|
23
|
+
|
14
24
|
gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
25
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
15
26
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
16
27
|
gem.require_paths = ['lib']
|
17
|
-
|
18
|
-
gem.add_dependency 'linode'
|
19
|
-
gem.add_dependency 'json'
|
20
|
-
gem.add_dependency 'log4r'
|
21
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-linode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marques Johansson
|
@@ -9,50 +9,92 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-10-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: linode
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '0'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '0'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: json
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: log4r
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '0'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rake
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rspec
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 2.14.0
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 2.14.0
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: aruba
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 0.5.4
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.5.4
|
56
98
|
description: Enables Vagrant to manage Linode linodes
|
57
99
|
email:
|
58
100
|
- marques@linode.com
|
@@ -61,7 +103,7 @@ executables: []
|
|
61
103
|
extensions: []
|
62
104
|
extra_rdoc_files: []
|
63
105
|
files:
|
64
|
-
- .gitignore
|
106
|
+
- ".gitignore"
|
65
107
|
- CHANGELOG.md
|
66
108
|
- Gemfile
|
67
109
|
- LICENSE.txt
|
@@ -100,8 +142,9 @@ files:
|
|
100
142
|
- test/test_id_rsa
|
101
143
|
- test/test_id_rsa.pub
|
102
144
|
- vagrant-linode.gemspec
|
103
|
-
homepage:
|
104
|
-
licenses:
|
145
|
+
homepage: https://www.github.com/displague/vagrant-linode
|
146
|
+
licenses:
|
147
|
+
- MIT
|
105
148
|
metadata: {}
|
106
149
|
post_install_message:
|
107
150
|
rdoc_options: []
|
@@ -109,17 +152,17 @@ require_paths:
|
|
109
152
|
- lib
|
110
153
|
required_ruby_version: !ruby/object:Gem::Requirement
|
111
154
|
requirements:
|
112
|
-
- -
|
155
|
+
- - ">="
|
113
156
|
- !ruby/object:Gem::Version
|
114
157
|
version: '0'
|
115
158
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
159
|
requirements:
|
117
|
-
- -
|
160
|
+
- - ">="
|
118
161
|
- !ruby/object:Gem::Version
|
119
162
|
version: '0'
|
120
163
|
requirements: []
|
121
164
|
rubyforge_project:
|
122
|
-
rubygems_version: 2.
|
165
|
+
rubygems_version: 2.2.2
|
123
166
|
signing_key:
|
124
167
|
specification_version: 4
|
125
168
|
summary: Enables Vagrant to manage Linode linodes
|