vagrant-rackspace 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7324f904ffa180128b4c16db1c61a2ca9aa86ba8
4
- data.tar.gz: 83d9122d95c830e14093e988fbc72329aa14e6a2
3
+ metadata.gz: c154b6d9ba1e6a974a32630ee8772c5fc85ec9d1
4
+ data.tar.gz: 74eb7ba525a976cda9b66a2509200b5581ecaf7b
5
5
  SHA512:
6
- metadata.gz: d6e0ffe9c336faa5cb93752b42a2d73aabc67ff8f728128eac860d0e1100090fc53a9c0219aa9f8ef1986103b1473155f96a9c8fb2fafb96aa5e18f3ca128999
7
- data.tar.gz: 2420f4a7ff9decf897cecd34501ec39e713d84731f342ac464552ad5dd9888c5f14c7b8822ee6b3ea63f637b15def31fe72bf5e43dddcb056de68041d6f97bee
6
+ metadata.gz: 33ce385cd1ec29e0d141f8cbbd0ae84d0907c6f35ef698071bd9653e86a902dac0273b732d23ebb7b03b8dc5fdbf72c31d742244ef93e7b336ba322d0ac07bd8
7
+ data.tar.gz: 52a4d2b9a4bee5d33c3dca0ce1bf426ddebd567c65bbfe1078f163e3134d39a6847377031dcca20bdf806a038da0cbf7f85eb407460a12d4437b9087c8969bc7
data/CHANGELOG.md CHANGED
@@ -1,8 +1,19 @@
1
- # 0.1.8 (June 20, 2014)
1
+ # 0.1.9 (June 24, 2014)
2
2
 
3
3
  FEATURES:
4
4
 
5
+ - Support for userdata and drive config [GH-100]
6
+
7
+ BUG FIXES:
8
+
9
+ - Fixed the ability to specify strings and integers for flavors and images in VagrantFile
5
10
 
11
+ # 0.1.8 (June 20, 2014)
12
+
13
+ FEATURES:
14
+
15
+ - Use new synced folder support found in Vagrant 1.4+ if available [GH-104]
16
+ - Ability to set admin password [GH-105] [GH-107]
6
17
 
7
18
  IMPROVEMENTS:
8
19
 
@@ -63,6 +63,14 @@ module VagrantPlugins
63
63
  options[:password] = config.admin_password
64
64
  end
65
65
 
66
+ if config.user_data
67
+ options[:user_data] = File.read(config.user_data)
68
+ end
69
+
70
+ if config.config_drive
71
+ options[:config_drive] = config.config_drive
72
+ end
73
+
66
74
  if config.key_name
67
75
  options[:key_name] = config.key_name
68
76
  env[:ui].info(" -- Key Name: #{config.key_name}")
@@ -140,17 +148,33 @@ module VagrantPlugins
140
148
 
141
149
  protected
142
150
 
151
+ def escape_name_if_necessary(name)
152
+ # The next release of fog should url escape these values.
153
+ return name if Gem::Version.new(Fog::VERSION) > Gem::Version.new("1.22.1")
154
+
155
+ Fog::Rackspace.escape(name)
156
+ end
157
+
143
158
  # This method finds a matching _thing_ in a collection of
144
159
  # _things_. This works matching if the ID or NAME equals to
145
160
  # `name`. Or, if `name` is a regexp, a partial match is chosen
146
161
  # as well.
147
162
  def find_matching(collection, name)
148
- if name.is_a?(Regexp)
149
- collection.all.find {|item| name =~ item.name }
150
- else
151
- collection.get name
163
+ item = collection.find do |single|
164
+ single.id == name ||
165
+ single.name == name ||
166
+ (name.is_a?(Regexp) && name =~ single.name)
167
+ end
168
+
169
+ # If it is not present in collection, it might be a non-standard image/flavor
170
+ if item.nil? && !name.is_a?(Regexp)
171
+ item = collection.get escape_name_if_necessary(name)
152
172
  end
173
+
174
+ item
153
175
  end
176
+
177
+
154
178
  end
155
179
  end
156
180
  end
@@ -60,6 +60,16 @@ module VagrantPlugins
60
60
  # @return [String]
61
61
  attr_accessor :key_name
62
62
 
63
+ # The path to the file containing user data for cloud init
64
+ #
65
+ # @ return [String]
66
+ attr_accessor :user_data
67
+
68
+ # Whether to attach a read-only configuration drive
69
+ #
70
+ # @ return [Boolean]
71
+ attr_accessor :config_drive
72
+
63
73
  # A Hash of metadata that will be sent to the instance for configuration
64
74
  #
65
75
  # @return [Hash]
@@ -123,6 +133,8 @@ module VagrantPlugins
123
133
  @public_key_path = UNSET_VALUE
124
134
  @rackconnect = UNSET_VALUE
125
135
  @server_name = UNSET_VALUE
136
+ @user_data = UNSET_VALUE
137
+ @config_drive = UNSET_VALUE
126
138
  @username = UNSET_VALUE
127
139
  @disk_config = UNSET_VALUE
128
140
  @networks = []
@@ -138,6 +150,8 @@ module VagrantPlugins
138
150
  @image = /Ubuntu/ if @image == UNSET_VALUE
139
151
  @rackconnect = nil if @rackconnect == UNSET_VALUE
140
152
  @server_name = nil if @server_name == UNSET_VALUE
153
+ @user_data = nil if @user_data == UNSET_VALUE
154
+ @config_drive = nil if @config_drive == UNSET_VALUE
141
155
  @metadata = nil if @metadata == UNSET_VALUE
142
156
  @username = nil if @username == UNSET_VALUE
143
157
  @disk_config = nil if @disk_config == UNSET_VALUE
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Rackspace
3
- VERSION = "0.1.8"
3
+ VERSION = "0.1.9"
4
4
  end
5
5
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.summary = "Enables Vagrant to manage machines in RackSpace Cloud."
13
13
  gem.homepage = "http://www.vagrantup.com"
14
14
 
15
- gem.add_runtime_dependency "fog", "~> 1.18"
15
+ gem.add_runtime_dependency "fog", "~> 1.22"
16
16
 
17
17
  gem.add_development_dependency "rake"
18
18
  gem.add_development_dependency "rspec", "~> 2.14.0"
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.8
4
+ version: 0.1.9
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-06-20 00:00:00.000000000 Z
11
+ date: 2014-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fog
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.18'
19
+ version: '1.22'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.18'
26
+ version: '1.22'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement