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();