Updated docker executor to set container IP in TaskStatus::NetworkInfo. Review: https://reviews.apache.org/r/38370
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/4b12df29 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/4b12df29 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/4b12df29 Branch: refs/heads/master Commit: 4b12df29c93756bb893ef42b8a59da280a05a9fd Parents: ddfcec8 Author: Kapil Arya <[email protected]> Authored: Wed Sep 16 17:02:53 2015 -0700 Committer: Niklas Q. Nielsen <[email protected]> Committed: Wed Sep 16 18:16:10 2015 -0700 ---------------------------------------------------------------------- src/docker/executor.cpp | 5 +++++ src/tests/containerizer/docker_containerizer_tests.cpp | 7 +++++++ 2 files changed, 12 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/4b12df29/src/docker/executor.cpp ---------------------------------------------------------------------- diff --git a/src/docker/executor.cpp b/src/docker/executor.cpp index 6809e4a..1e49013 100644 --- a/src/docker/executor.cpp +++ b/src/docker/executor.cpp @@ -167,9 +167,14 @@ public: status.set_state(TASK_RUNNING); status.set_data(container.output); if (container.ipAddress.isSome()) { + // TODO(karya): Deprecated -- Remove after 0.25.0 has shipped. Label* label = status.mutable_labels()->add_labels(); label->set_key("Docker.NetworkSettings.IPAddress"); label->set_value(container.ipAddress.get()); + + NetworkInfo* networkInfo = + status.mutable_container_status()->add_network_infos(); + networkInfo->set_ip_address(container.ipAddress.get()); } driver->sendStatusUpdate(status); } http://git-wip-us.apache.org/repos/asf/mesos/blob/4b12df29/src/tests/containerizer/docker_containerizer_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/containerizer/docker_containerizer_tests.cpp b/src/tests/containerizer/docker_containerizer_tests.cpp index a628922..8771ef6 100644 --- a/src/tests/containerizer/docker_containerizer_tests.cpp +++ b/src/tests/containerizer/docker_containerizer_tests.cpp @@ -472,11 +472,18 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch) // Now verify that the Docker.NetworkSettings.IPAddress label is // present. + // TODO(karya): Deprecated -- Remove after 0.25.0 has shipped. ASSERT_TRUE(statusRunning.get().has_labels()); EXPECT_EQ(1, statusRunning.get().labels().labels().size()); EXPECT_EQ("Docker.NetworkSettings.IPAddress", statusRunning.get().labels().labels(0).key()); + // Now verify that the TaskStatus contains the container IP address. + ASSERT_TRUE(statusRunning.get().has_container_status()); + EXPECT_EQ(1, statusRunning.get().container_status().network_infos().size()); + EXPECT_TRUE( + statusRunning.get().container_status().network_infos(0).has_ip_address()); + ASSERT_TRUE(exists(docker, slaveId, containerId.get())); Future<containerizer::Termination> termination =
