bosh-stemcell 1.5.0.pre.1117 → 1.5.0.pre.1134

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.
@@ -1,5 +1,5 @@
1
- require 'rake/file_utils_ext'
2
1
  require 'yaml'
2
+ require 'rake/file_utils_ext'
3
3
  require 'bosh/stemcell/aws/region'
4
4
 
5
5
  module Bosh::Stemcell
@@ -27,6 +27,12 @@ module Bosh::Stemcell
27
27
  cloud_properties.fetch('version')
28
28
  end
29
29
 
30
+ def sha1
31
+ sha1 = manifest.fetch('sha1')
32
+ raise 'sha1 must not be nil' unless sha1
33
+ sha1.to_s
34
+ end
35
+
30
36
  def light?
31
37
  infrastructure == 'aws' && ami_id
32
38
  end
@@ -36,7 +36,7 @@ module Bosh::Stemcell
36
36
 
37
37
  class Vsphere < Base
38
38
  def initialize
39
- super(name: 'vsphere', hypervisor: 'esxi', default_disk_size: 2048)
39
+ super(name: 'vsphere', hypervisor: 'esxi', default_disk_size: 3072)
40
40
  end
41
41
  end
42
42
 
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Stemcell
3
- VERSION = '1.5.0.pre.1117'
3
+ VERSION = '1.5.0.pre.1134'
4
4
  end
5
5
  end
Binary file
@@ -3,31 +3,32 @@ require 'bosh/stemcell/archive'
3
3
 
4
4
  module Bosh::Stemcell
5
5
  describe Archive do
6
+ subject { described_class.new(stemcell_path) }
6
7
  let(:stemcell_path) { spec_asset('fake-stemcell-aws.tgz') }
7
8
 
8
- subject { Archive.new(stemcell_path) }
9
-
10
9
  describe '#initialize' do
11
10
  it 'errors if path does not exist' do
12
- expect { Archive.new('/not/found/stemcell.tgz') }.to raise_error "Cannot find file `/not/found/stemcell.tgz'"
11
+ expect {
12
+ described_class.new('/not/found/stemcell.tgz')
13
+ }.to raise_error("Cannot find file `/not/found/stemcell.tgz'")
13
14
  end
14
15
  end
15
16
 
16
17
  describe '#manifest' do
17
18
  it 'has a manifest' do
18
- expect(subject.manifest).to be_a Hash
19
+ expect(subject.manifest).to be_a(Hash)
19
20
  end
20
21
  end
21
22
 
22
23
  describe '#name' do
23
24
  it 'has a name' do
24
- expect(subject.name).to eq 'fake-stemcell'
25
+ expect(subject.name).to eq('fake-stemcell')
25
26
  end
26
27
  end
27
28
 
28
29
  describe '#infrastructure' do
29
30
  it 'has an infrastructure' do
30
- expect(subject.infrastructure).to eq 'aws'
31
+ expect(subject.infrastructure).to eq('aws')
31
32
  end
32
33
  end
33
34
 
@@ -43,6 +44,32 @@ module Bosh::Stemcell
43
44
  end
44
45
  end
45
46
 
47
+ describe '#sha1' do
48
+ context 'when sha1 is just a string (from fake-stemcell-aws.tgz)' do
49
+ it 'returns a sha1 as a string' do
50
+ expect(subject.sha1).to eq('fake-stemcell-sha1')
51
+ end
52
+ end
53
+
54
+ context 'when sha1 happens to be a number' do
55
+ before { subject.manifest['sha1'] = 123 }
56
+
57
+ it 'returns a sha1 as a string' do
58
+ expect(subject.sha1).to eq('123')
59
+ end
60
+ end
61
+
62
+ context 'when the sha1 is nil' do
63
+ before { subject.manifest['sha1'] = nil }
64
+
65
+ it 'raises an error' do
66
+ expect {
67
+ subject.sha1
68
+ }.to raise_error(RuntimeError, 'sha1 must not be nil')
69
+ end
70
+ end
71
+ end
72
+
46
73
  describe '#light?' do
47
74
  context 'when infrastructure is "aws"' do
48
75
  context 'when there is not an "ami" key in the "cloud_properties" section of the manifest' do
@@ -51,14 +78,12 @@ module Bosh::Stemcell
51
78
 
52
79
  context 'when there is an "ami" key in the "cloud_properties" section of the manifest' do
53
80
  let(:stemcell_path) { spec_asset('light-fake-stemcell-aws.tgz') }
54
-
55
81
  it { should be_light }
56
82
  end
57
83
  end
58
84
 
59
85
  context 'when infrastructure is anything but "aws"' do
60
86
  let(:stemcell_path) { spec_asset('fake-stemcell-vsphere.tgz') }
61
-
62
87
  it { should_not be_light }
63
88
  end
64
89
  end
@@ -71,26 +96,26 @@ module Bosh::Stemcell
71
96
 
72
97
  context 'when there is an "ami" key in the "cloud_properties" section of the manifest' do
73
98
  let(:stemcell_path) { spec_asset('light-fake-stemcell-aws.tgz') }
74
-
75
99
  its(:ami_id) { should eq('ami-FAKE_AMI_KEY') }
76
100
  end
77
101
  end
78
102
 
79
103
  context 'when infrastructure is anything but "aws"' do
80
104
  let(:stemcell_path) { spec_asset('fake-stemcell-vsphere.tgz') }
81
-
82
105
  its(:ami_id) { should be_nil }
83
106
  end
84
107
  end
85
108
 
86
109
  describe '#extract' do
87
110
  it 'extracts stemcell' do
88
- Rake::FileUtilsExt.should_receive(:sh).with(/tar xzf .*#{stemcell_path} --directory/)
111
+ Rake::FileUtilsExt.should_receive(:sh).with(
112
+ /tar xzf .*#{stemcell_path} --directory/)
89
113
  subject.extract {}
90
114
  end
91
115
 
92
116
  it 'extracts stemcell and excludes files' do
93
- Rake::FileUtilsExt.should_receive(:sh).with(/tar xzf .*#{stemcell_path} --directory .* --exclude=image/)
117
+ Rake::FileUtilsExt.should_receive(:sh).with(
118
+ /tar xzf .*#{stemcell_path} --directory .* --exclude=image/)
94
119
  subject.extract(exclude: 'image') {}
95
120
  end
96
121
  end
@@ -165,6 +165,7 @@ module Bosh::Stemcell
165
165
 
166
166
  context 'when infrastruture is vsphere' do
167
167
  let(:infrastructure) { Infrastructure.for('vsphere') }
168
+ let(:default_disk_size) { 3072 }
168
169
 
169
170
  it_sets_correct_environment_variables
170
171
 
@@ -60,7 +60,7 @@ module Bosh::Stemcell
60
60
  describe Infrastructure::Vsphere do
61
61
  its(:name) { should eq('vsphere') }
62
62
  its(:hypervisor) { should eq('esxi') }
63
- its(:default_disk_size) { should eq(2048) }
63
+ its(:default_disk_size) { should eq(3072) }
64
64
  it { should_not be_light }
65
65
  end
66
66
  end
@@ -92,8 +92,8 @@ describe 'CentOs Stemcell' do
92
92
 
93
93
  context 'installed by system_kernel' do
94
94
  {
95
- 'kernel' => '2.6.32-358.18.1.el6.x86_64',
96
- 'kernel-headers' => '2.6.32-358.18.1.el6.x86_64',
95
+ 'kernel' => '2.6.32-358.23.2.el6.x86_64',
96
+ 'kernel-headers' => '2.6.32-358.23.2.el6.x86_64',
97
97
  }.each do |pkg, version|
98
98
  describe package(pkg) do
99
99
  it { should be_installed.with_version(version) }
@@ -112,10 +112,11 @@ describe 'CentOs Stemcell' do
112
112
  it { should be_file }
113
113
  it { should contain 'default=0' }
114
114
  it { should contain 'timeout=1' }
115
- it { should contain 'title CentOS release 6.4 (Final) (2.6.32-358.18.1.el6.x86_64)' }
115
+ it { should contain 'title CentOS release 6.4 (Final) (2.6.32-358.23.2.el6.x86_64)' }
116
116
  it { should contain ' root (hd0,0)' }
117
- it { should contain ' kernel /boot/vmlinuz-2.6.32-358.18.1.el6.x86_64 ro root=UUID=' }
118
- it { should contain ' initrd /boot/initramfs-2.6.32-358.18.1.el6.x86_64.img' }
117
+ it { should contain ' kernel /boot/vmlinuz-2.6.32-358.23.2.el6.x86_64 ro root=UUID=' }
118
+ it { should contain ' selinux=0' }
119
+ it { should contain ' initrd /boot/initramfs-2.6.32-358.23.2.el6.x86_64.img' }
119
120
  end
120
121
 
121
122
  describe file('/boot/grub/menu.lst') do
@@ -126,6 +126,7 @@ describe 'Ubuntu Stemcell' do
126
126
  it { should contain 'title Ubuntu 10.04.4 LTS (3.0.0-32-virtual)' }
127
127
  it { should contain ' root (hd0,0)' }
128
128
  it { should contain ' kernel /boot/vmlinuz-3.0.0-32-virtual ro root=UUID=' }
129
+ it { should contain ' selinux=0' }
129
130
  it { should contain ' initrd /boot/initrd.img-3.0.0-32-virtual' }
130
131
  end
131
132
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-stemcell
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0.pre.1117
4
+ version: 1.5.0.pre.1134
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-17 00:00:00.000000000 Z
12
+ date: 2013-10-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bosh_aws_cpi
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.5.0.pre.1117
21
+ version: 1.5.0.pre.1134
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 1.5.0.pre.1117
29
+ version: 1.5.0.pre.1134
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rake
32
32
  requirement: !ruby/object:Gem::Requirement