simp-beaker-helpers 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -4
  3. data/lib/simp/beaker_helpers.rb +65 -7
  4. metadata +2 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9a867ae9f1b572aab3ab4c9cc5b31a9e36b006d5
4
- data.tar.gz: 7f057b0c8985000cee0f7a64ca55b44cb6fe6bdb
3
+ metadata.gz: 4956f5f8e1a5a81d0f8daeb6ee58c54516756b96
4
+ data.tar.gz: e45cc0c1a5f3a609d049755994fdd2fc72edfd40
5
5
  SHA512:
6
- metadata.gz: 1c6ddedd94aebe0539e7ff54afdd6378f4ebc7523527dd3398f9db95709ed6dbc5fc49c931c9cb84fa049fb3baca6e781b8a1c004fe25f1d3026d1a007709ab0
7
- data.tar.gz: 7993446042b193c5131100fb9379a394399ecbf3b8ce433d71ad8d7d4f27d91e98e2ca12bd605ceb7e7b3ce212d9c2d1098b591e3010e4bc1a63c86a84b49357
6
+ metadata.gz: 087b061992ae56669a7600eebe9562ed1fe5dc24333506aa367bf28d24f028f2d2f163e76e45b51a890060588a47a40f55a6ee4b5602ce3b04aaaf00f99e5103
7
+ data.tar.gz: 4e96ebc13c03aa9c54bf75bb1a7f45db7ffd688f0518ba0a98c5419b2be546f510c31731f11a289d40cae50142158afb8962b504f77afe9c4b31374443363e6e
data/README.md CHANGED
@@ -117,12 +117,27 @@ Nodes in your nodesets will create YUM repository entries according to the
117
117
  following Hash:
118
118
 
119
119
  ```yaml
120
+ ---
121
+ yum_repos:
122
+ <repo_name>:
123
+ <yum_resource_parameter>: <value>
124
+ ```
125
+
126
+ The `baseurl` and `gpgkey` parameters can also take an Array if you need to
127
+ point at more than one location.
128
+
129
+ This would look like the following:
130
+
131
+ ```yaml
132
+ ---
120
133
  yum_repos:
121
134
  <repo_name>:
122
- url: <URL>
123
- gpgkeys:
124
- - <URL to GPGKEY1>
125
- - <URL to GPGKEY2>
135
+ baseurl:
136
+ - http://some.random.host
137
+ - https://some.other.random.host
138
+ gpgkey:
139
+ - https://my.gpg.host
140
+ - https://my.other.gpg.host
126
141
  ```
127
142
 
128
143
  ## Methods
@@ -1,7 +1,7 @@
1
1
  module Simp; end
2
2
 
3
3
  module Simp::BeakerHelpers
4
- VERSION = '1.4.0'
4
+ VERSION = '1.5.0'
5
5
 
6
6
  # use the `puppet fact` face to look up facts on an SUT
7
7
  def pfact_on(sut, fact_name)
@@ -187,15 +187,73 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
187
187
  # - <URL to GPGKEY1>
188
188
  # - <URL to GPGKEY2>
189
189
  def enable_yum_repos_on( suts = hosts )
190
+ repo_attrs = [
191
+ :assumeyes,
192
+ :bandwidth,
193
+ :cost,
194
+ :deltarpm_metadata_percentage,
195
+ :deltarpm_percentage,
196
+ :descr,
197
+ :enabled,
198
+ :enablegroups,
199
+ :exclude,
200
+ :failovermethod,
201
+ :gpgcakey,
202
+ :gpgcheck,
203
+ :http_caching,
204
+ :include,
205
+ :includepkgs,
206
+ :keepalive,
207
+ :metadata_expire,
208
+ :metalink,
209
+ :mirrorlist,
210
+ :mirrorlist_expire,
211
+ :priority,
212
+ :protect,
213
+ :provider,
214
+ :proxy,
215
+ :proxy_password,
216
+ :proxy_username,
217
+ :repo_gpgcheck,
218
+ :retries,
219
+ :s3_enabled,
220
+ :skip_if_unavailable,
221
+ :sslcacert,
222
+ :sslclientcert,
223
+ :sslclientkey,
224
+ :sslverify,
225
+ :target,
226
+ :throttle,
227
+ :timeout
228
+ ]
229
+
190
230
  Array(suts).each do |sut|
191
231
  if sut['yum_repos']
192
232
  sut['yum_repos'].each_pair do |repo, metadata|
193
- repo_manifest = <<-EOS
194
- yumrepo { #{repo}:
195
- baseurl => '#{metadata[:url]}',
196
- gpgkey => '#{metadata[:gpgkeys].join(" ")}'
197
- }
198
- EOS
233
+ repo_manifest = %(yumrepo { #{repo}:)
234
+
235
+ repo_manifest_opts = []
236
+
237
+ # Legacy Support
238
+ urls = !metadata[:url].nil? ? metadata[:url] : metadata[:baseurl]
239
+ if urls
240
+ repo_manifest_opts << 'baseurl => ' + '"' + Array(urls).flatten.join('\n ').gsub('$','\$') + '"'
241
+ end
242
+
243
+ # Legacy Support
244
+ gpgkeys = !metadata[:gpgkeys].nil? ? metadata[:gpgkeys] : metadata[:gpgkey]
245
+ if gpgkeys
246
+ repo_manifest_opts << 'gpgkey => ' + '"' + Array(gpgkeys).flatten.join('\n ').gsub('$','\$') + '"'
247
+ end
248
+
249
+ repo_attrs.each do |attr|
250
+ if metadata[attr]
251
+ repo_manifest_opts << "#{attr} => '#{metadata[attr]}'"
252
+ end
253
+ end
254
+
255
+ repo_manifest = repo_manifest + %(\n#{repo_manifest_opts.join(",\n")}) + "\n}"
256
+
199
257
  apply_manifest_on(sut, repo_manifest, :catch_failures => true)
200
258
  end
201
259
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simp-beaker-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Tessmer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-05-20 00:00:00.000000000 Z
12
+ date: 2016-06-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: beaker
@@ -87,4 +87,3 @@ test_files:
87
87
  - spec/acceptance/nodesets/default.yml
88
88
  - spec/acceptance/pki_tests_spec.rb
89
89
  - spec/spec_helper_acceptance.rb
90
- has_rdoc: