Skip to content

Commit 3a07b77

Browse files
mark-vieirajozala
andauthored
[ci] Add Alma Linux 9 to matrix in packaging and platform jobs (#118331) (#119314)
SmbTestContainer base image upgraded from Ubuntu 16.04 to 24.04 to avoid hanging Python module compilation when installing samba package. Installing SMB had to be moved from container building to starting because SYS_ADMIN capability is required. (cherry picked from commit a0f64d2) # Conflicts: # .buildkite/pipelines/pull-request/packaging-tests-unix.yml Co-authored-by: Mariusz Józala <[email protected]>
1 parent 873f01e commit 3a07b77

File tree

6 files changed

+28
-7
lines changed

6 files changed

+28
-7
lines changed

.buildkite/pipelines/periodic-packaging.template.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ steps:
2222
- rhel-8
2323
- rhel-9
2424
- almalinux-8
25+
- almalinux-9
2526
agents:
2627
provider: gcp
2728
image: family/elasticsearch-{{matrix.image}}

.buildkite/pipelines/periodic-packaging.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ steps:
2323
- rhel-8
2424
- rhel-9
2525
- almalinux-8
26+
- almalinux-9
2627
agents:
2728
provider: gcp
2829
image: family/elasticsearch-{{matrix.image}}

.buildkite/pipelines/periodic-platform-support.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ steps:
2222
- rhel-8
2323
- rhel-9
2424
- almalinux-8
25+
- almalinux-9
2526
agents:
2627
provider: gcp
2728
image: family/elasticsearch-{{matrix.image}}

x-pack/test/smb-fixture/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ apply plugin: 'elasticsearch.java'
22
apply plugin: 'elasticsearch.cache-test-fixtures'
33

44
dependencies {
5+
implementation "com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}"
6+
57
api project(':test:fixtures:testcontainer-utils')
68
api "junit:junit:${versions.junit}"
79
api "org.testcontainers:testcontainers:${versions.testcontainer}"

x-pack/test/smb-fixture/src/main/java/org/elasticsearch/test/fixtures/smb/SmbTestContainer.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,34 @@
77

88
package org.elasticsearch.test.fixtures.smb;
99

10+
import com.github.dockerjava.api.model.Capability;
11+
1012
import org.elasticsearch.test.fixtures.testcontainers.DockerEnvironmentAwareTestContainer;
13+
import org.testcontainers.containers.wait.strategy.Wait;
14+
import org.testcontainers.containers.wait.strategy.WaitAllStrategy;
1115
import org.testcontainers.images.builder.ImageFromDockerfile;
1216

17+
import java.time.Duration;
18+
1319
public final class SmbTestContainer extends DockerEnvironmentAwareTestContainer {
1420

15-
private static final String DOCKER_BASE_IMAGE = "ubuntu:16.04";
21+
private static final String DOCKER_BASE_IMAGE = "ubuntu:24.04";
1622
public static final int AD_LDAP_PORT = 636;
1723
public static final int AD_LDAP_GC_PORT = 3269;
1824

1925
public SmbTestContainer() {
2026
super(
2127
new ImageFromDockerfile("es-smb-fixture").withDockerfileFromBuilder(
2228
builder -> builder.from(DOCKER_BASE_IMAGE)
23-
.run("apt-get update -qqy && apt-get install -qqy samba ldap-utils")
29+
.env("TZ", "Etc/UTC")
30+
.run("DEBIAN_FRONTEND=noninteractive apt-get update -qqy && apt-get install -qqy tzdata winbind samba ldap-utils")
2431
.copy("fixture/provision/installsmb.sh", "/fixture/provision/installsmb.sh")
2532
.copy("fixture/certs/ca.key", "/fixture/certs/ca.key")
2633
.copy("fixture/certs/ca.pem", "/fixture/certs/ca.pem")
2734
.copy("fixture/certs/cert.pem", "/fixture/certs/cert.pem")
2835
.copy("fixture/certs/key.pem", "/fixture/certs/key.pem")
2936
.run("chmod +x /fixture/provision/installsmb.sh")
30-
.run("/fixture/provision/installsmb.sh")
31-
.cmd("service samba-ad-dc restart && sleep infinity")
37+
.cmd("/fixture/provision/installsmb.sh && service samba-ad-dc restart && echo Samba started && sleep infinity")
3238
.build()
3339
)
3440
.withFileFromClasspath("fixture/provision/installsmb.sh", "/smb/provision/installsmb.sh")
@@ -37,10 +43,20 @@ public SmbTestContainer() {
3743
.withFileFromClasspath("fixture/certs/cert.pem", "/smb/certs/cert.pem")
3844
.withFileFromClasspath("fixture/certs/key.pem", "/smb/certs/key.pem")
3945
);
40-
// addExposedPort(389);
41-
// addExposedPort(3268);
46+
4247
addExposedPort(AD_LDAP_PORT);
4348
addExposedPort(AD_LDAP_GC_PORT);
49+
50+
setWaitStrategy(
51+
new WaitAllStrategy().withStartupTimeout(Duration.ofSeconds(120))
52+
.withStrategy(Wait.forLogMessage(".*Samba started.*", 1))
53+
.withStrategy(Wait.forListeningPort())
54+
);
55+
56+
getCreateContainerCmdModifiers().add(createContainerCmd -> {
57+
createContainerCmd.getHostConfig().withCapAdd(Capability.SYS_ADMIN);
58+
return createContainerCmd;
59+
});
4460
}
4561

4662
public String getAdLdapUrl() {

x-pack/test/smb-fixture/src/main/resources/smb/provision/installsmb.sh

100644100755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ cat $SSL_DIR/ca.pem >> /etc/ssl/certs/ca-certificates.crt
2121

2222
mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
2323

24-
samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=SAMBA_INTERNAL --realm=AD.TEST.ELASTICSEARCH.COM --domain=ADES --adminpass=Passw0rd --use-ntvfs
24+
samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=SAMBA_INTERNAL --realm=AD.TEST.ELASTICSEARCH.COM --domain=ADES --adminpass=Passw0rd
2525

2626
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
2727

0 commit comments

Comments
 (0)