Create a keypair with public_key

Nova requires the public_key element when creating a keypair since api
version 2.92. This change ensures the element is passed when creating
a OS::Nova::KeyPair resource.

The master jobs are temporally made non-voting because one integration
test is failing now. These jobs are made voting again once the test is
fixed in the heat repo.

Story: 2010201
Task: 45921
Change-Id: Icdc25a7a79f02ccc5eadcfa5dee99ce5f4d3b00e
diff --git a/.zuul.yaml b/.zuul.yaml
index 74ebce3..a7ada62 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -54,8 +54,10 @@
       - tempest-plugin-jobs
     check:
       jobs:
-        - heat-functional
-        - heat-functional-legacy
+        - heat-functional:
+            voting: false
+        - heat-functional-legacy:
+            voting: false
         - heat-functional-convg-train
         - heat-functional-orig-train
         - heat-functional-ussuri
@@ -64,5 +66,7 @@
     gate:
       queue: heat
       jobs:
-        - heat-functional
-        - heat-functional-legacy
+        - heat-functional:
+            voting: false
+        - heat-functional-legacy:
+            voting: false
diff --git a/heat_tempest_plugin/tests/scenario/templates/id_ed25519.pub b/heat_tempest_plugin/tests/scenario/templates/id_ed25519.pub
new file mode 100644
index 0000000..621bc23
--- /dev/null
+++ b/heat_tempest_plugin/tests/scenario/templates/id_ed25519.pub
@@ -0,0 +1 @@
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFY6/FsBXBr5pe5s6jwkN3Tj0O0a6lh4XrilchQKyPRZ heat-test
diff --git a/heat_tempest_plugin/tests/scenario/templates/test_base_resources.yaml b/heat_tempest_plugin/tests/scenario/templates/test_base_resources.yaml
index bff6185..a430205 100644
--- a/heat_tempest_plugin/tests/scenario/templates/test_base_resources.yaml
+++ b/heat_tempest_plugin/tests/scenario/templates/test_base_resources.yaml
@@ -8,7 +8,7 @@
   key_name:
     type: string
     default: key-01
-    description: Name of an existing key pair to use for the server
+    description: Name of the key pair to use for the server
   flavor:
     type: string
     description: Flavor for the server to be created
@@ -75,6 +75,7 @@
     type: OS::Nova::KeyPair
     properties:
       name: { get_param: key_name }
+      public_key: { get_file: id_ed25519.pub }
 
   server:
     type: OS::Nova::Server