You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/08/18 00:54:33 UTC
mesos git commit: Use http instead of https for localhost registry on
non 443 port.
Repository: mesos
Updated Branches:
refs/heads/master 6bc6a40a5 -> e65801485
Use http instead of https for localhost registry on non 443 port.
Review: https://reviews.apache.org/r/51160/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/e6580148
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/e6580148
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/e6580148
Branch: refs/heads/master
Commit: e65801485ab8ec8adf8f9a390c78a9b6c4725b43
Parents: 6bc6a40
Author: Zhitao Li <zh...@gmail.com>
Authored: Wed Aug 17 17:54:21 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Wed Aug 17 17:54:21 2016 -0700
----------------------------------------------------------------------
src/docker/spec.cpp | 16 +++++++++--
src/tests/containerizer/docker_spec_tests.cpp | 31 ++++++++++++++++++++--
2 files changed, 43 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/e6580148/src/docker/spec.cpp
----------------------------------------------------------------------
diff --git a/src/docker/spec.cpp b/src/docker/spec.cpp
index 2711578..2f2c32e 100644
--- a/src/docker/spec.cpp
+++ b/src/docker/spec.cpp
@@ -125,8 +125,20 @@ Try<string> getRegistryScheme(const string& registry)
Result<int> port = getRegistryPort(registry);
if (port.isError()) {
return Error("Failed to get registry port: " + port.error());
- } else if (port.isSome() && port.get() == 80) {
- return "http";
+ } else if (port.isSome()) {
+ if (port.get() == 443) {
+ return "https";
+ }
+
+ if (port.get() == 80) {
+ return "http";
+ }
+
+ // NOTE: For a local registry, it's typically a http server.
+ const string host = getRegistryHost(registry);
+ if (host == "localhost" || host == "127.0.0.1") {
+ return "http";
+ }
}
return "https";
http://git-wip-us.apache.org/repos/asf/mesos/blob/e6580148/src/tests/containerizer/docker_spec_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/docker_spec_tests.cpp b/src/tests/containerizer/docker_spec_tests.cpp
index 1c6473a..82bddd2 100644
--- a/src/tests/containerizer/docker_spec_tests.cpp
+++ b/src/tests/containerizer/docker_spec_tests.cpp
@@ -121,14 +121,14 @@ TEST_F(DockerSpecTest, GetRegistrySpec)
ASSERT_ERROR(scheme);
EXPECT_TRUE(host.empty());
- registry = "invalid_port:x80";
+ registry = "invalid_host:x80";
port = spec::getRegistryPort(registry);
scheme = spec::getRegistryScheme(registry);
host = spec::getRegistryHost(registry);
ASSERT_ERROR(port);
ASSERT_ERROR(scheme);
- EXPECT_EQ("invalid_port", host);
+ EXPECT_EQ("invalid_host", host);
registry = "invalid_port:80:80";
port = spec::getRegistryPort(registry);
@@ -165,6 +165,33 @@ TEST_F(DockerSpecTest, GetRegistrySpec)
EXPECT_SOME_EQ(443, port);
EXPECT_SOME_EQ("https", scheme);
EXPECT_EQ("registry-1.docker.io", host);
+
+ registry = "127.0.0.1:443";
+ port = spec::getRegistryPort(registry);
+ scheme = spec::getRegistryScheme(registry);
+ host = spec::getRegistryHost(registry);
+
+ EXPECT_SOME_EQ(443, port);
+ EXPECT_SOME_EQ("https", scheme);
+ EXPECT_EQ("127.0.0.1", host);
+
+ registry = "127.0.0.1:1234";
+ port = spec::getRegistryPort(registry);
+ scheme = spec::getRegistryScheme(registry);
+ host = spec::getRegistryHost(registry);
+
+ EXPECT_SOME_EQ(1234, port);
+ EXPECT_SOME_EQ("http", scheme);
+ EXPECT_EQ("127.0.0.1", host);
+
+ registry = "localhost:1234";
+ port = spec::getRegistryPort(registry);
+ scheme = spec::getRegistryScheme(registry);
+ host = spec::getRegistryHost(registry);
+
+ EXPECT_SOME_EQ(1234, port);
+ EXPECT_SOME_EQ("http", scheme);
+ EXPECT_EQ("localhost", host);
}