vagrant-mos 0.8.70 → 0.8.80

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e484a4ec0d43ecd5c56e251a5618c03788614b0
4
- data.tar.gz: 2d151cfc04d65225b462f8927ba8beac2b1c5098
3
+ metadata.gz: 6b287a4336584152e0c6bddcf296bc36f6d317d9
4
+ data.tar.gz: b0b6aea44fa92729722717a28dec03bb5f381819
5
5
  SHA512:
6
- metadata.gz: 85b0d1f1fdaf9bfa0208ad3c057e2945baf5c38560be54cd5f0dd3ea12bf778ec4728d9f17349cd854d0c8ee919db644d1a4d92d61de2c1b9e2955d816764a0b
7
- data.tar.gz: 3db18e6147b47403f1bdc9d490f60e2b17250d2544e2580f280fb98530580a242b2bc388132f7709f6e93ab50f04b3c53e04313bf35f74b59452fefba3c211d1
6
+ metadata.gz: 2b032e72ff600620fbf76a4de081add51c7005dcf395794fd13677e68a89e83f0fd919104dfdf0c340b017608aca4f1a36765e58d317d2f2748507c7297f0e8a
7
+ data.tar.gz: 1d5cdb13888b9eeb73acae25dc4cb6c299496026c105b0d4aee240772fc42551595bb715d9e60eead0eeb1fee0e4cf1a78c5569769db5c042b932be2fa6b74a2
data/README.md CHANGED
@@ -21,8 +21,7 @@ MOS.
21
21
  * SSH into the instances.
22
22
  * Provision the instances with any built-in Vagrant provisioner.
23
23
  * Minimal synced folder support via `rsync`.
24
- * Define region-specific configurations so Vagrant can manage machines
25
- in multiple regions.
24
+ * Manage MOS machine's status through `vagrant status`.
26
25
 
27
26
  ## Usage
28
27
 
@@ -48,7 +47,7 @@ manually within a `config.vm.provider` block. So first, add the
48
47
  box using any name you want:
49
48
 
50
49
  ```
51
- $ vagrant box add mos_box https://github.com/mitchellh/vagrant-mos/raw/master/mos.box
50
+ $ vagrant box add mos_box https://github.com/yangcs2009/vagrant-mos/raw/master/mos.box
52
51
  ...
53
52
  ```
54
53
 
@@ -27,22 +27,9 @@ module VagrantPlugins
27
27
  # Get the configs
28
28
  region_config = env[:machine].provider_config.get_region_config(region)
29
29
  ami = region_config.ami
30
- #availability_zone = region_config.availability_zone
31
30
  instance_type = region_config.instance_type
32
31
  keypair = region_config.keypair_name
33
- #private_ip_address = region_config.private_ip_address
34
- #security_groups = region_config.security_groups
35
- #subnet_id = region_config.subnet_id
36
- #tags = region_config.tags
37
- #user_data = region_config.user_data
38
- #block_device_mapping = region_config.block_device_mapping
39
- #elastic_ip = region_config.elastic_ip
40
32
  terminate_on_shutdown = region_config.terminate_on_shutdown
41
- #iam_instance_profile_arn = region_config.iam_instance_profile_arn
42
- #iam_instance_profile_name = region_config.iam_instance_profile_name
43
- #monitoring = region_config.monitoring
44
- #ebs_optimized = region_config.ebs_optimized
45
- #associate_public_ip = region_config.associate_public_ip
46
33
 
47
34
  # If there is no keypair then warn the user
48
35
  if !keypair
@@ -54,42 +41,15 @@ module VagrantPlugins
54
41
  env[:ui].info(" -- Type: #{instance_type}")
55
42
  env[:ui].info(" -- AMI: #{ami}")
56
43
  env[:ui].info(" -- Region: #{region}")
57
- #env[:ui].info(" -- Availability Zone: #{availability_zone}") if availability_zone
58
44
  env[:ui].info(" -- Keypair: #{keypair}") if keypair
59
- #env[:ui].info(" -- Subnet ID: #{subnet_id}") if subnet_id
60
- #env[:ui].info(" -- IAM Instance Profile ARN: #{iam_instance_profile_arn}") if iam_instance_profile_arn
61
- #env[:ui].info(" -- IAM Instance Profile Name: #{iam_instance_profile_name}") if iam_instance_profile_name
62
- #env[:ui].info(" -- Private IP: #{private_ip_address}") if private_ip_address
63
- #env[:ui].info(" -- User Data: yes") if user_data
64
- #env[:ui].info(" -- Security Groups: #{security_groups.inspect}") if !security_groups.empty?
65
- #env[:ui].info(" -- User Data: #{user_data}") if user_data
66
- #env[:ui].info(" -- Block Device Mapping: #{block_device_mapping}") if block_device_mapping
67
45
  env[:ui].info(" -- Terminate On Shutdown: #{terminate_on_shutdown}")
68
- #env[:ui].info(" -- Monitoring: #{monitoring}")
69
- #env[:ui].info(" -- Assigning a public IP address in a VPC: #{associate_public_ip}")
70
46
 
71
47
  options = {
72
- #:availability_zone => availability_zone,
73
48
  :flavor_id => instance_type,
74
49
  :image_id => ami,
75
50
  :key_name => keypair,
76
- #:private_ip_address => private_ip_address,
77
- #:subnet_id => subnet_id,
78
- #:iam_instance_profile_arn => iam_instance_profile_arn,
79
- #:iam_instance_profile_name => iam_instance_profile_name,
80
- #:tags => tags,
81
- #:user_data => user_data,
82
- #:block_device_mapping => block_device_mapping,
83
51
  :instance_initiated_shutdown_behavior => terminate_on_shutdown == true ? "terminate" : nil,
84
- #:monitoring => monitoring,
85
- #:ebs_optimized => ebs_optimized,
86
- #:associate_public_ip => associate_public_ip
87
52
  }
88
- #if !security_groups.empty?
89
- # security_group_key = options[:subnet_id].nil? ? :groups : :security_group_ids
90
- # options[security_group_key] = security_groups
91
- # env[:ui].warn(I18n.t("vagrant_mos.warn_ssh_access")) unless allows_ssh_port?(env, security_groups, subnet_id)
92
- #end
93
53
 
94
54
  begin
95
55
  # create a handler to access MOS
@@ -112,7 +72,6 @@ module VagrantPlugins
112
72
  next if env[:interrupted]
113
73
 
114
74
  # Wait for the server to be ready
115
- #server.wait_for(2, 5) { ready? }
116
75
  if(server["status"] == "running")
117
76
  break
118
77
  else
@@ -164,19 +123,6 @@ module VagrantPlugins
164
123
  end
165
124
  end
166
125
 
167
- #def allows_ssh_port?(env, test_sec_groups, is_vpc)
168
- # port = 22 # TODO get ssh_info port
169
- # test_sec_groups = ["default"] if test_sec_groups.empty? # MOS default security group
170
- # # filter groups by name or group_id (vpc)
171
- # groups = test_sec_groups.map do |tsg|
172
- # env[:mos_compute].security_groups.all.select { |sg| tsg == (is_vpc ? sg.group_id : sg.name) }
173
- # end.flatten
174
- # # filter TCP rules
175
- # rules = groups.map { |sg| sg.ip_permissions.select { |r| r["ipProtocol"] == "tcp" } }.flatten
176
- # # test if any range includes port
177
- # !rules.select { |r| (r["fromPort"]..r["toPort"]).include?(port) }.empty?
178
- #end
179
-
180
126
  def terminate(env)
181
127
  destroy_env = env.dup
182
128
  destroy_env.delete(:interrupted)
@@ -13,22 +13,11 @@ module VagrantPlugins
13
13
  # @return [String]
14
14
  attr_accessor :ami
15
15
 
16
- # The availability zone to launch the instance into. If nil, it will
17
- # use the default for your account.
18
- #
19
- # @return [String]
20
- #attr_accessor :availability_zone
21
-
22
16
  # The timeout to wait for an instance to become ready.
23
17
  #
24
18
  # @return [Fixnum]
25
19
  attr_accessor :instance_ready_timeout
26
20
 
27
- # The timeout to wait for an instance to successfully burn into an AMI.
28
- #
29
- # @return [Fixnum]
30
- #attr_accessor :instance_package_timeout
31
-
32
21
  # The type of instance to launch, such as "C1_M1"
33
22
  #
34
23
  # @return [String]
@@ -39,21 +28,11 @@ module VagrantPlugins
39
28
  # @return [String]
40
29
  attr_accessor :keypair_name
41
30
 
42
- # The private IP address to give this machine (VPC).
43
- #
44
- # @return [String]
45
- #attr_accessor :private_ip_address
46
-
47
31
  # The name of the MOS region in which to create the instance.
48
32
  #
49
33
  # @return [String]
50
34
  attr_accessor :region
51
35
 
52
- # The EC2 endpoint to connect to
53
- #
54
- # @return [String]
55
- #attr_accessor :endpoint
56
-
57
36
  # The version of the MOS api to use
58
37
  #
59
38
  # @return [String]
@@ -69,51 +48,12 @@ module VagrantPlugins
69
48
  # @return [String]
70
49
  attr_accessor :secret_access_url
71
50
 
72
-
73
- # The security groups to set on the instance. For VPC this must
74
- # be a list of IDs. For EC2, it can be either.
75
- #
76
- # @return [Array<String>]
77
- #attr_reader :security_groups
78
-
79
- # The Amazon resource name (ARN) of the IAM Instance Profile
80
- # to associate with the instance.
81
- #
82
- # @return [String]
83
- #attr_accessor :iam_instance_profile_arn
84
-
85
- # The name of the IAM Instance Profile to associate with
86
- # the instance.
87
- #
88
- # @return [String]
89
- #attr_accessor :iam_instance_profile_name
90
-
91
- # The subnet ID to launch the machine into (VPC).
92
- #
93
- # @return [String]
94
- #attr_accessor :subnet_id
95
-
96
- # The tags for the machine.
97
- #
98
- # @return [Hash<String, String>]
99
- #attr_accessor :tags
100
-
101
51
  # Use IAM Instance Role for authentication to MOS instead of an
102
52
  # explicit access_id and secret_access_key
103
53
  #
104
54
  # @return [Boolean]
105
55
  attr_accessor :use_iam_profile
106
56
 
107
- # The user data string
108
- #
109
- # @return [String]
110
- #attr_accessor :user_data
111
-
112
- # Block device mappings
113
- #
114
- # @return [Array<Hash>]
115
- #attr_accessor :block_device_mapping
116
-
117
57
  # Indicates whether an instance stops or terminates when you initiate shutdown from the instance
118
58
  #
119
59
  # @return [bool]
@@ -129,56 +69,19 @@ module VagrantPlugins
129
69
  # @return [Symbol]
130
70
  attr_accessor :ssh_host_attribute
131
71
 
132
- # Enables Monitoring
133
- #
134
- # @return [Boolean]
135
- #attr_accessor :monitoring
136
-
137
- # EBS optimized instance
138
- #
139
- # @return [Boolean]
140
- #attr_accessor :ebs_optimized
141
-
142
- # Assigning a public IP address in a VPC
143
- #
144
- # @return [Boolean]
145
- #attr_accessor :associate_public_ip
146
-
147
- # The name of ELB, which an instance should be
148
- # attached to
149
- #
150
- # @return [String]
151
- #attr_accessor :elb
152
-
153
72
  def initialize(region_specific=false)
154
73
  @access_key_id = UNSET_VALUE
155
74
  @ami = UNSET_VALUE
156
- #@availability_zone = UNSET_VALUE
157
75
  @instance_ready_timeout = UNSET_VALUE
158
- #@instance_package_timeout = UNSET_VALUE
159
76
  @instance_type = UNSET_VALUE
160
77
  @keypair_name = UNSET_VALUE
161
- #@private_ip_address = UNSET_VALUE
162
78
  @region = UNSET_VALUE
163
- #@endpoint = UNSET_VALUE
164
79
  @version = UNSET_VALUE
165
80
  @secret_access_key = UNSET_VALUE
166
81
  @secret_access_url = UNSET_VALUE
167
- #@security_groups = UNSET_VALUE
168
- #@subnet_id = UNSET_VALUE
169
- #@tags = {}
170
- #@user_data = UNSET_VALUE
171
82
  @use_iam_profile = UNSET_VALUE
172
- #@block_device_mapping = []
173
- #@elastic_ip = UNSET_VALUE
174
- #@iam_instance_profile_arn = UNSET_VALUE
175
- #@iam_instance_profile_name = UNSET_VALUE
176
83
  @terminate_on_shutdown = UNSET_VALUE
177
84
  @ssh_host_attribute = UNSET_VALUE
178
- #@monitoring = UNSET_VALUE
179
- #@ebs_optimized = UNSET_VALUE
180
- #@associate_public_ip = UNSET_VALUE
181
- #@elb = UNSET_VALUE
182
85
 
183
86
  # Internal state (prefix with __ so they aren't automatically
184
87
  # merged)
@@ -188,12 +91,6 @@ module VagrantPlugins
188
91
  @__region_specific = region_specific
189
92
  end
190
93
 
191
- # set security_groups
192
- def security_groups=(value)
193
- # convert value to array if necessary
194
- @security_groups = value.is_a?(Array) ? value : [value]
195
- end
196
-
197
94
  # Allows region-specific overrides of any of the settings on this
198
95
  # configuration object. This allows the user to override things like
199
96
  # AMI and keypair name for regions. Example:
@@ -248,13 +145,6 @@ module VagrantPlugins
248
145
  # Set it
249
146
  result.instance_variable_set(:@__region_config, new_region_config)
250
147
 
251
- # Merge in the tags
252
- #result.tags.merge!(self.tags)
253
- #result.tags.merge!(other.tags)
254
-
255
- # Merge block_device_mapping
256
- #result.block_device_mapping |= self.block_device_mapping
257
- #result.block_device_mapping |= other.block_device_mapping
258
148
  end
259
149
  end
260
150
 
@@ -271,20 +161,12 @@ module VagrantPlugins
271
161
  # Set the default timeout for waiting for an instance to be ready
272
162
  @instance_ready_timeout = 120 if @instance_ready_timeout == UNSET_VALUE
273
163
 
274
- # Set the default timeout for waiting for an instance to burn into and ami
275
- #@instance_package_timeout = 600 if @instance_package_timeout == UNSET_VALUE
276
164
 
277
165
  # Default instance type is an m3.medium
278
166
  @instance_type = "C1_M2" if @instance_type == UNSET_VALUE
279
167
  # Keypair defaults to nil
280
168
  @keypair_name = nil if @keypair_name == UNSET_VALUE
281
169
 
282
- # Default the private IP to nil since VPC is not default
283
- #@private_ip_address = nil if @private_ip_address == UNSET_VALUE
284
-
285
- # Acquire an elastic IP if requested
286
- #@elastic_ip = nil if @elastic_ip == UNSET_VALUE
287
-
288
170
  # Default region is us-east-1. This is sensible because MOS
289
171
  # generally defaults to this as well.
290
172
  @region = "us-east-1" if @region == UNSET_VALUE
@@ -292,40 +174,15 @@ module VagrantPlugins
292
174
  #@endpoint = nil if @endpoint == UNSET_VALUE
293
175
  @version = nil if @version == UNSET_VALUE
294
176
 
295
- # The security groups are empty by default.
296
- #@security_groups = [] if @security_groups == UNSET_VALUE
297
-
298
- # Subnet is nil by default otherwise we'd launch into VPC.
299
- #@subnet_id = nil if @subnet_id == UNSET_VALUE
300
-
301
- # IAM Instance profile arn/name is nil by default.
302
- #@iam_instance_profile_arn = nil if @iam_instance_profile_arn == UNSET_VALUE
303
- #@iam_instance_profile_name = nil if @iam_instance_profile_name == UNSET_VALUE
304
-
305
177
  # By default we don't use an IAM profile
306
178
  @use_iam_profile = false if @use_iam_profile == UNSET_VALUE
307
179
 
308
- # User Data is nil by default
309
- #@user_data = nil if @user_data == UNSET_VALUE
310
-
311
180
  # default false
312
181
  @terminate_on_shutdown = false if @terminate_on_shutdown == UNSET_VALUE
313
182
 
314
183
  # default to nil
315
184
  @ssh_host_attribute = nil if @ssh_host_attribute == UNSET_VALUE
316
185
 
317
- # default false
318
- #@monitoring = false if @monitoring == UNSET_VALUE
319
-
320
- # default false
321
- #@ebs_optimized = false if @ebs_optimized == UNSET_VALUE
322
-
323
- # default false
324
- #@associate_public_ip = false if @associate_public_ip == UNSET_VALUE
325
-
326
- # Don't attach instance to any ELB by default
327
- #@elb = nil if @elb == UNSET_VALUE
328
-
329
186
  # Compile our region specific configurations only within
330
187
  # NON-REGION-SPECIFIC configurations.
331
188
  if !@__region_specific
@@ -370,10 +227,6 @@ module VagrantPlugins
370
227
  config.secret_access_url.nil?
371
228
  end
372
229
 
373
- #if config.associate_public_ip && !config.subnet_id
374
- # errors << I18n.t("vagrant_mos.config.subnet_id_required_with_public_ip")
375
- #end
376
-
377
230
  errors << I18n.interpolate("vagrant_mos.config.ami_required", :region => @region) if config.ami.nil?
378
231
  end
379
232
 
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module MOS
3
- VERSION = '0.8.70'
3
+ VERSION = '0.8.80'
4
4
  end
5
5
  end
@@ -2,36 +2,14 @@ en:
2
2
  vagrant_mos:
3
3
  already_status: |-
4
4
  The machine is already %{status}.
5
- # burning_ami: |-
6
- # Waiting for the AMI '%{ami_id}' to burn...
7
- # elb:
8
- # adjusting: |-
9
- # Adjusting availability zones of ELB %{elb_name}...
10
- # registering: |-
11
- # Registering %{instance_id} at ELB %{elb_name}...
12
- # deregistering: |-
13
- # Deregistering %{instance_id} from ELB %{elb_name}...
14
- # ok: |-
15
- # ok
16
- # skipped: |-
17
- # skipped
18
5
 
19
6
  launching_instance: |-
20
7
  Launching an instance with the following settings...
21
8
  launch_no_keypair: |-
22
9
  Warning! You didn't specify a keypair to launch your instance with.
23
10
  This can sometimes result in not being able to access your instance.
24
- # launch_vpc_warning: |-
25
- # Warning! You're launching this instance into a VPC without an
26
- # elastic IP. Please verify you're properly connected to a VPN so
27
- # you can access this machine, otherwise Vagrant will not be able
28
- # to SSH into it.
29
11
  not_created: |-
30
12
  Instance is not created. Please run `vagrant up` first.
31
- # packaging_instance: |-
32
- # Burning instance %{instance_id} into an ami
33
- # packaging_instance_complete: |-
34
- # Burn was successful in %{time_seconds}s
35
13
  ready: |-
36
14
  Machine is booted and ready for use!
37
15
  rsync_not_found_warning: |-
@@ -73,8 +51,6 @@ en:
73
51
  A secret access key is required via "secret_access_key"
74
52
  secret_access_url_required: |-
75
53
  A secret access url is required via "secret_access_url"
76
- # subnet_id_required_with_public_ip: |-
77
- # If you assign a public IP address to an instance in a VPC, a subnet must be specifed via "subnet_id"
78
54
 
79
55
  errors:
80
56
  mos_error: |-
@@ -93,17 +69,6 @@ en:
93
69
  set waiting for the instance to become ready is %{timeout} seconds.
94
70
  Please verify that the machine properly boots. If you need more time
95
71
  set the `instance_ready_timeout` configuration on the MOS provider.
96
- # instance_package_error: |-
97
- # There was an error packaging the instance. See details below for more info.
98
- #
99
- # AMI Id: %{ami_id}
100
- # Error: %{err}
101
- # instance_package_timeout: |-
102
- # The AMI failed to become "ready" in MOS. The timeout currently
103
- # set waiting for the instance to become ready is %{timeout} seconds. For
104
- # larger instances AMI burning may take long periods of time. Please
105
- # ensure the timeout is set high enough, it can be changed by adjusting
106
- # the `instance_package_timeout` configuration on the MOS provider.
107
72
  rsync_error: |-
108
73
  There was an error when attempting to rsync a shared folder.
109
74
  Please inspect the error message below for more info.
@@ -117,8 +82,6 @@ en:
117
82
 
118
83
  Host path: %{hostpath}
119
84
  Error: %{err}
120
- # elb_does_not_exist: |-
121
- # ELB configured for the instance does not exist
122
85
 
123
86
  states:
124
87
  short_not_created: |-
@@ -17,29 +17,15 @@ describe VagrantPlugins::MOS::Config do
17
17
 
18
18
  its("access_key_id") { should be_nil }
19
19
  its("ami") { should be_nil }
20
- #its("availability_zone") { should be_nil }
21
20
  its("instance_ready_timeout") { should == 120 }
22
- #its("instance_package_timeout") { should == 600 }
23
21
  its("instance_type") { should == "C1_M2" }
24
22
  its("keypair_name") { should be_nil }
25
- #its("private_ip_address") { should be_nil }
26
23
  its("region") { should == "us-east-1" }
27
24
  its("secret_access_key") { should be_nil }
28
25
  its("secret_access_url") { should be_nil }
29
- #its("security_groups") { should == [] }
30
- #its("subnet_id") { should be_nil }
31
- #its("iam_instance_profile_arn") { should be_nil }
32
- #its("iam_instance_profile_name") { should be_nil }
33
- #its("tags") { should == {} }
34
- #its("user_data") { should be_nil }
35
26
  its("use_iam_profile") { should be_false }
36
- #its("block_device_mapping") {should == [] }
37
- #its("elastic_ip") { should be_nil }
38
27
  its("terminate_on_shutdown") { should == false }
39
28
  its("ssh_host_attribute") { should be_nil }
40
- #its("monitoring") { should == false }
41
- #its("ebs_optimized") { should == false }
42
- #its("associate_public_ip") { should == false }
43
29
  end
44
30
 
45
31
  describe "overriding defaults" do
@@ -203,21 +189,6 @@ describe VagrantPlugins::MOS::Config do
203
189
  describe "merging" do
204
190
  let(:first) { described_class.new }
205
191
  let(:second) { described_class.new }
206
-
207
- #it "should merge the tags and block_device_mappings" do
208
- # first.tags["one"] = "one"
209
- # second.tags["two"] = "two"
210
- # first.block_device_mapping = [{:one => "one"}]
211
- # second.block_device_mapping = [{:two => "two"}]
212
- #
213
- # third = first.merge(second)
214
- # third.tags.should == {
215
- # "one" => "one",
216
- # "two" => "two"
217
- # }
218
- # third.block_device_mapping.index({:one => "one"}).should_not be_nil
219
- # third.block_device_mapping.index({:two => "two"}).should_not be_nil
220
- #end
221
192
  end
222
193
  end
223
194
  end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-mos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.70
4
+ version: 0.8.80
5
5
  platform: ruby
6
6
  authors:
7
7
  - yangcs2009
@@ -139,6 +139,7 @@ files:
139
139
  - spec/vagrant-mos/config_spec.rb
140
140
  - templates/metadata.json.erb
141
141
  - templates/vagrant-aws_package_Vagrantfile.erb
142
+ - vagrant-mos-0.8.70.gem
142
143
  - vagrant-mos.gemspec
143
144
  homepage: http://www.vagrantup.com
144
145
  licenses: