vagrant-openstack-plugin-tom 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +20 -0
- data/.travis.yml +11 -0
- data/Authors.txt +11 -0
- data/CHANGELOG.md +185 -0
- data/Gemfile +10 -0
- data/LICENSE.txt +23 -0
- data/README.md +278 -0
- data/Rakefile +21 -0
- data/dummy.box +0 -0
- data/example_box/README.md +13 -0
- data/example_box/metadata.json +3 -0
- data/example_vagrant_file +24 -0
- data/lib/vagrant-openstack-plugin.rb +53 -0
- data/lib/vagrant-openstack-plugin/action.rb +268 -0
- data/lib/vagrant-openstack-plugin/action/connect_openstack.rb +90 -0
- data/lib/vagrant-openstack-plugin/action/create_network_interfaces.rb +52 -0
- data/lib/vagrant-openstack-plugin/action/create_orchestration_stack.rb +97 -0
- data/lib/vagrant-openstack-plugin/action/create_server.rb +263 -0
- data/lib/vagrant-openstack-plugin/action/delete_orchestration_stack.rb +78 -0
- data/lib/vagrant-openstack-plugin/action/delete_server.rb +84 -0
- data/lib/vagrant-openstack-plugin/action/hard_reboot_server.rb +27 -0
- data/lib/vagrant-openstack-plugin/action/is_created.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/is_paused.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/is_snapshoting.rb +24 -0
- data/lib/vagrant-openstack-plugin/action/is_suspended.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/message_already_created.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/message_already_paused.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/message_already_suspended.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/message_not_created.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/message_server_running.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/message_snapshot_done.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/message_snapshot_in_progress.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/message_will_not_destroy.rb +16 -0
- data/lib/vagrant-openstack-plugin/action/pause_server.rb +27 -0
- data/lib/vagrant-openstack-plugin/action/read_ssh_info.rb +103 -0
- data/lib/vagrant-openstack-plugin/action/read_state.rb +39 -0
- data/lib/vagrant-openstack-plugin/action/reboot_server.rb +27 -0
- data/lib/vagrant-openstack-plugin/action/resume_server.rb +31 -0
- data/lib/vagrant-openstack-plugin/action/suspend_server.rb +27 -0
- data/lib/vagrant-openstack-plugin/action/sync_folders.rb +104 -0
- data/lib/vagrant-openstack-plugin/action/take_snapshot.rb +26 -0
- data/lib/vagrant-openstack-plugin/action/wait_for_state.rb +39 -0
- data/lib/vagrant-openstack-plugin/action/wait_for_task.rb +44 -0
- data/lib/vagrant-openstack-plugin/action/warn_networks.rb +19 -0
- data/lib/vagrant-openstack-plugin/command.rb +70 -0
- data/lib/vagrant-openstack-plugin/command/command_snapshot.rb +43 -0
- data/lib/vagrant-openstack-plugin/config.rb +246 -0
- data/lib/vagrant-openstack-plugin/errors.rb +71 -0
- data/lib/vagrant-openstack-plugin/plugin.rb +45 -0
- data/lib/vagrant-openstack-plugin/provider.rb +50 -0
- data/lib/vagrant-openstack-plugin/version.rb +5 -0
- data/locales/en.yml +154 -0
- data/spec/vagrant-openstack-plugin/config_spec.rb +152 -0
- data/vagrant-openstack-plugin.gemspec +24 -0
- metadata +142 -0
@@ -0,0 +1,246 @@
|
|
1
|
+
require "vagrant"
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module OpenStack
|
5
|
+
class Config < Vagrant.plugin("2", :config)
|
6
|
+
# The API key to access OpenStack.
|
7
|
+
#
|
8
|
+
# @return [String]
|
9
|
+
attr_accessor :api_key
|
10
|
+
|
11
|
+
# The endpoint to access OpenStack. If nil, it will default
|
12
|
+
# to DFW.
|
13
|
+
#
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :endpoint
|
16
|
+
|
17
|
+
# The flavor of server to launch, either the ID or name. This
|
18
|
+
# can also be a regular expression to partially match a name.
|
19
|
+
attr_accessor :flavor
|
20
|
+
|
21
|
+
# The name or ID of the image to use. This can also be a regular
|
22
|
+
# expression to partially match a name.
|
23
|
+
attr_accessor :image
|
24
|
+
|
25
|
+
# The name of the server. This defaults to the name of the machine
|
26
|
+
# defined by Vagrant (via `config.vm.define`), but can be overriden
|
27
|
+
# here.
|
28
|
+
attr_accessor :server_name
|
29
|
+
|
30
|
+
# The username to access OpenStack.
|
31
|
+
#
|
32
|
+
# @return [String]
|
33
|
+
attr_accessor :username
|
34
|
+
|
35
|
+
# The name of the keypair to use.
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
attr_accessor :keypair_name
|
39
|
+
|
40
|
+
# Network configurations for the instance
|
41
|
+
#
|
42
|
+
# @return [String]
|
43
|
+
attr_accessor :network
|
44
|
+
|
45
|
+
# @return [Array]
|
46
|
+
attr_accessor :networks
|
47
|
+
|
48
|
+
# A specific address identifier to use when connecting.
|
49
|
+
# Overrides `network` above if both are set.
|
50
|
+
#
|
51
|
+
attr_accessor :address_id
|
52
|
+
|
53
|
+
# Pass hints to the OpenStack scheduler, e.g. { "cell": "some cell name" }
|
54
|
+
attr_accessor :scheduler_hints
|
55
|
+
|
56
|
+
# Specify the availability zone in which to create the instance
|
57
|
+
attr_accessor :availability_zone
|
58
|
+
|
59
|
+
# List of strings representing the security groups to apply.
|
60
|
+
# e.g. ['ssh', 'http']
|
61
|
+
#
|
62
|
+
# @return [Array[String]]
|
63
|
+
attr_accessor :security_groups
|
64
|
+
|
65
|
+
# The SSH username to use with this OpenStack instance. This overrides
|
66
|
+
# the `config.ssh.username` variable.
|
67
|
+
#
|
68
|
+
# @return [String]
|
69
|
+
attr_accessor :ssh_username
|
70
|
+
|
71
|
+
# The IP address family that will be used to connect to the instance
|
72
|
+
#
|
73
|
+
# @return [String]
|
74
|
+
attr_accessor :ssh_ip_family
|
75
|
+
|
76
|
+
# A Hash of metadata that will be sent to the instance for configuration
|
77
|
+
#
|
78
|
+
# @return [Hash]
|
79
|
+
attr_accessor :metadata
|
80
|
+
|
81
|
+
# The tenant to use.
|
82
|
+
#
|
83
|
+
# @return [String]
|
84
|
+
attr_accessor :tenant
|
85
|
+
|
86
|
+
# User data to be sent to the newly created OpenStack instance. Use this
|
87
|
+
# e.g. to inject a script at boot time.
|
88
|
+
#
|
89
|
+
# @return [String]
|
90
|
+
attr_accessor :user_data
|
91
|
+
|
92
|
+
# The floating IP address from the IP pool which will be assigned to the instance.
|
93
|
+
#
|
94
|
+
# @return [String]
|
95
|
+
attr_accessor :floating_ip
|
96
|
+
|
97
|
+
# The floating IP pool from which IP addresses can be allocated
|
98
|
+
#
|
99
|
+
# @return [String]
|
100
|
+
attr_accessor :floating_ip_pool
|
101
|
+
|
102
|
+
# The region to specify when the OpenStack cloud has multiple regions
|
103
|
+
#
|
104
|
+
# @return [String]
|
105
|
+
attr_accessor :region
|
106
|
+
|
107
|
+
# The region to specify when the OpenStack cloud has multiple regions
|
108
|
+
#
|
109
|
+
# @return [String]
|
110
|
+
attr_accessor :project_name
|
111
|
+
|
112
|
+
# The region to specify when the OpenStack cloud has multiple regions
|
113
|
+
#
|
114
|
+
# @return [String]
|
115
|
+
attr_accessor :project_domain
|
116
|
+
|
117
|
+
# The region to specify when the OpenStack cloud has multiple regions
|
118
|
+
#
|
119
|
+
# @return [String]
|
120
|
+
attr_accessor :user_domain
|
121
|
+
|
122
|
+
# The proxy to specify when making connection to OpenStack API.
|
123
|
+
#
|
124
|
+
# @return [String]
|
125
|
+
attr_accessor :proxy
|
126
|
+
|
127
|
+
# The disks to create as OpenStack volumes.
|
128
|
+
#
|
129
|
+
# @return [Array]
|
130
|
+
attr_accessor :disks
|
131
|
+
|
132
|
+
# Value for SSL_VERIFY_PEER, defaults to true. Set to false for self
|
133
|
+
# signed ssl certificate
|
134
|
+
attr_accessor :ssl_verify_peer
|
135
|
+
|
136
|
+
# Heat orchestration configuration parameters.
|
137
|
+
attr_accessor :orchestration_stack_name
|
138
|
+
attr_accessor :orchestration_stack_destroy
|
139
|
+
attr_accessor :orchestration_cfn_template
|
140
|
+
attr_accessor :orchestration_cfn_template_file
|
141
|
+
attr_accessor :orchestration_cfn_template_url
|
142
|
+
attr_accessor :orchestration_cfn_template_parameters
|
143
|
+
|
144
|
+
def initialize
|
145
|
+
@api_key = UNSET_VALUE
|
146
|
+
@endpoint = UNSET_VALUE
|
147
|
+
@flavor = UNSET_VALUE
|
148
|
+
@image = UNSET_VALUE
|
149
|
+
@server_name = UNSET_VALUE
|
150
|
+
@metatdata = UNSET_VALUE
|
151
|
+
@username = UNSET_VALUE
|
152
|
+
@keypair_name = UNSET_VALUE
|
153
|
+
@network = UNSET_VALUE
|
154
|
+
@networks = UNSET_VALUE
|
155
|
+
@address_id = UNSET_VALUE
|
156
|
+
@scheduler_hints = UNSET_VALUE
|
157
|
+
@availability_zone = UNSET_VALUE
|
158
|
+
@security_groups = UNSET_VALUE
|
159
|
+
@ssh_username = UNSET_VALUE
|
160
|
+
@ssh_ip_family = UNSET_VALUE
|
161
|
+
@tenant = UNSET_VALUE
|
162
|
+
@user_data = UNSET_VALUE
|
163
|
+
@floating_ip = UNSET_VALUE
|
164
|
+
@floating_ip_pool = UNSET_VALUE
|
165
|
+
@region = UNSET_VALUE
|
166
|
+
@project_name = UNSET_VALUE
|
167
|
+
@project_domain = UNSET_VALUE
|
168
|
+
@user_domain = UNSET_VALUE
|
169
|
+
@proxy = UNSET_VALUE
|
170
|
+
@ssl_verify_peer = UNSET_VALUE
|
171
|
+
@disks = UNSET_VALUE
|
172
|
+
@orchestration_stack_name = UNSET_VALUE
|
173
|
+
@orchestration_stack_destroy = UNSET_VALUE
|
174
|
+
@orchestration_cfn_template = UNSET_VALUE
|
175
|
+
@orchestration_cfn_template_file = UNSET_VALUE
|
176
|
+
@orchestration_cfn_template_url = UNSET_VALUE
|
177
|
+
@orchestration_cfn_template_parameters = UNSET_VALUE
|
178
|
+
end
|
179
|
+
|
180
|
+
def finalize!
|
181
|
+
@api_key = nil if @api_key == UNSET_VALUE
|
182
|
+
@endpoint = nil if @endpoint == UNSET_VALUE
|
183
|
+
@flavor = /m1.tiny/ if @flavor == UNSET_VALUE
|
184
|
+
@image = /cirros/ if @image == UNSET_VALUE
|
185
|
+
@server_name = nil if @server_name == UNSET_VALUE
|
186
|
+
@metadata = nil if @metadata == UNSET_VALUE
|
187
|
+
@username = nil if @username == UNSET_VALUE
|
188
|
+
@network = nil if @network == UNSET_VALUE
|
189
|
+
@networks = nil if @networks == UNSET_VALUE
|
190
|
+
@address_id = 'public' if @address_id == UNSET_VALUE
|
191
|
+
|
192
|
+
# Keypair defaults to nil
|
193
|
+
@keypair_name = nil if @keypair_name == UNSET_VALUE
|
194
|
+
|
195
|
+
@scheduler_hints = nil if @scheduler_hints == UNSET_VALUE
|
196
|
+
@availability_zone = nil if @availability_zone == UNSET_VALUE
|
197
|
+
@security_groups = nil if @security_groups == UNSET_VALUE
|
198
|
+
|
199
|
+
# The SSH values by default are nil, and the top-level config
|
200
|
+
# `config.ssh` values are used.
|
201
|
+
@ssh_username = nil if @ssh_username == UNSET_VALUE
|
202
|
+
@ssh_ip_family = nil if @ssh_ip_family == UNSET_VALUE
|
203
|
+
|
204
|
+
@tenant = nil if @tenant == UNSET_VALUE
|
205
|
+
@user_data = "" if @user_data == UNSET_VALUE
|
206
|
+
@floating_ip = nil if @floating_ip == UNSET_VALUE
|
207
|
+
@floating_ip_pool = nil if @floating_ip_pool == UNSET_VALUE
|
208
|
+
|
209
|
+
@region = nil if @region == UNSET_VALUE
|
210
|
+
@project_name = nil if @project_name == UNSET_VALUE
|
211
|
+
@project_domain = nil if @project_domain == UNSET_VALUE
|
212
|
+
@user_domain = nil if @user_domain == UNSET_VALUE
|
213
|
+
|
214
|
+
@disks = nil if @disks == UNSET_VALUE
|
215
|
+
|
216
|
+
@region = nil if @region == UNSET_VALUE
|
217
|
+
@proxy = nil if @proxy == UNSET_VALUE
|
218
|
+
@ssl_verify_peer = nil if @ssl_verify_peer == UNSET_VALUE
|
219
|
+
|
220
|
+
@orchestration_stack_name = nil if @orchestration_stack_name == UNSET_VALUE
|
221
|
+
@orchestration_stack_destroy = false if @orchestration_stack_destroy == UNSET_VALUE
|
222
|
+
@orchestration_cfn_template = nil if @orchestration_cfn_template == UNSET_VALUE
|
223
|
+
@orchestration_cfn_template_file = nil if @orchestration_cfn_template_file == UNSET_VALUE
|
224
|
+
@orchestration_cfn_template_url = nil if @orchestration_cfn_template_url == UNSET_VALUE
|
225
|
+
@orchestration_cfn_template_parameters = nil if @orchestration_cfn_template_parameters == UNSET_VALUE
|
226
|
+
end
|
227
|
+
|
228
|
+
def validate(machine)
|
229
|
+
errors = []
|
230
|
+
|
231
|
+
errors << I18n.t("vagrant_openstack.config.api_key_required") if !@api_key
|
232
|
+
errors << I18n.t("vagrant_openstack.config.username_required") if !@username
|
233
|
+
|
234
|
+
if @disks and @disks.any?{|a| not a.respond_to?("include?")}
|
235
|
+
errors << I18n.t("vagrant_openstack.config.disks.specification_required")
|
236
|
+
elsif @disks
|
237
|
+
errors << I18n.t("vagrant_openstack.config.disks.name_required") if @disks.any?{|a| not a.include?("name")}
|
238
|
+
errors << I18n.t("vagrant_openstack.config.disks.description_required") if @disks.any?{|a| not a.include?("description")}
|
239
|
+
errors << I18n.t("vagrant_openstack.config.disks.size_required") if @disks.any?{|a| not a.include?("size")}
|
240
|
+
end
|
241
|
+
|
242
|
+
{ "OpenStack Provider" => errors }
|
243
|
+
end
|
244
|
+
end
|
245
|
+
end
|
246
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require "vagrant"
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module OpenStack
|
5
|
+
module Errors
|
6
|
+
class VagrantOpenStackError < Vagrant::Errors::VagrantError
|
7
|
+
error_namespace("vagrant_openstack.errors")
|
8
|
+
end
|
9
|
+
|
10
|
+
class VolumeBadState < VagrantOpenStackError
|
11
|
+
error_key(:volume_bad_state)
|
12
|
+
end
|
13
|
+
|
14
|
+
class CreateBadState < VagrantOpenStackError
|
15
|
+
error_key(:create_bad_state)
|
16
|
+
end
|
17
|
+
|
18
|
+
class NoMatchingFlavor < VagrantOpenStackError
|
19
|
+
error_key(:no_matching_flavor)
|
20
|
+
end
|
21
|
+
|
22
|
+
class NoMatchingImage < VagrantOpenStackError
|
23
|
+
error_key(:no_matching_image)
|
24
|
+
end
|
25
|
+
|
26
|
+
class RsyncError < VagrantOpenStackError
|
27
|
+
error_key(:rsync_error)
|
28
|
+
end
|
29
|
+
|
30
|
+
class SSHNoValidHost < VagrantOpenStackError
|
31
|
+
error_key(:ssh_no_valid_host)
|
32
|
+
end
|
33
|
+
|
34
|
+
class FloatingIPNotValid < VagrantOpenStackError
|
35
|
+
error_key(:floating_ip_not_valid)
|
36
|
+
end
|
37
|
+
|
38
|
+
class FloatingIPNotFound < VagrantOpenStackError
|
39
|
+
error_key(:floating_ip_not_found)
|
40
|
+
end
|
41
|
+
|
42
|
+
class FloatingIPNotAllocated < VagrantOpenStackError
|
43
|
+
error_key(:floating_ip_not_allocated)
|
44
|
+
end
|
45
|
+
|
46
|
+
class FloatingUnassignedIPNotFound < VagrantOpenStackError
|
47
|
+
error_key(:floating_unassigned_ip_not_found)
|
48
|
+
end
|
49
|
+
|
50
|
+
class FloatingIPFailedAssociate < VagrantOpenStackError
|
51
|
+
error_key(:floating_ip_failed_associate)
|
52
|
+
end
|
53
|
+
|
54
|
+
class FloatingUnassignedRequiresPool < VagrantOpenStackError
|
55
|
+
error_key(:floating_unassigned_requires_pool)
|
56
|
+
end
|
57
|
+
|
58
|
+
class OrchestrationTemplateError < VagrantOpenStackError
|
59
|
+
error_key(:orchestration_template_error)
|
60
|
+
end
|
61
|
+
|
62
|
+
class OrchestrationNoTemplateFileError < VagrantOpenStackError
|
63
|
+
error_key(:orchestration_no_template_file_error)
|
64
|
+
end
|
65
|
+
|
66
|
+
class ServerNotDestroyed < VagrantOpenStackError
|
67
|
+
error_key(:server_not_destroyed)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
begin
|
2
|
+
require "vagrant"
|
3
|
+
rescue LoadError
|
4
|
+
raise "The OpenStack Cloud provider must be run within Vagrant."
|
5
|
+
end
|
6
|
+
|
7
|
+
# This is a sanity check to make sure no one is attempting to install
|
8
|
+
# this into an early Vagrant version.
|
9
|
+
if Vagrant::VERSION < "1.1.0"
|
10
|
+
raise "OpenStack Cloud provider is only compatible with Vagrant 1.1+"
|
11
|
+
end
|
12
|
+
|
13
|
+
module VagrantPlugins
|
14
|
+
module OpenStack
|
15
|
+
module Action
|
16
|
+
class Plugin < Vagrant.plugin("2")
|
17
|
+
name "OpenStack Cloud"
|
18
|
+
description <<-DESC
|
19
|
+
This plugin enables Vagrant to manage machines in OpenStack Cloud.
|
20
|
+
DESC
|
21
|
+
|
22
|
+
config(:openstack, :provider) do
|
23
|
+
require_relative "config"
|
24
|
+
Config
|
25
|
+
end
|
26
|
+
|
27
|
+
provider(:openstack, parallel: true) do
|
28
|
+
# Setup some things
|
29
|
+
OpenStack.init_i18n
|
30
|
+
OpenStack.init_logging
|
31
|
+
|
32
|
+
# Load the actual provider
|
33
|
+
require_relative "provider"
|
34
|
+
Provider
|
35
|
+
end
|
36
|
+
|
37
|
+
command "openstack" do
|
38
|
+
require_relative "command"
|
39
|
+
Command
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require "vagrant"
|
2
|
+
|
3
|
+
require "vagrant-openstack-plugin/action"
|
4
|
+
|
5
|
+
module VagrantPlugins
|
6
|
+
module OpenStack
|
7
|
+
class Provider < Vagrant.plugin("2", :provider)
|
8
|
+
def initialize(machine)
|
9
|
+
@machine = machine
|
10
|
+
end
|
11
|
+
|
12
|
+
def action(name)
|
13
|
+
# Attempt to get the action method from the Action class if it
|
14
|
+
# exists, otherwise return nil to show that we don't support the
|
15
|
+
# given action.
|
16
|
+
action_method = "action_#{name}"
|
17
|
+
return Action.send(action_method) if Action.respond_to?(action_method)
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
|
21
|
+
def ssh_info
|
22
|
+
# Run a custom action called "read_ssh_info" which does what it
|
23
|
+
# says and puts the resulting SSH info into the `:machine_ssh_info`
|
24
|
+
# key in the environment.
|
25
|
+
env = @machine.action("read_ssh_info")
|
26
|
+
env[:machine_ssh_info]
|
27
|
+
end
|
28
|
+
|
29
|
+
def state
|
30
|
+
# Run a custom action we define called "read_state" which does
|
31
|
+
# what it says. It puts the state in the `:machine_state_id`
|
32
|
+
# key in the environment.
|
33
|
+
env = @machine.action("read_state")
|
34
|
+
|
35
|
+
state_id = env[:machine_state_id]
|
36
|
+
|
37
|
+
# Get the short and long description
|
38
|
+
short = I18n.t("vagrant_openstack.states.short_#{state_id}")
|
39
|
+
long = I18n.t("vagrant_openstack.states.long_#{state_id}")
|
40
|
+
|
41
|
+
# Return the MachineState object
|
42
|
+
Vagrant::MachineState.new(state_id, short, long)
|
43
|
+
end
|
44
|
+
|
45
|
+
def to_s
|
46
|
+
"OpenStack Cloud"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/locales/en.yml
ADDED
@@ -0,0 +1,154 @@
|
|
1
|
+
en:
|
2
|
+
vagrant_openstack:
|
3
|
+
already_created: |-
|
4
|
+
The server is already created.
|
5
|
+
already_paused: |-
|
6
|
+
The server is already paused.
|
7
|
+
already_suspended: |-
|
8
|
+
The server is already suspended.
|
9
|
+
creating_disks: |-
|
10
|
+
Creating disks with the folowing settings...
|
11
|
+
deleting_server: |-
|
12
|
+
Deleting server...
|
13
|
+
deleting_volumes: |-
|
14
|
+
Deleting volumes...
|
15
|
+
finding_flavor: |-
|
16
|
+
Finding flavor for server...
|
17
|
+
finding_image: |-
|
18
|
+
Finding image for server...
|
19
|
+
finding_network: |-
|
20
|
+
Finding network for server...
|
21
|
+
hard_rebooting_server: |-
|
22
|
+
Hard rebooting server instance.
|
23
|
+
launching_server: |-
|
24
|
+
Launching a server with the following settings...
|
25
|
+
not_created: |-
|
26
|
+
The server hasn't been created yet. Run `vagrant up` first.
|
27
|
+
pausing_server: |-
|
28
|
+
The server instance has been paused.
|
29
|
+
ready: |-
|
30
|
+
The server is ready!
|
31
|
+
rebooting_server: |-
|
32
|
+
This server instance is rebooting!
|
33
|
+
snapshoting_server: |-
|
34
|
+
This server instance is snapshoting!
|
35
|
+
snapshot_done: |-
|
36
|
+
Snapshot is ok
|
37
|
+
snapshot_in_progress: |-
|
38
|
+
Snapshot is in progress
|
39
|
+
resuming_server: |-
|
40
|
+
The server instance has been resumed.
|
41
|
+
rsync_folder: |-
|
42
|
+
Rsyncing folder: %{hostpath} => %{guestpath}
|
43
|
+
server_running: |-
|
44
|
+
The instance '%{name}' is already running!
|
45
|
+
suspending_server: |-
|
46
|
+
The server instance has been suspended!
|
47
|
+
waiting_for_build: |-
|
48
|
+
Waiting for the server to be built...
|
49
|
+
waiting_for_ssh: |-
|
50
|
+
Waiting for SSH to become available...
|
51
|
+
warn_networks: |-
|
52
|
+
Warning! The OpenStack provider doesn't support any of the Vagrant
|
53
|
+
high-level network configurations (`config.vm.network`). They
|
54
|
+
will be silently ignored.
|
55
|
+
will_not_destroy: |-
|
56
|
+
The instance '%{name}' will not be destroyed, since the confirmation
|
57
|
+
was declined.
|
58
|
+
creating_orchestration_stack: |-
|
59
|
+
Creating orchestration stack...
|
60
|
+
deleting_orchestration_stacks: |-
|
61
|
+
Deleting orchestration stacks...
|
62
|
+
config:
|
63
|
+
api_key_required: |-
|
64
|
+
An API key is required.
|
65
|
+
username_required: |-
|
66
|
+
A username is required.
|
67
|
+
metadata_must_be_hash: |-
|
68
|
+
Metadata must be a hash.
|
69
|
+
disks:
|
70
|
+
specification_required: |-
|
71
|
+
A disk specification is required for a disk configuration (array of hashes including name, description and size keys).
|
72
|
+
name_required: |-
|
73
|
+
A disk name is required for all disk specifications.
|
74
|
+
description_required: |-
|
75
|
+
A disk description is required for all disk specifications.
|
76
|
+
size_required: |-
|
77
|
+
A disk size is required for all disk specifications.
|
78
|
+
|
79
|
+
errors:
|
80
|
+
volume_bad_state: |-
|
81
|
+
The OpenStack volume '%{volume}' requested is in an unexpected state:
|
82
|
+
'%{state}'
|
83
|
+
Please run `vagrant destroy` if you want to start over.
|
84
|
+
create_bad_state: |-
|
85
|
+
While creating the server, it transitioned to an unexpected
|
86
|
+
state: '%{state}', instead of properly booting. Run `vagrant status`
|
87
|
+
to find out what can be done about this state, or `vagrant destroy`
|
88
|
+
if you want to start over.
|
89
|
+
no_matching_flavor: |-
|
90
|
+
No matching flavor was found! Please check your flavor setting
|
91
|
+
to make sure you have a valid flavor chosen.
|
92
|
+
no_matching_image: |-
|
93
|
+
No matching image was found! Please check your image setting to
|
94
|
+
make sure you have a valid image chosen.
|
95
|
+
rsync_error: |-
|
96
|
+
There was an error when attemping to rsync a share folder.
|
97
|
+
Please inspect the error message below for more info.
|
98
|
+
|
99
|
+
Host path: %{hostpath}
|
100
|
+
Guest path: %{guestpath}
|
101
|
+
Error: %{stderr}
|
102
|
+
ssh_no_valid_host: |-
|
103
|
+
Unable to determine what host to connect to. Run `vagrant up` in
|
104
|
+
debug mode to see a list of networks available to your tenant.
|
105
|
+
Then set either `os.network` or `os.address_id` to one of the
|
106
|
+
network names.
|
107
|
+
floating_ip_not_valid: |-
|
108
|
+
The floating IP specified in the Vagrantfile does not match an
|
109
|
+
available public IP address returned by OpenStack.
|
110
|
+
floating_ip_not_found: |-
|
111
|
+
A floating IP could not be allocated, as no available floating
|
112
|
+
IPs were found in OpenStack
|
113
|
+
floating_ip_not_allocated: |-
|
114
|
+
A floating IP could not be allocated from the pool.
|
115
|
+
floating_unassigned_ip_not_found: |-
|
116
|
+
An unassigned floating IP could not be found in the specified pool.
|
117
|
+
floating_ip_failed_associate: |-
|
118
|
+
The selected IP failed to associate
|
119
|
+
floating_unassigned_requires_pool: |-
|
120
|
+
You must specifiy a pool in floating_ip_pool when using associate_unassigned
|
121
|
+
orchestration_template_error: |-
|
122
|
+
There was an error while reading orchestration template.
|
123
|
+
Error: %{err}
|
124
|
+
orchestration_no_template_file_error: |-
|
125
|
+
Orchestration template file not found (%{fname}).
|
126
|
+
server_not_destroyed: |-
|
127
|
+
OpenStack server was not fully destroyed.
|
128
|
+
|
129
|
+
states:
|
130
|
+
short_active: |-
|
131
|
+
active
|
132
|
+
long_active: |-
|
133
|
+
The server is up and running. Run `vagrant ssh` to access it.
|
134
|
+
short_build: |-
|
135
|
+
building
|
136
|
+
short_suspended: |-
|
137
|
+
suspended
|
138
|
+
short_paused: |-
|
139
|
+
paused
|
140
|
+
short_shutoff: |-
|
141
|
+
shutdown
|
142
|
+
long_build: |-
|
143
|
+
The server is currently being built. You must wait for this to
|
144
|
+
complete before you can access it. You can delete the server, however,
|
145
|
+
by running `vagrant destroy`.
|
146
|
+
short_error: |-
|
147
|
+
error
|
148
|
+
long_error: |-
|
149
|
+
The server is in an erroneous state. Destroy the machine with
|
150
|
+
`vagrant destroy`.
|
151
|
+
short_not_created: |-
|
152
|
+
not created
|
153
|
+
long_not_created: |-
|
154
|
+
The server is not created. Run `vagrant up` to create it.
|