Refactor SSL setup to use CA to sign certificates

Users can now use Packstack generated CA or provide Subordinate CA to packstack
to sign certificates used by OpenStack.

Resolves: rhbz#1163866

Change-Id: Idd89dbb7f197a194fd87576be6d95a75d059231e
This commit is contained in:
Lukas Bezdicka
2015-04-14 12:16:25 -04:00
parent 41f3e9e86c
commit 1c0c36bf40
38 changed files with 938 additions and 232 deletions

View File

@@ -32,7 +32,8 @@ __all__ = ('ParamValidationError', 'validate_integer', 'validate_float',
'validate_multi_ip', 'validate_file', 'validate_ping',
'validate_multi_ping', 'validate_ssh', 'validate_multi_ssh',
'validate_sshkey', 'validate_ldap_url', 'validate_ldap_dn',
'validate_export', 'validate_multi_export')
'validate_export', 'validate_multi_export',
'validate_writeable_directory')
def validate_integer(param, options=None):
@@ -197,6 +198,23 @@ def validate_file(param, options=None):
raise ParamValidationError(msg % param)
def validate_writeable_directory(param, options=None):
"""
Raises ParamValidationError if provided directory does not exist or
is not writeable.
"""
if not param:
return
options = options or []
if not ((os.path.isdir(param) and os.access(param, os.W_OK)) or
os.access(os.path.join(param, os.pardir), os.W_OK)):
logging.debug('validate_writeable_directory(%s, options=%s) failed.' %
(param, options))
msg = 'Given directory does not exist or is not writeable: %s'
raise ParamValidationError(msg % param)
def validate_ping(param, options=None):
"""
Raises ParamValidationError if provided host does not answer to ICMP