bosh-stemcell 1.3169.0 → 1.3173.0

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