From a1e140f5a3376812d3d13b011ac93760dfd4f1c2 Mon Sep 17 00:00:00 2001
From: Joffrey F <joffrey@docker.com>
Date: Mon, 9 Nov 2015 13:07:26 -0800
Subject: [PATCH] Update service config_dict computation to include
 volumes_from mode

Ensure config_hash is updated when volumes_from mode is changed, and
service is recreated on next up as a result.

Signed-off-by: Joffrey F <joffrey@docker.com>
---
 compose/service.py         | 4 +++-
 tests/unit/service_test.py | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/compose/service.py b/compose/service.py
index e5a4cc4a0..8d40ab10c 100644
--- a/compose/service.py
+++ b/compose/service.py
@@ -502,7 +502,9 @@ class Service(object):
             'image_id': self.image()['Id'],
             'links': self.get_link_names(),
             'net': self.net.id,
-            'volumes_from': self.get_volumes_from_names(),
+            'volumes_from': [
+                (v.source.name, v.mode) for v in self.volumes_from if isinstance(v.source, Service)
+            ],
         }
 
     def get_dependency_names(self):
diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py
index 8c5c888fa..bd7712250 100644
--- a/tests/unit/service_test.py
+++ b/tests/unit/service_test.py
@@ -410,7 +410,7 @@ class ServiceTest(unittest.TestCase):
             'options': {'image': 'example.com/foo'},
             'links': [('one', 'one')],
             'net': 'other',
-            'volumes_from': ['two'],
+            'volumes_from': [('two', 'rw')],
         }
         self.assertEqual(config_dict, expected)