mirror of
https://github.com/ansible/awx.git
synced 2026-05-07 09:27:36 -02:30
Update rax.py inventory
Resolves https://github.com/ansible/ansible/pull/18204 and continues support for disabling SSL verification. Fixes #3709
This commit is contained in:
@@ -155,8 +155,6 @@ import ConfigParser
|
|||||||
|
|
||||||
from six import iteritems
|
from six import iteritems
|
||||||
|
|
||||||
from ansible.constants import get_config, mk_boolean
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import json
|
import json
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@@ -166,11 +164,12 @@ try:
|
|||||||
import pyrax
|
import pyrax
|
||||||
from pyrax.utils import slugify
|
from pyrax.utils import slugify
|
||||||
except ImportError:
|
except ImportError:
|
||||||
print('pyrax is required for this module')
|
sys.exit('pyrax is required for this module')
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
from time import time
|
from time import time
|
||||||
|
|
||||||
|
from ansible.constants import get_config, mk_boolean
|
||||||
|
|
||||||
|
|
||||||
NON_CALLABLES = (basestring, bool, dict, int, list, type(None))
|
NON_CALLABLES = (basestring, bool, dict, int, list, type(None))
|
||||||
|
|
||||||
@@ -227,12 +226,21 @@ def _list_into_cache(regions):
|
|||||||
|
|
||||||
prefix = get_config(p, 'rax', 'meta_prefix', 'RAX_META_PREFIX', 'meta')
|
prefix = get_config(p, 'rax', 'meta_prefix', 'RAX_META_PREFIX', 'meta')
|
||||||
|
|
||||||
networks = get_config(p, 'rax', 'access_network', 'RAX_ACCESS_NETWORK',
|
|
||||||
'public', islist=True)
|
|
||||||
try:
|
try:
|
||||||
ip_versions = map(int, get_config(p, 'rax', 'access_ip_version',
|
# Ansible 2.3+
|
||||||
'RAX_ACCESS_IP_VERSION', 4,
|
networks = get_config(p, 'rax', 'access_network',
|
||||||
islist=True))
|
'RAX_ACCESS_NETWORK', 'public', value_type='list')
|
||||||
|
except TypeError:
|
||||||
|
# Ansible 2.2.x and below
|
||||||
|
networks = get_config(p, 'rax', 'access_network',
|
||||||
|
'RAX_ACCESS_NETWORK', 'public', islist=True)
|
||||||
|
try:
|
||||||
|
try:
|
||||||
|
ip_versions = map(int, get_config(p, 'rax', 'access_ip_version',
|
||||||
|
'RAX_ACCESS_IP_VERSION', 4, value_type='list'))
|
||||||
|
except TypeError:
|
||||||
|
ip_versions = map(int, get_config(p, 'rax', 'access_ip_version',
|
||||||
|
'RAX_ACCESS_IP_VERSION', 4, islist=True))
|
||||||
except:
|
except:
|
||||||
ip_versions = [4]
|
ip_versions = [4]
|
||||||
else:
|
else:
|
||||||
@@ -406,10 +414,9 @@ def setup():
|
|||||||
if os.path.isfile(default_creds_file):
|
if os.path.isfile(default_creds_file):
|
||||||
creds_file = default_creds_file
|
creds_file = default_creds_file
|
||||||
elif not keyring_username:
|
elif not keyring_username:
|
||||||
sys.stderr.write('No value in environment variable %s and/or no '
|
sys.exit('No value in environment variable %s and/or no '
|
||||||
'credentials file at %s\n'
|
'credentials file at %s'
|
||||||
% ('RAX_CREDS_FILE', default_creds_file))
|
% ('RAX_CREDS_FILE', default_creds_file))
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
identity_type = pyrax.get_setting('identity_type')
|
identity_type = pyrax.get_setting('identity_type')
|
||||||
pyrax.set_setting('identity_type', identity_type or 'rackspace')
|
pyrax.set_setting('identity_type', identity_type or 'rackspace')
|
||||||
@@ -422,23 +429,28 @@ def setup():
|
|||||||
else:
|
else:
|
||||||
pyrax.set_credential_file(creds_file, region=region)
|
pyrax.set_credential_file(creds_file, region=region)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
sys.stderr.write("%s: %s\n" % (e, e.message))
|
sys.exit("%s: %s" % (e, e.message))
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
regions = []
|
regions = []
|
||||||
if region:
|
if region:
|
||||||
regions.append(region)
|
regions.append(region)
|
||||||
else:
|
else:
|
||||||
region_list = get_config(p, 'rax', 'regions', 'RAX_REGION', 'all',
|
try:
|
||||||
islist=True)
|
# Ansible 2.3+
|
||||||
|
region_list = get_config(p, 'rax', 'regions', 'RAX_REGION', 'all',
|
||||||
|
value_type='list')
|
||||||
|
except TypeError:
|
||||||
|
# Ansible 2.2.x and below
|
||||||
|
region_list = get_config(p, 'rax', 'regions', 'RAX_REGION', 'all',
|
||||||
|
islist=True)
|
||||||
|
|
||||||
for region in region_list:
|
for region in region_list:
|
||||||
region = region.strip().upper()
|
region = region.strip().upper()
|
||||||
if region == 'ALL':
|
if region == 'ALL':
|
||||||
regions = pyrax.regions
|
regions = pyrax.regions
|
||||||
break
|
break
|
||||||
elif region not in pyrax.regions:
|
elif region not in pyrax.regions:
|
||||||
sys.stderr.write('Unsupported region %s' % region)
|
sys.exit('Unsupported region %s' % region)
|
||||||
sys.exit(1)
|
|
||||||
elif region not in regions:
|
elif region not in regions:
|
||||||
regions.append(region)
|
regions.append(region)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user