summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvin Lubecki <31478878+silvin-lubecki@users.noreply.github.com>2019-09-06 11:13:48 +0200
committerGitHub <noreply@github.com>2019-09-06 11:13:48 +0200
commit1566930a70c28a10c724c54bd5b2485afa75aff9 (patch)
tree943a8b28bfd6330d7fb5a35de832997a7ab10792
parentecf03fe280816ea6bac51da5c524768ea7c96339 (diff)
parenta5fbf91b72f1f32fe61b2d7b3e0cd5d53fbf2aac (diff)
Merge pull request #6862 from deathtracktor/master
Fix KeyError when remote network labels are None.
-rw-r--r--compose/network.py2
-rw-r--r--tests/unit/network_test.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/compose/network.py b/compose/network.py
index e0d711ff..84531ecc 100644
--- a/compose/network.py
+++ b/compose/network.py
@@ -226,7 +226,7 @@ def check_remote_network_config(remote, local):
raise NetworkConfigChangedError(local.true_name, 'enable_ipv6')
local_labels = local.labels or {}
- remote_labels = remote.get('Labels', {})
+ remote_labels = remote.get('Labels') or {}
for k in set.union(set(remote_labels.keys()), set(local_labels.keys())):
if k.startswith('com.docker.'): # We are only interested in user-specified labels
continue
diff --git a/tests/unit/network_test.py b/tests/unit/network_test.py
index 82cfb3be..b829de19 100644
--- a/tests/unit/network_test.py
+++ b/tests/unit/network_test.py
@@ -168,3 +168,8 @@ class NetworkTest(unittest.TestCase):
mock_log.warning.assert_called_once_with(mock.ANY)
_, args, kwargs = mock_log.warning.mock_calls[0]
assert 'label "com.project.touhou.character" has changed' in args[0]
+
+ def test_remote_config_labels_none(self):
+ remote = {'Labels': None}
+ local = Network(None, 'test_project', 'test_network')
+ check_remote_network_config(remote, local)