vagrant-rackspace 0.1.7 → 0.1.8
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/CHANGELOG.md +16 -0
- data/Gemfile +6 -2
- data/README.md +16 -27
- data/Vagrantfile +1 -0
- data/lib/vagrant-rackspace/action.rb +10 -2
- data/lib/vagrant-rackspace/action/create_server.rb +11 -9
- data/lib/vagrant-rackspace/action/sync_folders.rb +3 -2
- data/lib/vagrant-rackspace/config.rb +7 -0
- data/lib/vagrant-rackspace/version.rb +1 -1
- data/locales/en.yml +3 -0
- data/spec/vagrant-rackspace/config_spec.rb +3 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7324f904ffa180128b4c16db1c61a2ca9aa86ba8
|
4
|
+
data.tar.gz: 83d9122d95c830e14093e988fbc72329aa14e6a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6e0ffe9c336faa5cb93752b42a2d73aabc67ff8f728128eac860d0e1100090fc53a9c0219aa9f8ef1986103b1473155f96a9c8fb2fafb96aa5e18f3ca128999
|
7
|
+
data.tar.gz: 2420f4a7ff9decf897cecd34501ec39e713d84731f342ac464552ad5dd9888c5f14c7b8822ee6b3ea63f637b15def31fe72bf5e43dddcb056de68041d6f97bee
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
# 0.1.8 (June 20, 2014)
|
2
|
+
|
3
|
+
FEATURES:
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
IMPROVEMENTS:
|
8
|
+
|
9
|
+
- Copy symlinks when syncing folders using older versions of vagrant [GH-89]
|
10
|
+
- Update vagrant to allow users to specify non-standard images and flavors [GH-101]
|
11
|
+
|
12
|
+
BUG FIXES:
|
13
|
+
|
14
|
+
- Fixed windows path issue when syncing folders older versions of vagrant [GH-96]
|
15
|
+
|
16
|
+
|
1
17
|
# 0.1.7 (March 13, 2014)
|
2
18
|
|
3
19
|
FEATURES:
|
data/Gemfile
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
3
|
+
|
4
|
+
group :plugins do
|
5
|
+
gemspec
|
6
|
+
gem 'vagrant', :git => 'https://github.com/mitchellh/vagrant'
|
7
|
+
end
|
4
8
|
|
5
9
|
gem "appraisal", "1.0.0.beta2"
|
6
|
-
gem "vagrant", :git => "git://github.com/mitchellh/vagrant.git", :tag => "v1.4.3"
|
7
10
|
|
8
11
|
group :development do
|
9
12
|
# We depend on Vagrant for development, but we don't add it as a
|
@@ -13,3 +16,4 @@ group :development do
|
|
13
16
|
gem 'pry'
|
14
17
|
end
|
15
18
|
|
19
|
+
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
# Vagrant
|
1
|
+
# Vagrant Rackspace Cloud Provider
|
2
2
|
|
3
3
|
This is a [Vagrant](http://www.vagrantup.com) 1.1+ plugin that adds a
|
4
|
-
[
|
5
|
-
allowing Vagrant to control and provision machines within
|
4
|
+
[Rackspace Cloud](http://www.rackspace.com/cloud) provider to Vagrant,
|
5
|
+
allowing Vagrant to control and provision machines within Rackspace
|
6
6
|
cloud.
|
7
7
|
|
8
8
|
**Note:** This plugin requires Vagrant 1.1+.
|
@@ -35,7 +35,7 @@ box file for Vagrant.
|
|
35
35
|
The default configuration of the RHEL family of Linux distributions requires a tty in order to run sudo. Vagrant does not connect with a tty by default, so you may experience the error:
|
36
36
|
> sudo: sorry, you must have a tty to run sudo
|
37
37
|
|
38
|
-
The best way to
|
38
|
+
The best way to deal with this error is to upgrade to Vagrant 1.4 or later, and enable:
|
39
39
|
```ruby
|
40
40
|
config.ssh.pty = true
|
41
41
|
```
|
@@ -79,6 +79,18 @@ Note that normally a lot of this boilerplate is encoded within the box
|
|
79
79
|
file, but the box file used for the quick start, the "dummy" box, has
|
80
80
|
no preconfigured defaults.
|
81
81
|
|
82
|
+
### Flavors / Images
|
83
|
+
|
84
|
+
To determine what flavors and images are avliable in your region refer to the [Custom Commands](#custom-commands) section.
|
85
|
+
|
86
|
+
### RackConnect
|
87
|
+
|
88
|
+
If you are using RackConnect with vagrant, you will need to add the following line to the `config.vm.provider` section to prevent timeouts.
|
89
|
+
|
90
|
+
```
|
91
|
+
rs.rackconnect = true
|
92
|
+
```
|
93
|
+
|
82
94
|
## Custom Commands
|
83
95
|
|
84
96
|
The plugin includes several Rackspace-specific vagrant commands. You can get the
|
@@ -154,29 +166,6 @@ Vagrant.configure("2") do |config|
|
|
154
166
|
end
|
155
167
|
```
|
156
168
|
|
157
|
-
### Flavors
|
158
|
-
|
159
|
-
As of February 2, 2014, the available flavor names are:
|
160
|
-
|
161
|
-
* 512MB Standard Instance
|
162
|
-
* 1GB Standard Instance
|
163
|
-
* 2GB Standard Instance
|
164
|
-
* 4GB Standard Instance
|
165
|
-
* 8GB Standard Instance
|
166
|
-
* 15GB Standard Instance
|
167
|
-
* 30GB Standard Instance
|
168
|
-
* 1 GB Performance
|
169
|
-
* 2 GB Performance
|
170
|
-
* 4 GB Performance
|
171
|
-
* 8 GB Performance
|
172
|
-
* 120 GB Performance
|
173
|
-
* 15 GB Performance
|
174
|
-
* 30 GB Performance
|
175
|
-
* 60 GB Performance
|
176
|
-
* 90 GB Performance
|
177
|
-
|
178
|
-
Please note that the standard instances are deprecated in favor of our performance flavors.
|
179
|
-
|
180
169
|
## Networks
|
181
170
|
|
182
171
|
Networking features in the form of `config.vm.network` are not
|
data/Vagrantfile
CHANGED
@@ -14,6 +14,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
14
14
|
config.vm.box = "dummy"
|
15
15
|
config.vm.provider :rackspace do |rs|
|
16
16
|
rs.username = ENV['RAX_USERNAME']
|
17
|
+
rs.admin_password = ENV['VAGRANT_ADMIN_PASSWORD']
|
17
18
|
rs.api_key = ENV['RAX_API_KEY']
|
18
19
|
rs.flavor = /1 GB Performance/
|
19
20
|
rs.image = /Ubuntu/
|
@@ -36,7 +36,11 @@ module VagrantPlugins
|
|
36
36
|
end
|
37
37
|
|
38
38
|
b2.use Provision
|
39
|
-
|
39
|
+
if defined?(SyncedFolders)
|
40
|
+
b2.use SyncedFolders
|
41
|
+
else
|
42
|
+
b2.use SyncFolders
|
43
|
+
end
|
40
44
|
end
|
41
45
|
end
|
42
46
|
end
|
@@ -102,7 +106,11 @@ module VagrantPlugins
|
|
102
106
|
|
103
107
|
b2.use ConnectRackspace
|
104
108
|
b2.use Provision
|
105
|
-
|
109
|
+
if defined?(SyncedFolders)
|
110
|
+
b2.use SyncedFolders
|
111
|
+
else
|
112
|
+
b2.use SyncFolders
|
113
|
+
end
|
106
114
|
b2.use CreateServer
|
107
115
|
end
|
108
116
|
end
|
@@ -21,12 +21,12 @@ module VagrantPlugins
|
|
21
21
|
|
22
22
|
# Find the flavor
|
23
23
|
env[:ui].info(I18n.t("vagrant_rackspace.finding_flavor"))
|
24
|
-
flavor = find_matching(env[:rackspace_compute].flavors
|
24
|
+
flavor = find_matching(env[:rackspace_compute].flavors, config.flavor)
|
25
25
|
raise Errors::NoMatchingFlavor if !flavor
|
26
26
|
|
27
27
|
# Find the image
|
28
28
|
env[:ui].info(I18n.t("vagrant_rackspace.finding_image"))
|
29
|
-
image = find_matching(env[:rackspace_compute].images
|
29
|
+
image = find_matching(env[:rackspace_compute].images, config.image)
|
30
30
|
raise Errors::NoMatchingImage if !image
|
31
31
|
|
32
32
|
# Figure out the name for the server
|
@@ -59,8 +59,12 @@ module VagrantPlugins
|
|
59
59
|
:metadata => config.metadata
|
60
60
|
}
|
61
61
|
|
62
|
+
if config.admin_password
|
63
|
+
options[:password] = config.admin_password
|
64
|
+
end
|
65
|
+
|
62
66
|
if config.key_name
|
63
|
-
options[:
|
67
|
+
options[:key_name] = config.key_name
|
64
68
|
env[:ui].info(" -- Key Name: #{config.key_name}")
|
65
69
|
else
|
66
70
|
options[:personality] = [
|
@@ -141,13 +145,11 @@ module VagrantPlugins
|
|
141
145
|
# `name`. Or, if `name` is a regexp, a partial match is chosen
|
142
146
|
# as well.
|
143
147
|
def find_matching(collection, name)
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
+
if name.is_a?(Regexp)
|
149
|
+
collection.all.find {|item| name =~ item.name }
|
150
|
+
else
|
151
|
+
collection.get name
|
148
152
|
end
|
149
|
-
|
150
|
-
nil
|
151
153
|
end
|
152
154
|
end
|
153
155
|
end
|
@@ -16,6 +16,7 @@ module VagrantPlugins
|
|
16
16
|
|
17
17
|
def call(env)
|
18
18
|
@app.call(env)
|
19
|
+
env[:ui].warn(I18n.t("vagrant_rackspace.sync_folders"))
|
19
20
|
|
20
21
|
ssh_info = env[:machine].ssh_info
|
21
22
|
|
@@ -32,7 +33,7 @@ module VagrantPlugins
|
|
32
33
|
|
33
34
|
# If on Windows, modify the path to work with cygwin rsync
|
34
35
|
if @host_os =~ /mswin|mingw|cygwin/
|
35
|
-
hostpath = hostpath.sub(/^([A-Za-z])
|
36
|
+
hostpath = hostpath.sub(/^([A-Za-z]):\//) { "/cygdrive/#{$1.downcase}/" }
|
36
37
|
end
|
37
38
|
|
38
39
|
env[:ui].info(I18n.t("vagrant_rackspace.rsync_folder",
|
@@ -54,7 +55,7 @@ module VagrantPlugins
|
|
54
55
|
# .hg/ to exclude list as that isn't covered in
|
55
56
|
# --cvs-exclude
|
56
57
|
command = [
|
57
|
-
"rsync", "--verbose", "--archive", "-z",
|
58
|
+
"rsync", "--verbose", "--archive", "-z", "-L",
|
58
59
|
"--cvs-exclude",
|
59
60
|
"--exclude", ".hg/",
|
60
61
|
*includes,
|
@@ -102,6 +102,13 @@ module VagrantPlugins
|
|
102
102
|
# @return [Array]
|
103
103
|
attr_accessor :rsync_includes
|
104
104
|
|
105
|
+
# Password to set for root (on Linux) or Administrator (on Windows)
|
106
|
+
# A random password will be generated if admin_password is not set or
|
107
|
+
# does not meet the password requirements of the operating system.
|
108
|
+
#
|
109
|
+
# @return [String]
|
110
|
+
attr_accessor :admin_password
|
111
|
+
|
105
112
|
# Default Rackspace Cloud Network IDs
|
106
113
|
SERVICE_NET_ID = '11111111-1111-1111-1111-111111111111'
|
107
114
|
PUBLIC_NET_ID = '00000000-0000-0000-0000-000000000000'
|
data/locales/en.yml
CHANGED
@@ -36,6 +36,9 @@ en:
|
|
36
36
|
Warning! The Rackspace provider doesn't support any of the Vagrant
|
37
37
|
high-level network configurations (`config.vm.network`). They
|
38
38
|
will be silently ignored.
|
39
|
+
sync_folders: |-
|
40
|
+
Rackspace support for Vagrant 1.3 has been deprecated. Please
|
41
|
+
upgrade to the latest version of vagrant for continued support.
|
39
42
|
|
40
43
|
config:
|
41
44
|
api_key_required: |-
|
@@ -24,6 +24,7 @@ describe VagrantPlugins::Rackspace::Config do
|
|
24
24
|
its(:disk_config) { should be_nil }
|
25
25
|
its(:networks) { should be_nil }
|
26
26
|
its(:rsync_includes) { should be_nil }
|
27
|
+
its(:admin_password) { should be_nil }
|
27
28
|
end
|
28
29
|
|
29
30
|
describe "overriding defaults" do
|
@@ -37,7 +38,8 @@ describe VagrantPlugins::Rackspace::Config do
|
|
37
38
|
:rackconnect,
|
38
39
|
:server_name,
|
39
40
|
:disk_config,
|
40
|
-
:username
|
41
|
+
:username,
|
42
|
+
:admin_password].each do |attribute|
|
41
43
|
it "should not default #{attribute} if overridden" do
|
42
44
|
subject.send("#{attribute}=".to_sym, "foo")
|
43
45
|
subject.finalize!
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-rackspace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mitchell Hashimoto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fog
|
@@ -145,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
145
|
version: '0'
|
146
146
|
requirements: []
|
147
147
|
rubyforge_project:
|
148
|
-
rubygems_version: 2.2.
|
148
|
+
rubygems_version: 2.2.2
|
149
149
|
signing_key:
|
150
150
|
specification_version: 4
|
151
151
|
summary: Enables Vagrant to manage machines in RackSpace Cloud.
|