summaryrefslogtreecommitdiffstats
path: root/nova/crypto.py
diff options
context:
space:
mode:
authorKen Pepple <ken.pepple@gmail.com>2011-04-06 15:55:55 -0700
committerKen Pepple <ken.pepple@gmail.com>2011-04-06 15:55:55 -0700
commitf2928ba331234f53e3051cf0ea1a5492593bedf1 (patch)
tree6afbfa938b5287af3ce9d0cb08112be770b98dfd /nova/crypto.py
parentdc8b3cb3fa124755ed3e5282b2d11a811f1db2d5 (diff)
parent7bd99e33796f1e90b6f8b0b9caa122c541f99015 (diff)
downloadnova-f2928ba331234f53e3051cf0ea1a5492593bedf1.tar.gz
nova-f2928ba331234f53e3051cf0ea1a5492593bedf1.tar.xz
nova-f2928ba331234f53e3051cf0ea1a5492593bedf1.zip
merged trunk
Diffstat (limited to 'nova/crypto.py')
-rw-r--r--nova/crypto.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/nova/crypto.py b/nova/crypto.py
index b112e5b92..9b1897926 100644
--- a/nova/crypto.py
+++ b/nova/crypto.py
@@ -215,9 +215,12 @@ def generate_x509_cert(user_id, project_id, bits=1024):
def _ensure_project_folder(project_id):
if not os.path.exists(ca_path(project_id)):
+ geninter_sh_path = os.path.join(os.path.dirname(__file__),
+ 'CA',
+ 'geninter.sh')
start = os.getcwd()
os.chdir(ca_folder())
- utils.execute('sh', 'geninter.sh', project_id,
+ utils.execute('sh', geninter_sh_path, project_id,
_project_cert_subject(project_id))
os.chdir(start)
@@ -227,13 +230,16 @@ def generate_vpn_files(project_id):
csr_fn = os.path.join(project_folder, "server.csr")
crt_fn = os.path.join(project_folder, "server.crt")
+ genvpn_sh_path = os.path.join(os.path.dirname(__file__),
+ 'CA',
+ 'geninter.sh')
if os.path.exists(crt_fn):
return
_ensure_project_folder(project_id)
start = os.getcwd()
os.chdir(ca_folder())
# TODO(vish): the shell scripts could all be done in python
- utils.execute('sh', 'genvpn.sh',
+ utils.execute('sh', genvpn_sh_path,
project_id, _vpn_cert_subject(project_id))
with open(csr_fn, "r") as csrfile:
csr_text = csrfile.read()
@@ -263,6 +269,8 @@ def _sign_csr(csr_text, ca_folder):
LOG.debug(_("Flags path: %s"), ca_folder)
start = os.getcwd()
# Change working dir to CA
+ if not os.path.exists(ca_folder):
+ os.makedirs(ca_folder)
os.chdir(ca_folder)
utils.execute('openssl', 'ca', '-batch', '-out', outbound, '-config',
'./openssl.cnf', '-infiles', inbound)