You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2018/12/11 08:05:53 UTC

[mesos] 02/02: Refactored `LinuxFilesystemIsolator{Test, MesosTest}` tests.

This is an automated email from the ASF dual-hosted git repository.

gilbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git

commit 4803af11bcb038193c238c049ea67c73b1bfd9a1
Author: Andrei Budnik <ab...@mesosphere.com>
AuthorDate: Mon Dec 10 16:00:32 2018 -0800

    Refactored `LinuxFilesystemIsolator{Test,MesosTest}` tests.
    
    This patch factors out boilerplate code related to initialization of
    the agent flags.
    
    Review: https://reviews.apache.org/r/69545/
---
 .../linux_filesystem_isolator_tests.cpp            | 113 ++++++---------------
 1 file changed, 32 insertions(+), 81 deletions(-)

diff --git a/src/tests/containerizer/linux_filesystem_isolator_tests.cpp b/src/tests/containerizer/linux_filesystem_isolator_tests.cpp
index 99af704..250ead9 100644
--- a/src/tests/containerizer/linux_filesystem_isolator_tests.cpp
+++ b/src/tests/containerizer/linux_filesystem_isolator_tests.cpp
@@ -69,21 +69,34 @@ namespace mesos {
 namespace internal {
 namespace tests {
 
-class LinuxFilesystemIsolatorTest : public MesosTest {};
+class LinuxFilesystemIsolatorTest : public MesosTest
+{
+protected:
+  slave::Flags CreateSlaveFlags() override
+  {
+    slave::Flags flags = MesosTest::CreateSlaveFlags();
+    flags.isolation = "filesystem/linux,docker/runtime";
+    flags.docker_registry = GetRegistryPath();
+    flags.docker_store_dir = path::join(sandbox.get(), "store");
+    flags.image_providers = "docker";
+
+    return flags;
+  }
+
+  string GetRegistryPath() const
+  {
+    return path::join(sandbox.get(), "registry");
+  }
+};
 
 
 // This test verifies that the root filesystem of the container is
 // properly changed to the one that's provisioned by the provisioner.
 TEST_F(LinuxFilesystemIsolatorTest, ROOT_ChangeRootFilesystem)
 {
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Fetcher fetcher(flags);
 
@@ -127,14 +140,9 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_ChangeRootFilesystem)
 // in the container's root filesystem.
 TEST_F(LinuxFilesystemIsolatorTest, ROOT_PseudoDevicesWithRootFilesystem)
 {
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Fetcher fetcher(flags);
 
@@ -181,14 +189,9 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_PseudoDevicesWithRootFilesystem)
 // that have root filesystem specified is correctly reported.
 TEST_F(LinuxFilesystemIsolatorTest, ROOT_Metrics)
 {
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Fetcher fetcher(flags);
 
@@ -241,14 +244,9 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_Metrics)
 // the container's root filesystem.
 TEST_F(LinuxFilesystemIsolatorTest, ROOT_PersistentVolumeWithRootFilesystem)
 {
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Fetcher fetcher(flags);
 
@@ -312,14 +310,9 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_PersistentVolumeWithRootFilesystem)
 TEST_F(LinuxFilesystemIsolatorTest,
        ROOT_PersistentVolumeAndHostVolumeWithRootFilesystem)
 {
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Fetcher fetcher(flags);
 
@@ -384,14 +377,7 @@ TEST_F(LinuxFilesystemIsolatorTest,
 // the container does not specify a root filesystem.
 TEST_F(LinuxFilesystemIsolatorTest, ROOT_PersistentVolumeWithoutRootFilesystem)
 {
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
-
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Fetcher fetcher(flags);
 
@@ -449,15 +435,10 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_PersistentVolumeWithoutRootFilesystem)
 // launched simultaneously with no interference.
 TEST_F(LinuxFilesystemIsolatorTest, ROOT_MultipleContainers)
 {
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image1"));
-  AWAIT_READY(DockerArchive::create(registry, "test_image2"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image1"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image2"));
 
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Fetcher fetcher(flags);
 
@@ -633,7 +614,6 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_WorkDirMountNeeded)
 TEST_F(LinuxFilesystemIsolatorTest, ROOT_PersistentVolumeMountPointCleanup)
 {
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux";
 
   Fetcher fetcher(flags);
 
@@ -714,14 +694,9 @@ TEST_F(LinuxFilesystemIsolatorMesosTest,
   Try<Owned<cluster::Master>> master = StartMaster();
   ASSERT_SOME(master);
 
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Owned<MasterDetector> detector = master.get()->createDetector();
 
@@ -790,15 +765,10 @@ TEST_F(LinuxFilesystemIsolatorMesosTest,
   Try<Owned<cluster::Master>> master = StartMaster();
   ASSERT_SOME(master);
 
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
   flags.resources = "cpus:2;mem:1024;disk(role1):1024";
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Owned<MasterDetector> detector = master.get()->createDetector();
 
@@ -920,15 +890,10 @@ TEST_F(LinuxFilesystemIsolatorMesosTest,
   Try<Owned<cluster::Master>> master = StartMaster();
   ASSERT_SOME(master);
 
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
   flags.resources = "cpus:2;mem:1024;disk(role1):1024";
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Fetcher fetcher(flags);
 
@@ -1077,14 +1042,9 @@ TEST_F(LinuxFilesystemIsolatorMesosTest, ROOT_SandboxEnvironmentVariable)
   Try<Owned<cluster::Master>> master = StartMaster();
   ASSERT_SOME(master);
 
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Owned<MasterDetector> detector = master.get()->createDetector();
 
@@ -1158,15 +1118,11 @@ TEST_F(LinuxFilesystemIsolatorMesosTest,
   Try<Owned<cluster::Master>> master = StartMaster();
   ASSERT_SOME(master);
 
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
   flags.resources = "cpus:2;mem:128;disk(role1):128";
   flags.isolation = "disk/du,filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   // NOTE: We can't pause the clock because we need the reaper to reap
   // the 'du' subprocess.
@@ -1261,15 +1217,10 @@ TEST_F(LinuxFilesystemIsolatorMesosTest,
   Try<Owned<cluster::Master>> master = StartMaster();
   ASSERT_SOME(master);
 
-  string registry = path::join(sandbox.get(), "registry");
-  AWAIT_READY(DockerArchive::create(registry, "test_image"));
+  AWAIT_READY(DockerArchive::create(GetRegistryPath(), "test_image"));
 
   slave::Flags flags = CreateSlaveFlags();
   flags.resources = "cpus:2;mem:128;disk(role1):128";
-  flags.isolation = "filesystem/linux,docker/runtime";
-  flags.docker_registry = registry;
-  flags.docker_store_dir = path::join(sandbox.get(), "store");
-  flags.image_providers = "docker";
 
   Owned<MasterDetector> detector = master.get()->createDetector();