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/06/21 20:22:37 UTC

[1/2] mesos git commit: Improved the accuracy of a failure message in docker fetcher plugin.

Repository: mesos
Updated Branches:
  refs/heads/1.6.x ab6478d38 -> a343aca88


Improved the accuracy of a failure message in docker fetcher plugin.

Review: https://reviews.apache.org/r/67591/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/a343aca8
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/a343aca8
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/a343aca8

Branch: refs/heads/1.6.x
Commit: a343aca882b273e8366da74ccd44458780dbb635
Parents: 86a740b
Author: he yi hua <yh...@163.com>
Authored: Thu Jun 21 12:42:36 2018 -0700
Committer: Gilbert Song <so...@gmail.com>
Committed: Thu Jun 21 13:22:18 2018 -0700

----------------------------------------------------------------------
 src/uri/fetchers/docker.cpp | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/a343aca8/src/uri/fetchers/docker.cpp
----------------------------------------------------------------------
diff --git a/src/uri/fetchers/docker.cpp b/src/uri/fetchers/docker.cpp
index 94bbdee..0605a34 100644
--- a/src/uri/fetchers/docker.cpp
+++ b/src/uri/fetchers/docker.cpp
@@ -872,6 +872,11 @@ Future<http::Headers> DockerFetcherPluginProcess::getAuthHeader(
       });
   }
 
+  if (authScheme == "BASIC"){
+    return Failure(
+        "Unexpected BASIC Authorization response status: " + response.status);
+  }
+
   return Failure("Unsupported auth-scheme: " + authScheme);
 }
 


[2/2] mesos git commit: Fixed an issue where agent may fail to recover.

Posted by gi...@apache.org.
Fixed an issue where agent may fail to recover.

Fixed an issue where agent may fail to recover if the agent dies before
image store cache to the checkpoint. when images file is empty, ignore
it and continue.

Review: https://reviews.apache.org/r/67597/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/86a740b2
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/86a740b2
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/86a740b2

Branch: refs/heads/1.6.x
Commit: 86a740b2ad7ac21ffe197966fb6d621fc604cee3
Parents: ab6478d
Author: bin zheng <zh...@chinaunicom.cn>
Authored: Thu Jun 21 12:02:23 2018 -0700
Committer: Gilbert Song <so...@gmail.com>
Committed: Thu Jun 21 13:22:18 2018 -0700

----------------------------------------------------------------------
 .../provisioner/docker/metadata_manager.cpp     |  4 +++-
 .../containerizer/provisioner_docker_tests.cpp  | 21 ++++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/86a740b2/src/slave/containerizer/mesos/provisioner/docker/metadata_manager.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/provisioner/docker/metadata_manager.cpp b/src/slave/containerizer/mesos/provisioner/docker/metadata_manager.cpp
index 98c8fc7..9abcc3d 100644
--- a/src/slave/containerizer/mesos/provisioner/docker/metadata_manager.cpp
+++ b/src/slave/containerizer/mesos/provisioner/docker/metadata_manager.cpp
@@ -265,7 +265,9 @@ Future<Nothing> MetadataManagerProcess::recover()
   if (images.isNone()) {
     // This could happen if the slave died after opening the file for
     // writing but before persisted on disk.
-    return Failure("Unexpected empty images file '" + storedImagesPath + "'");
+    LOG(WARNING) << "The images file '" << storedImagesPath << "' is empty";
+
+    return Nothing();
   }
 
   foreach (const Image& image, images->images()) {

http://git-wip-us.apache.org/repos/asf/mesos/blob/86a740b2/src/tests/containerizer/provisioner_docker_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/provisioner_docker_tests.cpp b/src/tests/containerizer/provisioner_docker_tests.cpp
index c664ff8..7aafa53 100644
--- a/src/tests/containerizer/provisioner_docker_tests.cpp
+++ b/src/tests/containerizer/provisioner_docker_tests.cpp
@@ -240,6 +240,27 @@ TEST_F(ProvisionerDockerLocalStoreTest, MetadataManagerInitialization)
   verifyLocalDockerImage(flags, imageInfo->layers);
 }
 
+// This is a regression test for MESOS-8871.
+// This test the ability of the metadata manger to ignore the empty images
+// file when it recover images.
+TEST_F(ProvisionerDockerLocalStoreTest,
+       MetadataManagerRecoveryWithEmptyImagesFile)
+{
+  slave::Flags flags;
+  flags.docker_registry = path::join(os::getcwd(), "images");
+  flags.docker_store_dir = path::join(os::getcwd(), "store");
+  flags.image_provisioner_backend = COPY_BACKEND;
+  const string emptyImages = paths::getStoredImagesPath(flags.docker_store_dir);
+
+  ASSERT_SOME(os::mkdir(flags.docker_store_dir));
+  ASSERT_SOME(os::touch(emptyImages));
+
+  Try<Owned<slave::Store>> store = slave::docker::Store::create(flags);
+  ASSERT_SOME(store);
+
+  Future<Nothing> recover = store.get()->recover();
+  AWAIT_READY(recover);
+}
 
 // This test verifies that the layer that is missing from the store
 // will be pulled.