Generate random keypair name

Allow using stack names with .

Related-Prod: PRODX-3456
Change-Id: I9d92fbec0762539f7af10caf233f5b5c8fee077a
diff --git a/de/heat-templates/top.yaml b/de/heat-templates/top.yaml
index 7849851..2a36856 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -259,13 +259,18 @@
     type: string
 
 resources:
+  keypair_name:
+    type: OS::Heat::RandomString
+    properties:
+      character_classes: [{"class": "hexdigits", "min": 1}]
+      length: 128
+      salt: constant
   key_pair:
     type: OS::Nova::KeyPair
     properties:
-      name: { get_param: "OS::stack_name" }
-      public_key: { get_param: cluster_public_key}
+      name: { get_attr: [keypair_name, value] }
+      public_key: { get_param: cluster_public_key }
       save_private_key: false
-
   accessible_network:
     type: MCP2::NetworkAcc
     properties: