--- /dev/null
+#!/usr/bin/env python
+
+##############################################################################
+# Copyright (c) 2017 Intel Corporation
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Unittest for yardstick.benchmark.orchestrator.heat
+
+import unittest
+import uuid
+
+from yardstick.orchestrator import heat
+
+
+class HeatContextTestCase(unittest.TestCase):
+
+    def test_get_short_key_uuid(self):
+        u = uuid.uuid4()
+        k = heat.get_short_key_uuid(u)
+        self.assertEqual(heat.HEAT_KEY_UUID_LENGTH, len(k))
+        self.assertIn(k, str(u))
 
 from yardstick.benchmark.contexts.model import PlacementGroup
 from yardstick.benchmark.contexts.model import Network
 from yardstick.benchmark.contexts.model import update_scheduler_hints
-from yardstick.orchestrator.heat import HeatTemplate
+from yardstick.orchestrator.heat import HeatTemplate, get_short_key_uuid
 from yardstick.definitions import YARDSTICK_ROOT_PATH
 
 
         # generate an uuid to identify yardstick_key
         # the first 8 digits of the uuid will be used
         self.key_uuid = uuid.uuid4()
-        self.key_filename = YARDSTICK_ROOT_PATH + \
-            'yardstick/resources/files/yardstick_key-' + str(self.key_uuid)[:8]
+        self.key_filename = ''.join(
+            [YARDSTICK_ROOT_PATH, 'yardstick/resources/files/yardstick_key-',
+             get_short_key_uuid(self.key_uuid)])
         super(self.__class__, self).__init__()
 
     def init(self, attrs):
         with attribute name mapping when using external heat templates
         '''
         key_filename = pkg_resources.resource_filename(
-            'yardstick.resources', 'files/yardstick_key-{:.{width}}'.format(
-                                      self.key_uuid, width=8))
+            'yardstick.resources',
+            'files/yardstick_key-' + get_short_key_uuid(self.key_uuid))
 
         if type(attr_name) is dict:
             cname = attr_name["name"].split(".")[1]
 
 import getpass
 import socket
 import logging
-import pkg_resources
 import json
 
 from oslo_utils import encodeutils
 import heatclient
+import pkg_resources
 
 from yardstick.common import template_format
 import yardstick.common.openstack_utils as op_utils
 log = logging.getLogger(__name__)
 
 
+HEAT_KEY_UUID_LENGTH = 8
+
+
+def get_short_key_uuid(uuid):
+    return str(uuid)[:HEAT_KEY_UUID_LENGTH]
+
+
 class HeatObject(object):
     ''' base class for template and stack'''
     def __init__(self):
                 'public_key': encodeutils.safe_decode(
                     pkg_resources.resource_string(
                         'yardstick.resources',
-                        'files/yardstick_key-{:.{width}}.pub'.format(
-                            key_uuid, width=8)),
+                        'files/yardstick_key-' +
+                        get_short_key_uuid(key_uuid) + '.pub'),
                     'utf-8')
             }
         }