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:23:45 UTC

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

Repository: mesos
Updated Branches:
  refs/heads/1.5.x fc8e9746b -> 42a2b15e4


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/6772edb9
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/6772edb9
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/6772edb9

Branch: refs/heads/1.5.x
Commit: 6772edb9de55e7839be99e2681508e19465d32ac
Parents: fc8e974
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:23:38 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/6772edb9/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 e1939a4..a8084fd 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.get().images()) {

http://git-wip-us.apache.org/repos/asf/mesos/blob/6772edb9/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.


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

Posted by gi...@apache.org.
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/42a2b15e
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/42a2b15e
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/42a2b15e

Branch: refs/heads/1.5.x
Commit: 42a2b15e42b30afa39447e30f4a3d64688f40556
Parents: 6772edb
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:23:39 2018 -0700

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


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