vagrant-linode 0.1.0 → 0.1.1
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/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
|
+
[](https://codeclimate.com/github/displague/vagrant-linode)
|
205
|
+
[](https://codeclimate.com/github/displague/vagrant-linode)
|
206
|
+
[](http://badge.fury.io/rb/vagrant-linode)
|
207
|
+
[](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
|