vagrant-rackspace 0.1.8 → 0.1.9

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 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