beaker-pe 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ODUzMGQyOGI1YjVjNmY4YTg5M2NhYWVkMzc0YzZiZWU3ZGY5N2UyYQ==
4
+ NTgyNDMxM2NlZDBlZTFiZGFlNjQ1NzQ3ZGI4NDVmZDI0NDBiNDE2OQ==
5
5
  data.tar.gz: !binary |-
6
- ZWJmYTZkZTNhN2YzODBjYTNkNmUyZDE3MmY0MGZhMGNlNTgwNjYyZg==
6
+ MDQzMmYxMmNjY2RlMzM0YzhlZWMyYjJmMmVkNzZlZmYwYzUyYTNmYw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NmE2MzA1OTAyYWYyMDNhNjFjYzE1Y2MxMzczZmVmZDk4NTc0ZDAwZmQwZmNi
10
- NTE1NGQ2NDdiNjgxMmNiZWRlZWY1NTBhMzlhZTBlODFmZDYwMTBkMmU1ZGJj
11
- YmIwZTJmYTE3NWFjNTNiMWIzYjgwZmE5OGZmMDQ4YTI4ZGY2N2Y=
9
+ ZTZkNGFkYmQ1ZTE3OTA5YWEwYzJiYzA0ODc3ODg2YTYzMjk2YmQ0ZTVmM2Rl
10
+ YjhhYTI1MjY3MTUzYzZmNGQzYThjYmYwMjRhOTYzZWRmMDdkNGIyNjg1ZjY2
11
+ MjNjZmFlYzUxODU0NTc4MjljNTllZmQ0Nzg2ODMxNGFiZTQxZjE=
12
12
  data.tar.gz: !binary |-
13
- NDI4YzU1Mzk0Yjc0ODRhNjM0YzYxY2Q5NTk4NWE0YzQ1ZGE0ZDViOTExMjI4
14
- ZDMwNDQ4ZjE1NDVhYTllNThmZGY0ZjNjNWMyZjY5ZTAzNDkxMzZjNGNjNzky
15
- ZTlkOWY5ZDY0NGEwYjAyMGE5MmQ3NTlhNGY3OThiZGUzOGE4NjI=
13
+ MzA5YzcwMGVkMDZmMDU3NjMzNTdkODQ1MjgwODY5NTFkMDQ4ZDAwMzQ2NWI2
14
+ ODhlN2FiMGZiYTgzODM2YjhkYjU0ZjJhYzNhZWI2MzkzZjNiZmRlMjQ2ZmFj
15
+ OGZmZDljMTA0MzgzYjQxYzQxZTAwMTg4OGQxMDAyNzIzMDYwOGM=
data/HISTORY.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # default - History
2
2
  ## Tags
3
- * [LATEST - 25 Aug, 2016 (ca260aa0)](#LATEST)
3
+ * [LATEST - 16 Sep, 2016 (d16e0bc1)](#LATEST)
4
+ * [0.11.0 - 25 Aug, 2016 (7167f39e)](#0.11.0)
4
5
  * [0.10.1 - 24 Aug, 2016 (97adf276)](#0.10.1)
5
6
  * [0.10.0 - 23 Aug, 2016 (b8eff18f)](#0.10.0)
6
7
  * [0.9.0 - 15 Aug, 2016 (e29ed491)](#0.9.0)
@@ -16,7 +17,23 @@
16
17
  * [0.1.0 - 29 Feb, 2016 (4fc88d8c)](#0.1.0)
17
18
 
18
19
  ## Details
19
- ### <a name = "LATEST">LATEST - 25 Aug, 2016 (ca260aa0)
20
+ ### <a name = "LATEST">LATEST - 16 Sep, 2016 (d16e0bc1)
21
+
22
+ * (GEM) update beaker-pe version to 0.12.0 (d16e0bc1)
23
+
24
+ * Merge pull request #26 from zreichert/maint/master/QA-2620_fix_installation_noop_for_nix (e75cdb09)
25
+
26
+
27
+ ```
28
+ Merge pull request #26 from zreichert/maint/master/QA-2620_fix_installation_noop_for_nix
29
+
30
+ (QA-2620) update install_pe_client_tools_on to use package repo
31
+ ```
32
+ * (QA-2620) update install_pe_client_tools_on to use package repo (665da12b)
33
+
34
+ ### <a name = "0.11.0">0.11.0 - 25 Aug, 2016 (7167f39e)
35
+
36
+ * (HISTORY) update beaker-pe history for gem release 0.11.0 (7167f39e)
20
37
 
21
38
  * (GEM) update beaker-pe version to 0.11.0 (ca260aa0)
22
39
 
@@ -4,70 +4,97 @@ module Beaker
4
4
  module PEClientTools
5
5
 
6
6
  def install_pe_client_tools_on(hosts, opts = {})
7
- # FIXME: accomodate production released location(s)
8
- #{{{
9
7
  product = 'pe-client-tools'
10
8
  required_keys = [:puppet_collection, :pe_client_tools_sha, :pe_client_tools_version]
11
9
 
12
- unless required_keys.all? { |opt| opts.keys.include?(opt) }
10
+ unless required_keys.all? { |opt| opts.keys.include?(opt) && opts[opt]}
13
11
  raise ArgumentError, "The keys #{required_keys.to_s} are required in the opts hash"
14
12
  end
15
13
  urls = { :dev_builds_url => "http://builds.delivery.puppetlabs.net",
16
14
  }
17
15
 
18
16
  opts = urls.merge(opts)
19
-
20
17
  block_on hosts do |host|
21
- package_name = nil
22
18
  variant, version, arch, codename = host['platform'].to_array
19
+ package_name = ''
23
20
  case host['platform']
24
- when /el-|fedora|sles|centos|cisco_/
25
- release_path = "#{opts[:dev_builds_url]}/#{product}/#{ opts[:pe_client_tools_sha] }/artifacts/#{variant}/#{version}/#{opts[:puppet_collection]}/#{arch}"
26
- package_name = product.dup
27
- package_name << "-#{opts[:pe_client_tools_version]}-1.#{variant}#{version}.#{arch}.rpm" if opts[:pe_client_tools_version]
28
- when /debian|ubuntu|cumulus|huaweios/
29
- release_path = "#{opts[:dev_builds_url]}/#{product}/#{ opts[:pe_client_tools_sha] }/artifacts/deb/#{codename}/#{opts[:puppet_collection]}"
30
- package_name = product.dup
31
- package_name << "_#{opts[:pe_client_tools_version]}-1#{host['platform'].codename}_#{arch}.deb" if opts[:pe_client_tools_version]
32
- when /windows/
33
- release_path = "#{opts[:dev_builds_url]}/#{product}/#{ opts[:pe_client_tools_sha] }/artifacts/#{variant}"
34
- package_name = product.dup
35
- package_name << "-#{opts[:pe_client_tools_version]}-x#{arch}.msi" if opts[:pe_client_tools_version]
36
- when /osx/
37
- release_path = "#{opts[:dev_builds_url]}/#{product}/#{ opts[:pe_client_tools_sha] }/artifacts/apple/#{version}/#{opts[:puppet_collection]}/#{arch}"
38
- package_base = product.dup
39
- package_base << "-#{opts[:pe_client_tools_version]}" if opts[:pe_client_tools_version]
40
- package_name = package_base.dup
41
- package_name << '-1' if opts[:pe_client_tools_version]
42
- installer = package_name + '-installer.pkg'
43
- package_name << ".#{variant}#{version}.dmg" if opts[:pe_client_tools_version]
44
- else
45
- raise "install_puppet_agent_on() called for unsupported " +
46
- "platform '#{host['platform']}' on '#{host.name}'"
47
- end
48
-
49
- if package_name
50
- case host['platform']
51
- when /windows/
21
+ when /win/
22
+ package_name << product
23
+ release_path = "#{opts[:dev_builds_url]}/#{product}/#{ opts[:pe_client_tools_sha] }/artifacts/#{variant}"
24
+ package_name << "-#{opts[:pe_client_tools_version]}-x#{arch}.msi"
52
25
  generic_install_msi_on(host, File.join(release_path, package_name), {}, {:debug => true})
53
- else
26
+ when /osx/
27
+ release_path = "#{opts[:dev_builds_url]}/#{product}/#{ opts[:pe_client_tools_sha] }/artifacts/apple/#{version}/#{opts[:puppet_collection]}/#{arch}"
28
+ package_base = product.dup
29
+ package_base << "-#{opts[:pe_client_tools_version]}"
30
+ package_name = package_base.dup
31
+ package_name << '-1' if opts[:pe_client_tools_version]
32
+ installer = package_name + '-installer.pkg'
33
+ package_name << ".#{variant}#{version}.dmg"
54
34
  copy_dir_local = File.join('tmp', 'repo_configs')
55
35
  fetch_http_file(release_path, package_name, copy_dir_local)
56
36
  scp_to host, File.join(copy_dir_local, package_name), host.external_copy_base
57
-
58
- if host['platform'] =~ /debian|ubuntu|cumulus|huaweios/
59
- on host, "dpkg -i #{package_name}"
60
- elsif host['platform'] =~ /osx/
61
- host.generic_install_dmg(package_name, package_base, installer)
62
- else
63
- host.install_package( product )
64
- end
65
- end
37
+ host.generic_install_dmg(package_name, package_base, installer)
38
+ else
39
+ install_dev_repos_on(product, host, opts[:pe_client_tools_sha], '/tmp/repo_configs',{:dev_builds_url => opts[:dev_builds_url]})
40
+ host.install_package('pe-client-tools')
66
41
  end
67
42
  end
68
- #}}}
69
43
  end
70
44
 
45
+ # Taken from puppet acceptance lib
46
+ # Install development repos
47
+ def install_dev_repos_on(package, host, sha, repo_configs_dir, opts={})
48
+ platform = host['platform'] =~ /^(debian|ubuntu)/ ? host['platform'].with_version_codename : host['platform']
49
+ platform_configs_dir = File.join(repo_configs_dir, platform)
50
+
51
+ case platform
52
+ when /^(fedora|el|centos|sles)-(\d+)-(.+)$/
53
+ variant = (($1 == 'centos') ? 'el' : $1)
54
+ fedora_prefix = ((variant == 'fedora') ? 'f' : '')
55
+ version = $2
56
+ arch = $3
57
+
58
+ pattern = 'pl-%s-%s-%s-%s%s-%s.repo'
59
+
60
+ repo_filename = pattern % [
61
+ package,
62
+ sha,
63
+ variant,
64
+ fedora_prefix,
65
+ version,
66
+ arch
67
+ ]
68
+
69
+ repo = fetch_http_file(
70
+ "%s/%s/%s/repo_configs/rpm/" % [opts[:dev_builds_url],package, sha],
71
+ repo_filename,
72
+ platform_configs_dir
73
+ )
74
+
75
+ if /sles/i.match(platform)
76
+ scp_to(host, repo, '/etc/zypp/repos.d/')
77
+ else
78
+ scp_to(host, repo, '/etc/yum.repos.d/')
79
+ end
80
+
81
+ when /^(debian|ubuntu)-([^-]+)-(.+)$/
82
+ variant = $1
83
+ version = $2
84
+ arch = $3
85
+
86
+ list = fetch_http_file(
87
+ "%s/%s/%s/repo_configs/deb/" % [opts[:dev_builds_url],package, sha],
88
+ "pl-%s-%s-%s.list" % [package, sha, version],
89
+ platform_configs_dir
90
+ )
91
+
92
+ scp_to host, list, '/etc/apt/sources.list.d'
93
+ on host, 'apt-get update'
94
+ else
95
+ host.logger.notify("No repository installation step for #{platform} yet...")
96
+ end
97
+ end
71
98
  end
72
99
  end
73
100
  end
@@ -3,7 +3,7 @@ module Beaker
3
3
  module PE
4
4
 
5
5
  module Version
6
- STRING = '0.11.0'
6
+ STRING = '0.12.0'
7
7
  end
8
8
 
9
9
  end
@@ -23,7 +23,7 @@ describe ClassPEClientToolsMixedWithPatterns do
23
23
  let(:platform) { Beaker::Platform.new('el-6-x86_64') }
24
24
  it 'installs' do
25
25
  hosts.each do |host|
26
- allow(subject). to receive(:fetch_http_file).with("http://builds.delivery.puppetlabs.net/pe-client-tools/#{opts[:pe_client_tools_sha]}/artifacts/el/6/PC1/x86_64", "pe-client-tools-#{opts[:pe_client_tools_version]}-1.el6.x86_64.rpm", "tmp/repo_configs")
26
+ allow(subject). to receive(:fetch_http_file).with("http://builds.delivery.puppetlabs.net/pe-client-tools/#{opts[:pe_client_tools_sha]}/repo_configs/rpm/", "pl-pe-client-tools-#{opts[:pe_client_tools_sha]}-el-6-x86_64.repo", "/tmp/repo_configs/el-6-x86_64")
27
27
  allow(host). to receive(:external_copy_base)
28
28
  expect(host).to receive(:install_package).with("pe-client-tools")
29
29
  subject.install_pe_client_tools_on(host, opts)
@@ -35,9 +35,10 @@ describe ClassPEClientToolsMixedWithPatterns do
35
35
  let(:platform) { Beaker::Platform.new('ubuntu-1604-x86_64') }
36
36
  it 'installs' do
37
37
  hosts.each do |host|
38
- allow(subject). to receive(:fetch_http_file).with("http://builds.delivery.puppetlabs.net/pe-client-tools/#{opts[:pe_client_tools_sha]}/artifacts/deb/xenial/PC1", "pe-client-tools_#{opts[:pe_client_tools_version]}-1xenial_x86_64.deb", "tmp/repo_configs")
38
+ allow(subject). to receive(:fetch_http_file).with("http://builds.delivery.puppetlabs.net/pe-client-tools/#{opts[:pe_client_tools_sha]}/repo_configs/deb/", "pl-pe-client-tools-#{opts[:pe_client_tools_sha]}-xenial.list", "/tmp/repo_configs/ubuntu-xenial-x86_64")
39
39
  allow(host). to receive(:external_copy_base)
40
- expect(subject).to receive(:on).with(host, "dpkg -i pe-client-tools_#{opts[:pe_client_tools_version]}-1xenial_x86_64.deb")
40
+ expect(subject).to receive(:on).with(host, 'apt-get update')
41
+ expect(host).to receive(:install_package).with('pe-client-tools')
41
42
  subject.install_pe_client_tools_on(host, opts)
42
43
  end
43
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker-pe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppetlabs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-25 00:00:00.000000000 Z
11
+ date: 2016-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec