|
@@ -99,6 +99,7 @@ import static org.junit.Assume.assumeTrue;
|
|
|
* <li>The default image with a custom, small base image</li>
|
|
|
* <li>A UBI-based image</li>
|
|
|
* <li>Another UBI image for Iron Bank</li>
|
|
|
+ * <li>A WOLFI-based image</li>
|
|
|
* <li>Images for Cloud</li>
|
|
|
* </ul>
|
|
|
*/
|
|
@@ -170,9 +171,7 @@ public class DockerTests extends PackagingTestCase {
|
|
|
public void test020PluginsListWithNoPlugins() {
|
|
|
assumeTrue(
|
|
|
"Only applies to non-Cloud images",
|
|
|
- distribution.packaging != Packaging.DOCKER_CLOUD
|
|
|
- && distribution().packaging != Packaging.DOCKER_CLOUD_ESS
|
|
|
- && distribution().packaging != Packaging.DOCKER_WOLFI_ESS
|
|
|
+ distribution.packaging != Packaging.DOCKER_CLOUD && distribution().packaging != Packaging.DOCKER_CLOUD_ESS
|
|
|
);
|
|
|
|
|
|
final Installation.Executables bin = installation.executables();
|
|
@@ -203,15 +202,14 @@ public class DockerTests extends PackagingTestCase {
|
|
|
* Checks that ESS images can install plugins from the local archive.
|
|
|
*/
|
|
|
public void test022InstallPluginsFromLocalArchive() {
|
|
|
- assumeTrue(
|
|
|
- "Only ESS images have a local archive",
|
|
|
- distribution().packaging == Packaging.DOCKER_CLOUD_ESS || distribution().packaging == Packaging.DOCKER_WOLFI_ESS
|
|
|
- );
|
|
|
+ assumeTrue("Only ESS images have a local archive", distribution().packaging == Packaging.DOCKER_CLOUD_ESS);
|
|
|
|
|
|
final String plugin = "analysis-icu";
|
|
|
final Installation.Executables bin = installation.executables();
|
|
|
|
|
|
+ listPluginArchive().forEach(System.out::println);
|
|
|
assertThat("Expected " + plugin + " to not be installed", listPlugins(), not(hasItems(plugin)));
|
|
|
+ assertThat("Expected " + plugin + " available in archive", listPluginArchive(), hasSize(16));
|
|
|
|
|
|
// Stuff the proxy settings with garbage, so any attempt to go out to the internet would fail
|
|
|
sh.getEnv()
|
|
@@ -259,10 +257,7 @@ public class DockerTests extends PackagingTestCase {
|
|
|
* Checks that ESS images can manage plugins from the local archive by deploying a plugins config file.
|
|
|
*/
|
|
|
public void test024InstallPluginFromArchiveUsingConfigFile() {
|
|
|
- assumeTrue(
|
|
|
- "Only ESS image has a plugin archive",
|
|
|
- distribution().packaging == Packaging.DOCKER_CLOUD_ESS || distribution().packaging == Packaging.DOCKER_WOLFI_ESS
|
|
|
- );
|
|
|
+ assumeTrue("Only ESS image has a plugin archive", distribution().packaging == Packaging.DOCKER_CLOUD_ESS);
|
|
|
|
|
|
final String filename = "elasticsearch-plugins.yml";
|
|
|
append(tempDir.resolve(filename), """
|
|
@@ -394,7 +389,7 @@ public class DockerTests extends PackagingTestCase {
|
|
|
if (distribution.packaging == Packaging.DOCKER_UBI || distribution.packaging == Packaging.DOCKER_IRON_BANK) {
|
|
|
// In these images, the `cacerts` file ought to be a symlink here
|
|
|
assertThat(path, equalTo("/etc/pki/ca-trust/extracted/java/cacerts"));
|
|
|
- } else if (distribution.packaging == Packaging.DOCKER_WOLFI || distribution.packaging == Packaging.DOCKER_WOLFI_ESS) {
|
|
|
+ } else if (distribution.packaging == Packaging.DOCKER_WOLFI || distribution.packaging == Packaging.DOCKER_CLOUD_ESS) {
|
|
|
// In these images, the `cacerts` file ought to be a symlink here
|
|
|
assertThat(path, equalTo("/etc/ssl/certs/java/cacerts"));
|
|
|
} else {
|
|
@@ -1121,10 +1116,8 @@ public class DockerTests extends PackagingTestCase {
|
|
|
*/
|
|
|
public void test171AdditionalCliOptionsAreForwarded() throws Exception {
|
|
|
assumeTrue(
|
|
|
- "Does not apply to Cloud and wolfi ess images, because they don't use the default entrypoint",
|
|
|
- distribution.packaging != Packaging.DOCKER_CLOUD
|
|
|
- && distribution().packaging != Packaging.DOCKER_CLOUD_ESS
|
|
|
- && distribution().packaging != Packaging.DOCKER_WOLFI_ESS
|
|
|
+ "Does not apply to Cloud and Cloud ESS images, because they don't use the default entrypoint",
|
|
|
+ distribution.packaging != Packaging.DOCKER_CLOUD && distribution().packaging != Packaging.DOCKER_CLOUD_ESS
|
|
|
);
|
|
|
|
|
|
runContainer(distribution(), builder().runArgs("bin/elasticsearch", "-Ecluster.name=kimchy").envVar("ELASTIC_PASSWORD", PASSWORD));
|
|
@@ -1211,11 +1204,7 @@ public class DockerTests extends PackagingTestCase {
|
|
|
* Check that the Cloud image contains the required Beats
|
|
|
*/
|
|
|
public void test400CloudImageBundlesBeats() {
|
|
|
- assumeTrue(
|
|
|
- distribution.packaging == Packaging.DOCKER_CLOUD
|
|
|
- || distribution.packaging == Packaging.DOCKER_CLOUD_ESS
|
|
|
- || distribution.packaging == Packaging.DOCKER_WOLFI_ESS
|
|
|
- );
|
|
|
+ assumeTrue(distribution.packaging == Packaging.DOCKER_CLOUD || distribution.packaging == Packaging.DOCKER_CLOUD_ESS);
|
|
|
|
|
|
final List<String> contents = listContents("/opt");
|
|
|
assertThat("Expected beats in /opt", contents, hasItems("filebeat", "metricbeat"));
|
|
@@ -1233,6 +1222,10 @@ public class DockerTests extends PackagingTestCase {
|
|
|
return sh.run(bin.pluginTool + " list").stdout().lines().collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
+ private List<String> listPluginArchive() {
|
|
|
+ return sh.run("ls -lh /opt/plugins/archive").stdout().lines().collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Check that readiness listener works
|
|
|
*/
|