From 3f79bf8bbd11500826cf86141cd7ec9deebae987 Mon Sep 17 00:00:00 2001
From: Ian Howell <ian.howell0@gmail.com>
Date: Thu, 11 Jun 2020 15:45:29 -0500
Subject: [PATCH] Make get-management-config print in order

This causes the `airshipctl config get-management-config` command to
print all management configurations in order.

This fixes an issue where unit tests would randomly fail, since the
output order from the command was not consistent.

Change-Id: I83da272d56b90026dac8c07d7522119500935406
---
 cmd/config/get_management_config.go | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/cmd/config/get_management_config.go b/cmd/config/get_management_config.go
index 330ca4fc8..ba3330bd5 100644
--- a/cmd/config/get_management_config.go
+++ b/cmd/config/get_management_config.go
@@ -16,6 +16,7 @@ package config
 
 import (
 	"fmt"
+	"sort"
 
 	"github.com/spf13/cobra"
 
@@ -58,7 +59,15 @@ func NewGetManagementConfigCommand(rootSettings *environment.AirshipCTLSettings)
 				return nil
 			}
 
-			for key, config := range rootSettings.Config.ManagementConfiguration {
+			// Print all of the management configurations in order by name
+			keys := make([]string, 0, len(rootSettings.Config.ManagementConfiguration))
+			for key := range rootSettings.Config.ManagementConfiguration {
+				keys = append(keys, key)
+			}
+			sort.Strings(keys)
+
+			for _, key := range keys {
+				config := rootSettings.Config.ManagementConfiguration[key]
 				fmt.Fprintf(cmd.OutOrStdout(), "name: %s\n%s\n", key, config.String())
 			}