vagrant-rackspace 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|