Skip to content

Commit 233b811

Browse files
authored
Merge pull request #654 from cloudfoundry/jammy-to-noble
jammy -> noble
2 parents 2db9569 + 7485569 commit 233b811

10 files changed

Lines changed: 57 additions & 13 deletions

File tree

acceptance-tests/ipv4director/smoke/manifest.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ name: stemcell-acceptance-tests
44
releases:
55
- name: syslog
66
version: latest
7+
- name: bpm
8+
version: latest
79

810
stemcells:
911
- alias: default
@@ -25,6 +27,8 @@ instance_groups:
2527
- {name: default}
2628
azs: [z1]
2729
jobs:
30+
- name: bpm
31+
release: bpm
2832
- name: syslog_forwarder
2933
release: syslog
3034
properties:

acceptance-tests/ipv4director/smoke/smoke_test.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,16 @@ var _ = Describe("Stemcell", func() {
8383

8484
contents, err := io.ReadAll(tempFile)
8585
Expect(err).ToNot(HaveOccurred())
86-
Expect(contents).ToNot(ContainSubstring("No such file or directory"))
86+
87+
// Extract only the offending lines so failures are readable (auth.log can be
88+
// hundreds of kilobytes and Gomega truncates the full-content diff).
89+
var offending []string
90+
for _, line := range strings.Split(string(contents), "\n") {
91+
if strings.Contains(line, "No such file or directory") {
92+
offending = append(offending, line)
93+
}
94+
}
95+
Expect(offending).To(BeEmpty(), "auth.log contained 'No such file or directory':\n%s", strings.Join(offending, "\n"))
8796
})
8897

8998
It("#141987897: has ipv6 enabled in the kernel", func() {
@@ -96,8 +105,11 @@ var _ = Describe("Stemcell", func() {
96105
_, _, exitStatus, err := bosh.Run(
97106
"--column=stdout",
98107
"ssh", "default/0", "-r", "-c",
99-
// sleep to ensure we have multiple samples so average can be verified
100-
`sudo /usr/lib/sysstat/sa1 && sudo /usr/lib/sysstat/sa1 1 1 && sleep 2`,
108+
// Ubuntu 26.04+ relocated sa1 to /usr/libexec/sysstat/; fall back to the
109+
// legacy path for older releases. sleep ensures multiple samples for the
110+
// Average: check.
111+
`SA1=$(ls /usr/lib/sysstat/sa1 /usr/libexec/sysstat/sa1 2>/dev/null | head -1) && `+
112+
`sudo "$SA1" && sudo "$SA1" 1 1 && sleep 2`,
101113
)
102114
Expect(err).ToNot(HaveOccurred())
103115
Expect(exitStatus).To(Equal(0))

acceptance-tests/ipv4director/syslogrelease/manifest.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ name: stemcell-acceptance-tests
44
releases:
55
- name: syslog
66
version: latest
7+
- name: bpm
8+
version: latest
79

810
stemcells:
911
- alias: default
@@ -40,6 +42,8 @@ instance_groups:
4042
networks:
4143
- {name: default}
4244
jobs:
45+
- name: bpm
46+
release: bpm
4347
- name: syslog_forwarder
4448
release: syslog
4549
consumes:

acceptance-tests/ipv4director/syslogrelease/smoke_suite_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@ var _ = BeforeSuite(func() {
2222
bosh = testhelpers.NewBOSH()
2323
stemcellPath := testhelpers.RequireEnv("STEMCELL_PATH")
2424
syslogReleasePath := testhelpers.RequireEnv("SYSLOG_RELEASE_PATH")
25+
bpmReleasePath := testhelpers.RequireEnv("BPM_RELEASE_PATH")
2526

2627
bosh.UploadStemcell(stemcellPath)
2728
bosh.UploadRelease(syslogReleasePath)
29+
bosh.UploadRelease(bpmReleasePath)
2830
bosh.SafeDeploy()
2931
})
3032

acceptance-tests/testhelpers/bosh.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func (b *BOSH) Teardown() {
3535
Expect(err).ToNot(HaveOccurred())
3636
Expect(exitStatus).To(Equal(0), fmt.Sprintf("stdOut: %s \n stdErr: %s", stdOut, stdErr))
3737

38-
stdOut, stdErr, exitStatus, err = b.Run("clean-up", "--all")
38+
stdOut, stdErr, exitStatus, err = b.Run("clean-up")
3939
Expect(err).ToNot(HaveOccurred())
4040
Expect(exitStatus).To(Equal(0), fmt.Sprintf("stdOut: %s \n stdErr: %s", stdOut, stdErr))
4141
}

ci/pipelines/builder.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,7 @@ jobs:
450450
- get: bosh-linux-stemcell-builder
451451
- get: bosh-deployment
452452
- get: syslog-release
453+
- get: bpm-release
453454
- get: os-conf-release
454455
- get: stemcell
455456
passed:
@@ -517,6 +518,7 @@ jobs:
517518
#! - get: bosh-linux-stemcell-builder
518519
#! - get: bosh-deployment
519520
#! - get: syslog-release
521+
#! - get: bpm-release
520522
#! - get: os-conf-release
521523
#! - get: stemcell
522524
#! passed:
@@ -1098,10 +1100,11 @@ resources:
10981100
type: git
10991101
source:
11001102
branch: (@= data.values.stemcell_details.branch @)
1103+
uri: https://github.com/cloudfoundry/bosh-linux-stemcell-builder.git
11011104
paths:
11021105
- ci
11031106
- .ruby-version
1104-
uri: https://github.com/cloudfoundry/bosh-linux-stemcell-builder.git
1107+
- acceptance-tests
11051108

11061109
- name: bats
11071110
type: git
@@ -1133,6 +1136,12 @@ resources:
11331136
type: bosh-io-release
11341137
source:
11351138
repository: cloudfoundry/os-conf-release
1139+
1140+
- name: bpm-release
1141+
type: bosh-io-release
1142+
source:
1143+
repository: cloudfoundry/bpm-release
1144+
11361145
- name: bosh-deployment
11371146
type: git
11381147
source:

ci/tasks/test-stemcell.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ BOSH_CLIENT_SECRET="$(bosh int "${REPO_PARENT}/director-state/director-creds.yml
1616
BOSH_ENVIRONMENT="$(bosh int "${REPO_PARENT}/director-state/director-creds.yml" --path /internal_ip)"
1717
SYSLOG_RELEASE_PATH="$(realpath "${REPO_PARENT}/syslog-release"/*.tgz)"
1818
OS_CONF_RELEASE_PATH="$(realpath "${REPO_PARENT}/os-conf-release"/*.tgz)"
19+
BPM_RELEASE_PATH="$(realpath "${REPO_PARENT}/bpm-release"/*.tgz)"
1920
STEMCELL_PATH="$(realpath "${REPO_PARENT}/stemcell"/*.tgz)"
2021
# Quote value since the bosh CLI YAML parses it which results in `0.40` becoming `0.4`
2122
# shellcheck disable=SC2089
@@ -28,6 +29,7 @@ export BOSH_CLIENT_SECRET
2829
export BOSH_ENVIRONMENT
2930
export SYSLOG_RELEASE_PATH
3031
export OS_CONF_RELEASE_PATH
32+
export BPM_RELEASE_PATH
3133
export STEMCELL_PATH
3234
export BOSH_stemcell_version
3335

ci/tasks/test-stemcell.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ inputs:
77
- name: stemcell
88
- name: syslog-release
99
- name: os-conf-release
10+
- name: bpm-release
1011
- name: director-state
1112

1213
params:
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<metalink xmlns="urn:ietf:params:xml:ns:metalink">
22
<file name="ubuntu-jammy.tgz">
3-
<hash type="sha-512">182693503ed5d20dd8f1e20354eb83f7bf9c98abf50a2dc773cd8e46c3377c9b2f1d5d1538e62c7f2fcaff793377100a6041af5008b960ace8f2b3fd734f9631</hash>
4-
<hash type="sha-256">2d2671e2bc08313f25275db13745b84b49bda65a983480dac5c1f636b98cfe50</hash>
5-
<hash type="sha-1">687ab8e8f8a229c4c354be66d2d6566d38e3ad8b</hash>
6-
<hash type="md5">9b8ef49de155059b700197509e1f2421</hash>
7-
<size>435215809</size>
3+
<hash type="sha-512">31dea7af0f628a67ab91ebbe4005d0b89873b9aa7560a722b5665dc418a30dc0220241782b826ac0d5c45d369c7e9401e5f90afb6a2cd54d2300e86be1c77812</hash>
4+
<hash type="sha-256">480707f5a3eff94e8668fdffceccc3d135b6999ff9f14e21cd8b5dfd2d7d63c2</hash>
5+
<hash type="sha-1">84a9075825fce098b1fba916c4862556a16588d0</hash>
6+
<hash type="md5">ab7f1a3bea00723d2522362d6931a003</hash>
7+
<size>435213458</size>
88
<url>https://storage.googleapis.com/bosh-os-images/ubuntu-jammy/ubuntu-jammy.tgz</url>
9-
<version>1104.0.0</version>
9+
<version>1105.0.0</version>
1010
</file>
1111
<file name="usn-log.json">
1212
<hash type="sha-512">be688838ca8686e5c90689bf2ab585cef1137c999b48c70b92f67a5c34dc15697b5d11c982ed6d71be1e1e7f7b4e0733884aa97c3f7a339a8ed03577cf74be09</hash>
@@ -15,8 +15,8 @@
1515
<hash type="md5">68b329da9893e34099c7d8ad5cb9c940</hash>
1616
<size>1</size>
1717
<url>https://storage.googleapis.com/bosh-os-images/ubuntu-jammy/usn-log.json</url>
18-
<version>1104.0.0</version>
18+
<version>1105.0.0</version>
1919
</file>
2020
<generator>metalink-repository-resource/0.0.0</generator>
21-
<published>2026-06-18T18:21:28.865309981Z</published>
21+
<published>2026-06-18T22:29:21.024149406Z</published>
2222
</metalink>

stemcell_builder/stages/password_policies/apply.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@ patch -p1 $chroot/etc/pam.d/common-auth < $assets_dir/ubuntu/common-auth.patch
3333
strip_trailing_whitespace_from $chroot/etc/pam.d/common-password
3434
patch -p1 $chroot/etc/pam.d/common-password < $assets_dir/ubuntu/common-password.patch
3535

36+
# libpam-lastlog2 installs pam_lastlog2.so only to the multiarch path
37+
# (/usr/lib/x86_64-linux-gnu/security/) but PAM's securedir is /usr/lib/security/.
38+
# Bridge the gap so PAM can load the module referenced above.
39+
if [ -f "$chroot/usr/lib/x86_64-linux-gnu/security/pam_lastlog2.so" ] && \
40+
[ ! -e "$chroot/usr/lib/security/pam_lastlog2.so" ]; then
41+
mkdir -p "$chroot/usr/lib/security"
42+
ln -sf /usr/lib/x86_64-linux-gnu/security/pam_lastlog2.so \
43+
"$chroot/usr/lib/security/pam_lastlog2.so"
44+
fi
45+
3646
strip_trailing_whitespace_from $chroot/etc/pam.d/login
3747
patch $chroot/etc/pam.d/login < $assets_dir/ubuntu/login.patch
3848

0 commit comments

Comments
 (0)