From 802fa202286fb9bf0fab18b0f558b13009367fc5 Mon Sep 17 00:00:00 2001 From: Anthony Lai Date: Sun, 3 Nov 2019 22:54:44 +0000 Subject: [PATCH] Make container service color deterministic, remove red from chosen colors Signed-off-by: Anthony Lai --- compose/cli/colors.py | 4 ++-- compose/cli/log_printer.py | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/compose/cli/colors.py b/compose/cli/colors.py index cb30e3615..ea45198e0 100644 --- a/compose/cli/colors.py +++ b/compose/cli/colors.py @@ -41,9 +41,9 @@ for (name, code) in get_pairs(): def rainbow(): - cs = ['cyan', 'yellow', 'green', 'magenta', 'red', 'blue', + cs = ['cyan', 'yellow', 'green', 'magenta', 'blue', 'intense_cyan', 'intense_yellow', 'intense_green', - 'intense_magenta', 'intense_red', 'intense_blue'] + 'intense_magenta', 'intense_blue'] for c in cs: yield globals()[c] diff --git a/compose/cli/log_printer.py b/compose/cli/log_printer.py index 6940a74c8..a4b70a672 100644 --- a/compose/cli/log_printer.py +++ b/compose/cli/log_printer.py @@ -134,7 +134,10 @@ def build_thread(container, presenter, queue, log_args): def build_thread_map(initial_containers, presenters, thread_args): return { container.id: build_thread(container, next(presenters), *thread_args) - for container in initial_containers + # Container order is unspecified, so they are sorted by name in order to make + # container:presenter (log color) assignment deterministic when given a list of containers + # with the same names. + for container in sorted(initial_containers, key=lambda c: c.name) }