Fix network alias and network link comparison. - Using set based comparison was not working consistently - With != operator worked locally but consistently failed on Travis - With 'not in' operator failed locally and on Travis
This commit is contained in:
parent
1160c79671
commit
76260d3aa8
1 changed files with 6 additions and 4 deletions
|
@ -1373,16 +1373,18 @@ class Container(DockerBaseClass):
|
|||
if network.get('aliases') and not connected_networks[network['name']].get('Aliases'):
|
||||
diff = True
|
||||
if network.get('aliases') and connected_networks[network['name']].get('Aliases'):
|
||||
if set(network.get('aliases')) != set(connected_networks[network['name']].get('Aliases')):
|
||||
diff = True
|
||||
for alias in network.get('aliases'):
|
||||
if alias not in connected_networks[network['name']].get('Aliases', []):
|
||||
diff = True
|
||||
if network.get('links') and not connected_networks[network['name']].get('Links'):
|
||||
diff = True
|
||||
if network.get('links') and connected_networks[network['name']].get('Links'):
|
||||
expected_links = []
|
||||
for link, alias in network['links'].iteritems():
|
||||
expected_links.append("%s:%s" % (link, alias))
|
||||
if set(expected_links) != set(connected_networks[network['name']].get('Links', [])):
|
||||
diff = True
|
||||
for link in expected_links:
|
||||
if link not in connected_networks[network['name']].get('Links', []):
|
||||
diff = True
|
||||
if diff:
|
||||
different = True
|
||||
differences.append(dict(
|
||||
|
|
Loading…
Reference in a new issue