bosh-stemcell 1.3169.0 → 1.3173.0

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: f4b979f55fcdb5ee8f7108c2db118cb1a80acfa9
4
- data.tar.gz: 626d595598639896b20733110f2443080760c711
3
+ metadata.gz: 90e73459b390c27e55578b0dd92c4d24e7090ab3
4
+ data.tar.gz: 9191e922a6c9fe478c67761761abafec1be2d9a0
5
5
  SHA512:
6
- metadata.gz: 6e0a4dd1bbb074322c5656408c990e1ca04fd9f72b78ed56da5ea79b9542543e7529b7b7bba9dc446e7d4cf825c44acee615bfd975c59fdef54a61bb7ca7ca5e
7
- data.tar.gz: 30ad81e8477e81e9e0377a75213a8cf5b077959fe3727cddc9f7070274b2d6ae9dd63a5dc3eff21e2908ad7e8ecb3134d40218755638416964fe9cfa77029bef
6
+ metadata.gz: d07bbcf03db1545144b1cbfa7c2f326b5eb867bdc708da959aa50a1e17c7c2b23a2589ce0f8089c3ede1642837783946eec34e3baaf393f9f37ebff05f0456c9
7
+ data.tar.gz: eda694ae214279f93e522689e4f15ee476793edff1ba6f4ae8be03318ec1add7bf5986b4c507653003511f5110076b7da0a9b3c2e2b33272b4e3c67cb568fda1
@@ -0,0 +1,17 @@
1
+ module Bosh::Stemcell
2
+ class Arch
3
+
4
+ def self.arch
5
+ RbConfig::CONFIG['host_cpu']
6
+ end
7
+
8
+ def self.ppc64le?
9
+ arch == 'powerpc64le'
10
+ end
11
+
12
+ def self.x86_64?
13
+ arch == 'x86_64'
14
+ end
15
+
16
+ end
17
+ end
@@ -1,3 +1,4 @@
1
+ require 'bosh/stemcell/arch'
1
2
  require 'forwardable'
2
3
 
3
4
  module Bosh::Stemcell
@@ -24,7 +25,12 @@ module Bosh::Stemcell
24
25
  private
25
26
 
26
27
  def name
27
- definition.light? ? "light-#{base_name}" : base_name
28
+ mod_name = definition.light? ? "light-#{base_name}" : base_name
29
+ if Bosh::Stemcell::Arch.ppc64le?
30
+ "#{mod_name}-ppc64le"
31
+ else
32
+ mod_name
33
+ end
28
34
  end
29
35
 
30
36
  attr_reader(
@@ -42,7 +42,7 @@ module Bosh::Stemcell
42
42
  [
43
43
  "cd #{STEMCELL_SPECS_DIR};",
44
44
  "OS_IMAGE=#{os_image_tarball_path}",
45
- 'bundle exec rspec -fd',
45
+ "bundle exec rspec -fd#{exclude_arch_exclusions}",
46
46
  "spec/os_image/#{operating_system_spec_name}_spec.rb",
47
47
  ].join(' ')
48
48
  end
@@ -156,6 +156,7 @@ module Bosh::Stemcell
156
156
  end
157
157
 
158
158
  def exclude_exclusions
159
+ [
159
160
  case infrastructure.name
160
161
  when 'vsphere'
161
162
  ' --tag ~exclude_on_vsphere'
@@ -171,6 +172,16 @@ module Bosh::Stemcell
171
172
  ' --tag ~exclude_on_azure'
172
173
  else
173
174
  ''
175
+ end,
176
+ exclude_arch_exclusions.strip
177
+ ].join(' ').rstrip
178
+ end
179
+
180
+ def exclude_arch_exclusions
181
+ if Bosh::Stemcell::Arch.ppc64le?
182
+ ' --tag ~exclude_on_ppc64le'
183
+ else
184
+ ''
174
185
  end
175
186
  end
176
187
 
@@ -50,7 +50,12 @@ module Bosh::Stemcell
50
50
 
51
51
  def map_image
52
52
  @device = shell.run("sudo losetup --show --find #{image_file_path}", output_command: verbose)
53
- shell.run("sudo kpartx -av #{device}", output_command: verbose)
53
+ if Bosh::Stemcell::Arch.ppc64le?
54
+ # power8 guest images have a p1: PReP partition and p2: file system, we need loopp2 here
55
+ shell.run("sudo kpartx -av #{device} | grep \"^add\" | grep \"p2 \"", output_command: verbose)
56
+ else
57
+ shell.run("sudo kpartx -av #{device}", output_command: verbose)
58
+ end
54
59
  end
55
60
 
56
61
  def unmap_image
@@ -36,7 +36,7 @@ module Bosh::Stemcell
36
36
  :bosh_micro_go,
37
37
  :aws_cli,
38
38
  :logrotate_config,
39
- ]
39
+ ].reject{ |s| Bosh::Stemcell::Arch.ppc64le? and [:bosh_ruby, :bosh_micro_go].include?(s) }
40
40
  end
41
41
 
42
42
  def build_stemcell_image_stages
@@ -220,7 +220,7 @@ module Bosh::Stemcell
220
220
  :vim_tiny,
221
221
  :cron_config,
222
222
  :escape_ctrl_alt_del,
223
- ].flatten
223
+ ].flatten.reject{ |s| Bosh::Stemcell::Arch.ppc64le? and s == :system_ixgbevf }
224
224
  end
225
225
 
226
226
  def photonos_os_stages
@@ -46,6 +46,11 @@ module Bosh
46
46
  end
47
47
 
48
48
  def manifest_cloud_properties(disk_format, infrastructure, stemcell_name)
49
+ architecture = 'x86_64'
50
+ if Bosh::Stemcell::Arch.ppc64le?
51
+ architecture = 'ppc64le'
52
+ end
53
+
49
54
  {
50
55
  'name' => stemcell_name,
51
56
  'version' => version.to_s,
@@ -56,7 +61,7 @@ module Bosh
56
61
  'container_format' => 'bare',
57
62
  'os_type' => 'linux',
58
63
  'os_distro' => definition.operating_system.name,
59
- 'architecture' => 'x86_64',
64
+ 'architecture' => architecture,
60
65
  }.merge(infrastructure.additional_cloud_properties)
61
66
  end
62
67
 
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Stemcell
3
- VERSION = '1.3169.0'
3
+ VERSION = '1.3173.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-stemcell
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3169.0
4
+ version: 1.3173.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pivotal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-31 00:00:00.000000000 Z
11
+ date: 2016-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bosh_aws_cpi
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.3169.0
33
+ version: 1.3173.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.3169.0
40
+ version: 1.3173.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: fakefs
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -173,6 +173,7 @@ files:
173
173
  - README.md
174
174
  - lib/bosh/stemcell.rb
175
175
  - lib/bosh/stemcell/agent.rb
176
+ - lib/bosh/stemcell/arch.rb
176
177
  - lib/bosh/stemcell/archive.rb
177
178
  - lib/bosh/stemcell/archive_filename.rb
178
179
  - lib/bosh/stemcell/archive_handler.rb