vagrant-mos 0.9.22 → 0.9.23
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 +4 -4
- data/README.md +6 -4
- data/lib/vagrant-mos/action/run_instance.rb +9 -4
- data/lib/vagrant-mos/config.rb +25 -7
- data/lib/vagrant-mos/version.rb +1 -1
- data/spec/vagrant-mos/config_spec.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db7ff4eacde4cbb5229ac829e02010269eadcbdf
|
4
|
+
data.tar.gz: 3ad07e6f11dd8136e64cb96091628e587de03589
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6269d10fc10bf6378f2fcd0cf49ebab5adf25ad6367e80fb09a89ef03aa4ecb35c1b33e747b087fccb88d329459b5972566867c8521324e8c11593b0d5e2aac
|
7
|
+
data.tar.gz: db39fd83ab78a91065f997d3aee02f7f157b49e3693f98615c0f86e8e58bbe1e43c988bbed6606cf65cab016fa550c54af25523ae612af9fabe6e3fc62c44559
|
data/README.md
CHANGED
@@ -60,9 +60,9 @@ Vagrant.configure("2") do |config|
|
|
60
60
|
mos.access_secret = "YOUR SECRET KEY"
|
61
61
|
mos.access_url = "YOUR MOS ACCESS URL"
|
62
62
|
mos.keypair_name = "KEYPAIR NAME"
|
63
|
-
|
64
63
|
mos.template_id = "fa1026fe-c082-4ead-8458-802bf65ca64c"
|
65
|
-
|
64
|
+
mos.data_disk = 100
|
65
|
+
mos.band_with = 10
|
66
66
|
override.ssh.username = "root"
|
67
67
|
override.ssh.private_key_path = "PATH TO YOUR PRIVATE KEY"
|
68
68
|
end
|
@@ -86,8 +86,10 @@ MOS provider设置了若干参数,主要参数说明如下:
|
|
86
86
|
* `access_secret` - 访问美团云的secret
|
87
87
|
* `access_url` -访问美团云的url
|
88
88
|
* `region` - 创建主机的region,例如 "us-east-1"
|
89
|
-
* `template_id` - 创建美团云主机的镜像,例如 "fa1026fe-c082-4ead-8458-802bf65ca64c",用户可以使用`vagrant mos-templates`查看可以使用的镜像
|
90
|
-
* `
|
89
|
+
* `template_id` - 创建美团云主机的镜像,例如 "fa1026fe-c082-4ead-8458-802bf65ca64c",用户可以使用`vagrant mos-templates`查看可以使用的镜像
|
90
|
+
* `data_disk` - 创建美团云主机的数据盘大小,单位为GB,例如100代表创建100G的数据盘
|
91
|
+
* `band_width` - 创建美团云主机的外网带宽大小,单位为Mbps,例如10代表选择10Mbps的外网带宽
|
92
|
+
* `instance_ready_timeout` - 等待MOS主机创建成功最长时间,单位为秒。默认为120s
|
91
93
|
* `instance_name` - 创建的MOS主机名称,例如 "ubuntu007"。
|
92
94
|
* `instance_type` - 创建的MOS主机类型,例如"C1_M1". 默认配置为 "C1_M2".
|
93
95
|
* `keypair_name` - 用户使用的秘钥名称。通过使用秘钥,用户登录该创建的主机时就不需要在输入繁琐的密码了
|
@@ -26,6 +26,8 @@ module VagrantPlugins
|
|
26
26
|
|
27
27
|
# Get the configs
|
28
28
|
region_config = env[:machine].provider_config.get_region_config(region)
|
29
|
+
data_disk = region_config.data_disk
|
30
|
+
band_width = region_config.band_width
|
29
31
|
template_id = region_config.template_id
|
30
32
|
name = region_config.name
|
31
33
|
instance_type = region_config.instance_type
|
@@ -39,10 +41,11 @@ module VagrantPlugins
|
|
39
41
|
|
40
42
|
# Launch!
|
41
43
|
env[:ui].info(I18n.t("vagrant_mos.launching_instance"))
|
42
|
-
env[:ui].info(" --
|
43
|
-
env[:ui].info(" --
|
44
|
+
env[:ui].info(" -- Machine_name: #{name}") if name
|
45
|
+
env[:ui].info(" -- Instance_type: #{instance_type}")
|
44
46
|
env[:ui].info(" -- Template_id: #{template_id}")
|
45
|
-
|
47
|
+
env[:ui].info(" -- Data_disk: #{data_disk}")
|
48
|
+
env[:ui].info(" -- Band_width: #{band_width}")
|
46
49
|
env[:ui].info(" -- Keypair: #{keypair}") if keypair
|
47
50
|
env[:ui].info(" -- Terminate On Shutdown: #{terminate_on_shutdown}")
|
48
51
|
|
@@ -50,13 +53,15 @@ module VagrantPlugins
|
|
50
53
|
:flavor_id => instance_type,
|
51
54
|
:name => name,
|
52
55
|
:template_id => template_id,
|
56
|
+
:data_disk => data_disk,
|
57
|
+
:band_width => band_width,
|
53
58
|
:key_name => keypair,
|
54
59
|
:instance_initiated_shutdown_behavior => terminate_on_shutdown == true ? "terminate" : nil,
|
55
60
|
}
|
56
61
|
|
57
62
|
begin
|
58
63
|
# create a handler to access MOS
|
59
|
-
server = env[:mos_compute].create_instance(options[:template_id], options[:flavor_id], nil, options[:name], options[:key_name], datadisk
|
64
|
+
server = env[:mos_compute].create_instance(options[:template_id], options[:flavor_id], nil, options[:name], options[:key_name], options[:datadisk], options[:bandwidth])
|
60
65
|
rescue Exception => e
|
61
66
|
raise Errors::MosError, :message => e.message
|
62
67
|
end
|
data/lib/vagrant-mos/config.rb
CHANGED
@@ -8,11 +8,21 @@ module VagrantPlugins
|
|
8
8
|
# @return [String]
|
9
9
|
attr_accessor :access_key
|
10
10
|
|
11
|
-
# The ID of the
|
11
|
+
# The ID of the template to use.
|
12
12
|
#
|
13
13
|
# @return [String]
|
14
14
|
attr_accessor :template_id
|
15
15
|
|
16
|
+
# The data_disk of the instance to create.
|
17
|
+
#
|
18
|
+
# @return [String]
|
19
|
+
attr_accessor :data_disk
|
20
|
+
|
21
|
+
# The band_width of the instance to create.
|
22
|
+
#
|
23
|
+
# @return [String]
|
24
|
+
attr_accessor :band_width
|
25
|
+
|
16
26
|
# The name of the instance to create.
|
17
27
|
#
|
18
28
|
# @return [String]
|
@@ -75,16 +85,18 @@ module VagrantPlugins
|
|
75
85
|
attr_accessor :ssh_host_attribute
|
76
86
|
|
77
87
|
def initialize(region_specific=false)
|
78
|
-
@access_key
|
79
|
-
@template_id
|
88
|
+
@access_key = UNSET_VALUE
|
89
|
+
@template_id = UNSET_VALUE
|
90
|
+
@data_disk = UNSET_VALUE
|
91
|
+
@band_width = UNSET_VALUE
|
80
92
|
@instance_ready_timeout = UNSET_VALUE
|
81
93
|
@name = UNSET_VALUE
|
82
94
|
@instance_type = UNSET_VALUE
|
83
95
|
@keypair_name = UNSET_VALUE
|
84
96
|
@region = UNSET_VALUE
|
85
97
|
@version = UNSET_VALUE
|
86
|
-
@access_secret
|
87
|
-
@access_url
|
98
|
+
@access_secret = UNSET_VALUE
|
99
|
+
@access_url = UNSET_VALUE
|
88
100
|
@use_iam_profile = UNSET_VALUE
|
89
101
|
@terminate_on_shutdown = UNSET_VALUE
|
90
102
|
@ssh_host_attribute = UNSET_VALUE
|
@@ -158,12 +170,18 @@ module VagrantPlugins
|
|
158
170
|
# Try to get access keys from standard MOS environment variables; they
|
159
171
|
# will default to nil if the environment variables are not present.
|
160
172
|
@access_key = ENV['MOS_ACCESS_KEY'] if @access_key == UNSET_VALUE
|
161
|
-
@access_secret
|
162
|
-
@access_url
|
173
|
+
@access_secret = ENV['MOS_SECRET_KEY'] if @access_secret == UNSET_VALUE
|
174
|
+
@access_url = ENV['MOS_SECRET_URL'] if @access_url == UNSET_VALUE
|
163
175
|
|
164
176
|
# Template_id must be nil, since we can't default that
|
165
177
|
@template_id = nil if @template_id == UNSET_VALUE
|
166
178
|
|
179
|
+
# Default data_disk
|
180
|
+
@data_disk = 10 if @data_disk == UNSET_VALUE
|
181
|
+
|
182
|
+
# Default band_width
|
183
|
+
@band_width = 2 if @band_width == UNSET_VALUE
|
184
|
+
|
167
185
|
# Default instance name is nil
|
168
186
|
@name = nil if @name == UNSET_VALUE
|
169
187
|
|
data/lib/vagrant-mos/version.rb
CHANGED
@@ -34,7 +34,7 @@ describe VagrantPlugins::MOS::Config do
|
|
34
34
|
# simple boilerplate test, so I cut corners here. It just sets
|
35
35
|
# each of these attributes to "foo" in isolation, and reads the value
|
36
36
|
# and asserts the proper result comes back out.
|
37
|
-
[:access_key, :template_id, :instance_ready_timeout
|
37
|
+
[:access_key, :template_id, :data_disk, :band_width, :instance_ready_timeout, :name,
|
38
38
|
:instance_type, :keypair_name, :ssh_host_attribute,
|
39
39
|
:region, :access_secret, :access_url, :terminate_on_shutdown,
|
40
40
|
:use_iam_profile].each do |attribute|
|