From 850a41ec05b1bbc4adcdb90edaa1501d76d403ef Mon Sep 17 00:00:00 2001 From: Thomas Herve Date: Thu, 25 Jul 2013 13:19:46 +0200 Subject: [PATCH] Skip RSA generation during tests Use a static key in Rackspace cloud server tests, to remove the overhead of the SSH keys generation. Change-Id: Ief14f034fb86e42ecbb801b9d4f82ff27fb35588 --- .../engine/resources/rackspace/cloud_server.py | 5 ++++- heat/tests/test_rackspace_cloud_server.py | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/heat/engine/resources/rackspace/cloud_server.py b/heat/engine/resources/rackspace/cloud_server.py index 2adac132..13f6b3dc 100644 --- a/heat/engine/resources/rackspace/cloud_server.py +++ b/heat/engine/resources/rackspace/cloud_server.py @@ -263,7 +263,10 @@ zypper --non-interactive in cloud-init python-boto python-pip gcc python-devel user_public_key = self.properties['PublicKey'] or '' # Generate SSH public/private keypair - rsa = RSA.generate(1024) + if self._private_key is not None: + rsa = RSA.importKey(self._private_key) + else: + rsa = RSA.generate(1024) self.private_key = rsa.exportKey() public_key = rsa.publickey().exportKey('OpenSSH') public_keys = public_key + "\n" + user_public_key diff --git a/heat/tests/test_rackspace_cloud_server.py b/heat/tests/test_rackspace_cloud_server.py index b811b08e..40124bf2 100644 --- a/heat/tests/test_rackspace_cloud_server.py +++ b/heat/tests/test_rackspace_cloud_server.py @@ -58,6 +58,23 @@ wp_template = ''' } ''' +rsa_key = """-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDibWGom/83F2xYfVylBZhUbREiVlw42X7afUuHzNJuh/5EyhXQ +BmBHjVGL1mxZY4GoISrxIkW1jVmTXbm8FknIlS3jxEOC+xF3IkLBtmZEkFVLOUCv +Fpru1xThFS0L/pRttiTWLm+dsjboCV4qtg/+y30O0RJ5AAFgGkoVs8idrQIDAQAB +AoGAQU/7037r5yBCiGPgzVkHz5KGVrlCcMOL68ood0uFh4yCs6T3FcJBE2KYGxYG +uuIRDEZE9LlGElBrfi6S3MYxEbewITK9Li1cr8K0fJlIbg5PI1MxwiTXzG7i0f8Y +trtZjo/fs8XNSS4xlGWCUgtiNXvLS6wxyDGGbqeh1BmETgECQQDmoPJ3h5kuZguA +o7B+iTaKXqyWPf0ImsZ0UQYBgnEWTaZEh8W0015jP55mndALWA9pmhHJm+BC/Hfe +Kp6jtVyxAkEA+1YctDe62u5pXU/GK8UfDJwi4m1VxUfASrlxh+ALag9knwe6Dlev +EKKIe8R6HZs2zavaJs6dddxHRcIi8rXfvQJAW6octOVwPMDSUY69140x4E1Ay3ZX +29OojRKnEHKIABVcwGA2dGiOW2Qt0RtoVRnrBk32Q+twdy9hdSv7YZX0AQJAVDaj +QYNW2Zp+tWRQa0QORkRer+2gioyjEqaWMsfQK0ZjGaIWJk4c+37qKkZIAHmMYFeP +recW/XHEc8w7t4VXJQJAevSyciBfFcWMZTwlqq8wXNMCRLJt5CxvO4gSO+hPNrDe +gDZkz7KcZC7TkO0NYVRssA6/84mCqx6QHpKaYNG9kg== +-----END RSA PRIVATE KEY----- +""" + class RackspaceCloudServerTest(HeatTestCase): def setUp(self): @@ -141,6 +158,7 @@ class RackspaceCloudServerTest(HeatTestCase): cs = cloud_server.CloudServer('%s_name' % name, t['Resources']['WebServer'], stack) + cs._private_key = rsa_key cs.t = cs.stack.resolve_runtime_data(cs.t) flavor = t['Resources']['WebServer']['Properties']['Flavor'] -- 2.45.2