You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by al...@apache.org on 2016/07/18 15:59:08 UTC
mesos git commit: Fixed flakiness in persistent volume test case.
Repository: mesos
Updated Branches:
refs/heads/master 0411f0139 -> 32a10d6f8
Fixed flakiness in persistent volume test case.
In PersistentVolumeEndpointsTest.OfferCreateThenEndpointRemove,
add an extra offer cycle. Along the way, clean up some comments.
Review: https://reviews.apache.org/r/50023/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/32a10d6f
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/32a10d6f
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/32a10d6f
Branch: refs/heads/master
Commit: 32a10d6f8518022298a819ffa6e0518b0498a9dc
Parents: 0411f01
Author: Neil Conway <ne...@gmail.com>
Authored: Mon Jul 18 17:38:03 2016 +0200
Committer: Alexander Rukletsov <al...@apache.org>
Committed: Mon Jul 18 17:56:14 2016 +0200
----------------------------------------------------------------------
src/tests/persistent_volume_endpoints_tests.cpp | 35 +++++++++++++++-----
1 file changed, 26 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/32a10d6f/src/tests/persistent_volume_endpoints_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/persistent_volume_endpoints_tests.cpp b/src/tests/persistent_volume_endpoints_tests.cpp
index 2a22f3b..fdd10a7 100644
--- a/src/tests/persistent_volume_endpoints_tests.cpp
+++ b/src/tests/persistent_volume_endpoints_tests.cpp
@@ -1588,7 +1588,7 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
// Reserve the resources.
driver.acceptOffers({offer.id()}, {RESERVE(dynamicallyReserved)}, filters);
- // In the next offer, expect an offer with reserved resources.
+ // Expect an offer with reserved resources.
AWAIT_READY(offers);
ASSERT_EQ(1u, offers.get().size());
@@ -1607,13 +1607,12 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
frameworkInfo.principal());
EXPECT_CALL(sched, resourceOffers(&driver, _))
- .WillOnce(FutureArg<1>(&offers))
- .WillRepeatedly(Return()); // Ignore subsequent offers.
+ .WillOnce(FutureArg<1>(&offers));
// Create the volume.
driver.acceptOffers({offer.id()}, {CREATE(volume)}, filters);
- // In the next offer, expect an offer with a persistent volume.
+ // Expect an offer with a persistent volume.
AWAIT_READY(offers);
ASSERT_EQ(1u, offers.get().size());
@@ -1626,6 +1625,10 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
EXPECT_CALL(sched, offerRescinded(&driver, _))
.WillOnce(FutureArg<1>(&rescindedOfferId));
+ EXPECT_CALL(sched, resourceOffers(&driver, _))
+ .WillOnce(FutureArg<1>(&offers));
+
+ // Destroy the volume using HTTP operator endpoint.
Future<Response> destroyResponse = process::http::post(
master.get()->pid,
"destroy-volumes",
@@ -1635,13 +1638,23 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
AWAIT_EXPECT_RESPONSE_STATUS_EQ(Accepted().status, destroyResponse);
AWAIT_READY(rescindedOfferId);
-
EXPECT_EQ(rescindedOfferId.get(), offer.id());
- // Expect an offer containing only unreserved resources.
+ // Expect an offer containing reserved resources.
+ AWAIT_READY(offers);
+
+ ASSERT_EQ(1u, offers.get().size());
+ offer = offers.get()[0];
+
+ EXPECT_TRUE(Resources(offer.resources()).contains(dynamicallyReserved));
+
+ EXPECT_CALL(sched, offerRescinded(&driver, _))
+ .WillOnce(FutureArg<1>(&rescindedOfferId));
+
EXPECT_CALL(sched, resourceOffers(&driver, _))
.WillOnce(FutureArg<1>(&offers));
+ // Unreserve the resources using HTTP operator endpoint.
Future<Response> unreserveResponse = process::http::post(
master.get()->pid,
"unreserve",
@@ -1650,6 +1663,10 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
AWAIT_EXPECT_RESPONSE_STATUS_EQ(Accepted().status, unreserveResponse);
+ AWAIT_READY(rescindedOfferId);
+ EXPECT_EQ(rescindedOfferId.get(), offer.id());
+
+ // Expect an offer containing only unreserved resources.
AWAIT_READY(offers);
ASSERT_EQ(1u, offers.get().size());
@@ -1728,12 +1745,12 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
EXPECT_CALL(sched, registered(&driver, _, _));
- // Expect an offer containing the persistent volume.
EXPECT_CALL(sched, resourceOffers(&driver, _))
.WillOnce(FutureArg<1>(&offers));
driver.start();
+ // Expect an offer containing the persistent volume.
AWAIT_READY(offers);
ASSERT_EQ(1u, offers.get().size());
@@ -1746,7 +1763,6 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
Filters filters;
filters.set_refuse_seconds(0);
- // Expect an offer containing the dynamic reservation.
EXPECT_CALL(sched, resourceOffers(&driver, _))
.WillOnce(FutureArg<1>(&offers));
@@ -1755,6 +1771,7 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
{DESTROY(volume)},
filters);
+ // Expect an offer containing the dynamic reservation.
AWAIT_READY(offers);
ASSERT_EQ(1u, offers.get().size());
@@ -1762,13 +1779,13 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
EXPECT_TRUE(Resources(offer.resources()).contains(dynamicallyReserved));
- // Expect an offer containing only unreserved resources.
EXPECT_CALL(sched, resourceOffers(&driver, _))
.WillOnce(FutureArg<1>(&offers));
// Unreserve the resources.
driver.acceptOffers({offer.id()}, {UNRESERVE(dynamicallyReserved)}, filters);
+ // Expect an offer containing only unreserved resources.
AWAIT_READY(offers);
ASSERT_EQ(1u, offers.get().size());