Merge pull request #39109 from bdrung/fix-merge-order-warning

Fix top_file_merging_strategy warning if env_order is set
This commit is contained in:
Mike Place 2017-04-04 08:20:55 -06:00 committed by GitHub
commit 8c0befaa8b

View file

@ -2507,22 +2507,17 @@ class BaseHighState(object):
envs.extend([x for x in list(self.opts['file_roots'])
if x not in envs])
env_order = self.opts.get('env_order', [])
# Remove duplicates while preserving the order
members = set()
env_order = [env for env in env_order if not (env in members or members.add(env))]
client_envs = self.client.envs()
if env_order and client_envs:
client_env_list = self.client.envs()
env_intersection = set(env_order).intersection(client_env_list)
final_list = []
for ord_env in env_order:
if ord_env in env_intersection and ord_env not in final_list:
final_list.append(ord_env)
return final_list
return [env for env in env_order if env in client_envs]
elif env_order:
return env_order
else:
for cenv in client_envs:
if cenv not in envs:
envs.append(cenv)
envs.extend([env for env in client_envs if env not in envs])
return envs
def get_tops(self):
@ -2591,7 +2586,7 @@ class BaseHighState(object):
tops[saltenv].append({})
log.debug('No contents loaded for env: {0}'.format(saltenv))
if found > 1 and merging_strategy == 'merge':
if found > 1 and merging_strategy == 'merge' and not self.opts.get('env_order', None):
log.warning(
'top_file_merging_strategy is set to \'%s\' and '
'multiple top files were found. Merging order is not '