From 4f5be2b7d98347d5fd6ae40ce26fec52749007e9 Mon Sep 17 00:00:00 2001
From: James Slagle <jslagle@redhat.com>
Date: Tue, 08 Nov 2016 06:53:36 -0500
Subject: [PATCH] Don't assume CountDefault set in roles_data.yaml

Specifying CountDefault in roles_data.yaml is not required since it
defaults to 0 in overcloud.j2.yaml. This patch updates the
_get_default_role_counts to handle the situation where it is not
specified and assume 0 as well.

Change-Id: I4a40b55363d6a4dbe3fdc68309157e04695f51a9
Closes-Bug: #1640141
---

diff --git a/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py b/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py
index ca5c41a..a2ff65c 100644
--- a/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py
+++ b/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py
@@ -1184,6 +1184,42 @@
             stack, parameters, parsed_args)
         self.assertEqual(1, self.cmd.predeploy_errors)
 
+    def test_get_default_role_counts_defaults(self):
+        parsed_args = mock.Mock()
+        parsed_args.roles_file = None
+        defaults = {
+            'ControllerCount': 1,
+            'ComputeCount': 1,
+            'ObjectStorageCount': 0,
+            'BlockStorageCount': 0,
+            'CephStorageCount': 0
+        }
+        self.assertEqual(
+            defaults,
+            self.cmd._get_default_role_counts(parsed_args))
+
+    @mock.patch("six.moves.builtins.open")
+    def test_get_default_role_counts_custom_roles(self, mock_open):
+        parsed_args = mock.Mock()
+        roles_data = [
+            {'name': 'ControllerApi', 'CountDefault': 3},
+            {'name': 'ControllerPcmk', 'CountDefault': 3},
+            {'name': 'Compute', 'CountDefault': 3},
+            {'name': 'ObjectStorage', 'CountDefault': 0},
+            {'name': 'BlockStorage'}
+        ]
+        yaml.safe_load = mock.Mock(return_value=roles_data)
+        role_counts = {
+            'ControllerApiCount': 3,
+            'ControllerPcmkCount': 3,
+            'ComputeCount': 3,
+            'ObjectStorageCount': 0,
+            'BlockStorageCount': 0,
+        }
+        self.assertEqual(
+            role_counts,
+            self.cmd._get_default_role_counts(parsed_args))
+
     @mock.patch('tripleoclient.workflows.plan_management.tarball',
                 autospec=True)
     @mock.patch('tripleoclient.v1.overcloud_deploy.DeployOvercloud.'
diff --git a/tripleoclient/v1/overcloud_deploy.py b/tripleoclient/v1/overcloud_deploy.py
index ec97542..1fc19ec 100644
--- a/tripleoclient/v1/overcloud_deploy.py
+++ b/tripleoclient/v1/overcloud_deploy.py
@@ -735,9 +735,10 @@
 
         default_role_counts = {}
         for r in roles_data:
+            count_default = r.get('CountDefault', 0)
             default_role_counts.setdefault(
                 "%sCount" % r['name'],
-                r['CountDefault'])
+                count_default)
 
         return default_role_counts
 
