diff options
author | spisarski <s.pisarski@cablelabs.com> | 2017-05-04 12:43:53 -0600 |
---|---|---|
committer | spisarski <s.pisarski@cablelabs.com> | 2017-05-08 09:31:16 -0600 |
commit | d1c4675e5c35257b84cd69969c6e67575faf19db (patch) | |
tree | 63ff3b41ff445b8c192ec33c0aefb913a112b613 /snaps/openstack/create_keypairs.py | |
parent | 40c96233ca4c27de1b3d8b53187c302ddd6208a2 (diff) |
Modified code to support both Python 2.7 and 3.x
* Tested on Python 2.7.10 and 3.4.4
* Updated installation documentation
JIRA: SNAPS-30
Change-Id: I94a37d218be8ea47bbbcfb560197737430fcb3ba
Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'snaps/openstack/create_keypairs.py')
-rw-r--r-- | snaps/openstack/create_keypairs.py | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/snaps/openstack/create_keypairs.py b/snaps/openstack/create_keypairs.py index ea7c811..6af40c6 100644 --- a/snaps/openstack/create_keypairs.py +++ b/snaps/openstack/create_keypairs.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Cable Television Laboratories, Inc. ("CableLabs") +# Copyright (c) 2017 Cable Television Laboratories, Inc. ("CableLabs") # and others. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,7 +15,6 @@ import logging import os -from Crypto.PublicKey import RSA from novaclient.exceptions import NotFound from snaps.openstack.utils import nova_utils @@ -50,28 +49,23 @@ class OpenStackKeypair: """ logger.info('Creating keypair %s...' % self.keypair_settings.name) - try: - self.__keypair = nova_utils.get_keypair_by_name(self.__nova, self.keypair_settings.name) - - if not self.__keypair and not cleanup: - if self.keypair_settings.public_filepath and os.path.isfile(self.keypair_settings.public_filepath): - logger.info("Uploading existing keypair") - self.__keypair = nova_utils.upload_keypair_file(self.__nova, self.keypair_settings.name, - self.keypair_settings.public_filepath) - else: - logger.info("Creating new keypair") - # TODO - Make this value configurable - keys = RSA.generate(1024) - self.__keypair = nova_utils.upload_keypair(self.__nova, self.keypair_settings.name, - keys.publickey().exportKey('OpenSSH')) - nova_utils.save_keys_to_files(keys, self.keypair_settings.public_filepath, - self.keypair_settings.private_filepath) - - return self.__keypair - except Exception as e: - logger.error('Unexpected error creating keypair named - ' + self.keypair_settings.name) - self.clean() - raise Exception(e.message) + self.__keypair = nova_utils.get_keypair_by_name(self.__nova, self.keypair_settings.name) + + if not self.__keypair and not cleanup: + if self.keypair_settings.public_filepath and os.path.isfile(self.keypair_settings.public_filepath): + logger.info("Uploading existing keypair") + self.__keypair = nova_utils.upload_keypair_file(self.__nova, self.keypair_settings.name, + self.keypair_settings.public_filepath) + else: + logger.info("Creating new keypair") + # TODO - Make this value configurable + keys = nova_utils.create_keys(1024) + self.__keypair = nova_utils.upload_keypair(self.__nova, self.keypair_settings.name, + nova_utils.public_key_openssh(keys)) + nova_utils.save_keys_to_files(keys, self.keypair_settings.public_filepath, + self.keypair_settings.private_filepath) + + return self.__keypair def clean(self): """ |