Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
ansible
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
ansible
Commits
7551b75e
Commit
7551b75e
authored
Sep 01, 2015
by
James Cammarata
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add ispath type for constants and make sure all local paths are ispath=True
Fixes #12180
parent
aeff960d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
24 deletions
+28
-24
lib/ansible/constants.py
+28
-24
No files found.
lib/ansible/constants.py
View file @
7551b75e
...
...
@@ -40,7 +40,16 @@ def mk_boolean(value):
else
:
return
False
def
get_config
(
p
,
section
,
key
,
env_var
,
default
,
boolean
=
False
,
integer
=
False
,
floating
=
False
,
islist
=
False
,
isnone
=
False
):
def
shell_expand
(
path
):
'''
shell_expand is needed as os.path.expanduser does not work
when path is None, which is the default for ANSIBLE_PRIVATE_KEY_FILE
'''
if
path
:
path
=
os
.
path
.
expanduser
(
os
.
path
.
expandvars
(
path
))
return
path
def
get_config
(
p
,
section
,
key
,
env_var
,
default
,
boolean
=
False
,
integer
=
False
,
floating
=
False
,
islist
=
False
,
isnone
=
False
,
ispath
=
False
):
''' return a configuration variable with casting '''
value
=
_get_config
(
p
,
section
,
key
,
env_var
,
default
)
if
boolean
:
...
...
@@ -58,6 +67,8 @@ def get_config(p, section, key, env_var, default, boolean=False, integer=False,
value
=
None
elif
isinstance
(
value
,
string_types
):
value
=
unquote
(
value
)
elif
ispath
:
value
=
shell_expand
(
value
)
return
value
def
_get_config
(
p
,
section
,
key
,
env_var
,
default
):
...
...
@@ -96,13 +107,6 @@ def load_config_file():
return
p
,
path
return
None
,
''
def
shell_expand_path
(
path
):
''' shell_expand_path is needed as os.path.expanduser does not work
when path is None, which is the default for ANSIBLE_PRIVATE_KEY_FILE '''
if
path
:
path
=
os
.
path
.
expanduser
(
os
.
path
.
expandvars
(
path
))
return
path
p
,
CONFIG_FILE
=
load_config_file
()
active_user
=
pwd
.
getpwuid
(
os
.
geteuid
())[
0
]
...
...
@@ -114,13 +118,13 @@ YAML_FILENAME_EXTENSIONS = [ "", ".yml", ".yaml", ".json" ]
# sections in config file
DEFAULTS
=
'defaults'
DEPRECATED_HOST_LIST
=
shell_expand_path
(
get_config
(
p
,
DEFAULTS
,
'hostfile'
,
'ANSIBLE_HOSTS'
,
'/etc/ansible/hosts'
)
)
DEPRECATED_HOST_LIST
=
get_config
(
p
,
DEFAULTS
,
'hostfile'
,
'ANSIBLE_HOSTS'
,
'/etc/ansible/hosts'
,
ispath
=
True
)
# generally configurable things
DEFAULT_DEBUG
=
get_config
(
p
,
DEFAULTS
,
'debug'
,
'ANSIBLE_DEBUG'
,
False
,
boolean
=
True
)
DEFAULT_HOST_LIST
=
shell_expand_path
(
get_config
(
p
,
DEFAULTS
,
'inventory'
,
'ANSIBLE_INVENTORY'
,
DEPRECATED_HOST_LIST
)
)
DEFAULT_MODULE_PATH
=
get_config
(
p
,
DEFAULTS
,
'library'
,
'ANSIBLE_LIBRARY'
,
None
)
DEFAULT_ROLES_PATH
=
shell_expand_path
(
get_config
(
p
,
DEFAULTS
,
'roles_path'
,
'ANSIBLE_ROLES_PATH'
,
'/etc/ansible/roles'
)
)
DEFAULT_HOST_LIST
=
get_config
(
p
,
DEFAULTS
,
'inventory'
,
'ANSIBLE_INVENTORY'
,
DEPRECATED_HOST_LIST
,
ispath
=
True
)
DEFAULT_MODULE_PATH
=
get_config
(
p
,
DEFAULTS
,
'library'
,
'ANSIBLE_LIBRARY'
,
None
,
ispath
=
True
)
DEFAULT_ROLES_PATH
=
get_config
(
p
,
DEFAULTS
,
'roles_path'
,
'ANSIBLE_ROLES_PATH'
,
'/etc/ansible/roles'
,
ispath
=
True
)
DEFAULT_REMOTE_TMP
=
get_config
(
p
,
DEFAULTS
,
'remote_tmp'
,
'ANSIBLE_REMOTE_TEMP'
,
'$HOME/.ansible/tmp'
)
DEFAULT_MODULE_NAME
=
get_config
(
p
,
DEFAULTS
,
'module_name'
,
None
,
'command'
)
DEFAULT_PATTERN
=
get_config
(
p
,
DEFAULTS
,
'pattern'
,
None
,
'*'
)
...
...
@@ -131,10 +135,10 @@ DEFAULT_TIMEOUT = get_config(p, DEFAULTS, 'timeout', 'ANSIBLE
DEFAULT_POLL_INTERVAL
=
get_config
(
p
,
DEFAULTS
,
'poll_interval'
,
'ANSIBLE_POLL_INTERVAL'
,
15
,
integer
=
True
)
DEFAULT_REMOTE_USER
=
get_config
(
p
,
DEFAULTS
,
'remote_user'
,
'ANSIBLE_REMOTE_USER'
,
active_user
)
DEFAULT_ASK_PASS
=
get_config
(
p
,
DEFAULTS
,
'ask_pass'
,
'ANSIBLE_ASK_PASS'
,
False
,
boolean
=
True
)
DEFAULT_PRIVATE_KEY_FILE
=
shell_expand_path
(
get_config
(
p
,
DEFAULTS
,
'private_key_file'
,
'ANSIBLE_PRIVATE_KEY_FILE'
,
None
)
)
DEFAULT_PRIVATE_KEY_FILE
=
get_config
(
p
,
DEFAULTS
,
'private_key_file'
,
'ANSIBLE_PRIVATE_KEY_FILE'
,
None
,
ispath
=
True
)
DEFAULT_REMOTE_PORT
=
get_config
(
p
,
DEFAULTS
,
'remote_port'
,
'ANSIBLE_REMOTE_PORT'
,
None
,
integer
=
True
)
DEFAULT_ASK_VAULT_PASS
=
get_config
(
p
,
DEFAULTS
,
'ask_vault_pass'
,
'ANSIBLE_ASK_VAULT_PASS'
,
False
,
boolean
=
True
)
DEFAULT_VAULT_PASSWORD_FILE
=
shell_expand_path
(
get_config
(
p
,
DEFAULTS
,
'vault_password_file'
,
'ANSIBLE_VAULT_PASSWORD_FILE'
,
None
)
)
DEFAULT_VAULT_PASSWORD_FILE
=
get_config
(
p
,
DEFAULTS
,
'vault_password_file'
,
'ANSIBLE_VAULT_PASSWORD_FILE'
,
None
,
ispath
=
True
)
DEFAULT_TRANSPORT
=
get_config
(
p
,
DEFAULTS
,
'transport'
,
'ANSIBLE_TRANSPORT'
,
'smart'
)
DEFAULT_SCP_IF_SSH
=
get_config
(
p
,
'ssh_connection'
,
'scp_if_ssh'
,
'ANSIBLE_SCP_IF_SSH'
,
False
,
boolean
=
True
)
DEFAULT_SFTP_BATCH_MODE
=
get_config
(
p
,
'ssh_connection'
,
'sftp_batch_mode'
,
'ANSIBLE_SFTP_BATCH_MODE'
,
True
,
boolean
=
True
)
...
...
@@ -146,7 +150,7 @@ DEFAULT_PRIVATE_ROLE_VARS = get_config(p, DEFAULTS, 'private_role_vars', 'ANSIBL
DEFAULT_JINJA2_EXTENSIONS
=
get_config
(
p
,
DEFAULTS
,
'jinja2_extensions'
,
'ANSIBLE_JINJA2_EXTENSIONS'
,
None
)
DEFAULT_EXECUTABLE
=
get_config
(
p
,
DEFAULTS
,
'executable'
,
'ANSIBLE_EXECUTABLE'
,
'/bin/sh'
)
DEFAULT_GATHERING
=
get_config
(
p
,
DEFAULTS
,
'gathering'
,
'ANSIBLE_GATHERING'
,
'implicit'
)
.
lower
()
DEFAULT_LOG_PATH
=
shell_expand_path
(
get_config
(
p
,
DEFAULTS
,
'log_path'
,
'ANSIBLE_LOG_PATH'
,
''
)
)
DEFAULT_LOG_PATH
=
get_config
(
p
,
DEFAULTS
,
'log_path'
,
'ANSIBLE_LOG_PATH'
,
''
,
ispath
=
True
)
DEFAULT_FORCE_HANDLERS
=
get_config
(
p
,
DEFAULTS
,
'force_handlers'
,
'ANSIBLE_FORCE_HANDLERS'
,
False
,
boolean
=
True
)
DEFAULT_INVENTORY_IGNORE
=
get_config
(
p
,
DEFAULTS
,
'inventory_ignore_extensions'
,
'ANSIBLE_INVENTORY_IGNORE'
,
[
"~"
,
".orig"
,
".bak"
,
".ini"
,
".cfg"
,
".retry"
,
".pyc"
,
".pyo"
],
islist
=
True
)
...
...
@@ -180,14 +184,14 @@ DEFAULT_BECOME_ASK_PASS = get_config(p, 'privilege_escalation', 'become_ask_pa
# PLUGINS
DEFAULT_SQUASH_ACTIONS
=
get_config
(
p
,
DEFAULTS
,
'squash_actions'
,
'ANSIBLE_SQUASH_ACTIONS'
,
"apt, yum, pkgng, zypper, dnf"
,
islist
=
True
)
# paths
DEFAULT_ACTION_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'action_plugins'
,
'ANSIBLE_ACTION_PLUGINS'
,
'~/.ansible/plugins/action_plugins:/usr/share/ansible_plugins/action_plugins'
)
DEFAULT_CACHE_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'cache_plugins'
,
'ANSIBLE_CACHE_PLUGINS'
,
'~/.ansible/plugins/cache_plugins:/usr/share/ansible_plugins/cache_plugins'
)
DEFAULT_CALLBACK_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'callback_plugins'
,
'ANSIBLE_CALLBACK_PLUGINS'
,
'~/.ansible/plugins/callback_plugins:/usr/share/ansible_plugins/callback_plugins'
)
DEFAULT_CONNECTION_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'connection_plugins'
,
'ANSIBLE_CONNECTION_PLUGINS'
,
'~/.ansible/plugins/connection_plugins:/usr/share/ansible_plugins/connection_plugins'
)
DEFAULT_LOOKUP_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'lookup_plugins'
,
'ANSIBLE_LOOKUP_PLUGINS'
,
'~/.ansible/plugins/lookup_plugins:/usr/share/ansible_plugins/lookup_plugins'
)
DEFAULT_VARS_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'vars_plugins'
,
'ANSIBLE_VARS_PLUGINS'
,
'~/.ansible/plugins/vars_plugins:/usr/share/ansible_plugins/vars_plugins'
)
DEFAULT_FILTER_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'filter_plugins'
,
'ANSIBLE_FILTER_PLUGINS'
,
'~/.ansible/plugins/filter_plugins:/usr/share/ansible_plugins/filter_plugins'
)
DEFAULT_TEST_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'test_plugins'
,
'ANSIBLE_TEST_PLUGINS'
,
'~/.ansible/plugins/test_plugins:/usr/share/ansible_plugins/test_plugins'
)
DEFAULT_ACTION_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'action_plugins'
,
'ANSIBLE_ACTION_PLUGINS'
,
'~/.ansible/plugins/action_plugins:/usr/share/ansible_plugins/action_plugins'
,
ispath
=
True
)
DEFAULT_CACHE_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'cache_plugins'
,
'ANSIBLE_CACHE_PLUGINS'
,
'~/.ansible/plugins/cache_plugins:/usr/share/ansible_plugins/cache_plugins'
,
ispath
=
True
)
DEFAULT_CALLBACK_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'callback_plugins'
,
'ANSIBLE_CALLBACK_PLUGINS'
,
'~/.ansible/plugins/callback_plugins:/usr/share/ansible_plugins/callback_plugins'
,
ispath
=
True
)
DEFAULT_CONNECTION_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'connection_plugins'
,
'ANSIBLE_CONNECTION_PLUGINS'
,
'~/.ansible/plugins/connection_plugins:/usr/share/ansible_plugins/connection_plugins'
,
ispath
=
True
)
DEFAULT_LOOKUP_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'lookup_plugins'
,
'ANSIBLE_LOOKUP_PLUGINS'
,
'~/.ansible/plugins/lookup_plugins:/usr/share/ansible_plugins/lookup_plugins'
,
ispath
=
True
)
DEFAULT_VARS_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'vars_plugins'
,
'ANSIBLE_VARS_PLUGINS'
,
'~/.ansible/plugins/vars_plugins:/usr/share/ansible_plugins/vars_plugins'
,
ispath
=
True
)
DEFAULT_FILTER_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'filter_plugins'
,
'ANSIBLE_FILTER_PLUGINS'
,
'~/.ansible/plugins/filter_plugins:/usr/share/ansible_plugins/filter_plugins'
,
ispath
=
True
)
DEFAULT_TEST_PLUGIN_PATH
=
get_config
(
p
,
DEFAULTS
,
'test_plugins'
,
'ANSIBLE_TEST_PLUGINS'
,
'~/.ansible/plugins/test_plugins:/usr/share/ansible_plugins/test_plugins'
,
ispath
=
True
)
DEFAULT_STDOUT_CALLBACK
=
get_config
(
p
,
DEFAULTS
,
'stdout_callback'
,
'ANSIBLE_STDOUT_CALLBACK'
,
'default'
)
# cache
CACHE_PLUGIN
=
get_config
(
p
,
DEFAULTS
,
'fact_caching'
,
'ANSIBLE_CACHE_PLUGIN'
,
'memory'
)
...
...
@@ -209,7 +213,7 @@ COMMAND_WARNINGS = get_config(p, DEFAULTS, 'command_warnings', 'AN
DEFAULT_LOAD_CALLBACK_PLUGINS
=
get_config
(
p
,
DEFAULTS
,
'bin_ansible_callbacks'
,
'ANSIBLE_LOAD_CALLBACK_PLUGINS'
,
False
,
boolean
=
True
)
DEFAULT_CALLBACK_WHITELIST
=
get_config
(
p
,
DEFAULTS
,
'callback_whitelist'
,
'ANSIBLE_CALLBACK_WHITELIST'
,
[],
islist
=
True
)
RETRY_FILES_ENABLED
=
get_config
(
p
,
DEFAULTS
,
'retry_files_enabled'
,
'ANSIBLE_RETRY_FILES_ENABLED'
,
True
,
boolean
=
True
)
RETRY_FILES_SAVE_PATH
=
get_config
(
p
,
DEFAULTS
,
'retry_files_save_path'
,
'ANSIBLE_RETRY_FILES_SAVE_PATH'
,
'~/'
)
RETRY_FILES_SAVE_PATH
=
get_config
(
p
,
DEFAULTS
,
'retry_files_save_path'
,
'ANSIBLE_RETRY_FILES_SAVE_PATH'
,
'~/'
,
ispath
=
True
)
DEFAULT_NULL_REPRESENTATION
=
get_config
(
p
,
DEFAULTS
,
'null_representation'
,
'ANSIBLE_NULL_REPRESENTATION'
,
None
,
isnone
=
True
)
# CONNECTION RELATED
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment