vagrant-mos 0.8.70 → 0.8.80

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 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: