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
7e50d170
Commit
7e50d170
authored
Apr 05, 2012
by
Seth Vidal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
move the bulk of the opt parsing out of ansible/ansible-playbook and into utils
for other scripts to use.
parent
254f98bd
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
44 deletions
+48
-44
bin/ansible
+3
-28
bin/ansible-playbook
+3
-16
lib/ansible/utils.py
+42
-0
No files found.
bin/ansible
View file @
7e50d170
...
...
@@ -46,38 +46,13 @@ class Cli(object):
def
parse
(
self
):
''' create an options parser for bin/ansible '''
parser
=
OptionParser
(
usage
=
'ansible <host-pattern> [options]'
)
parser
=
utils
.
base_parser
(
constants
=
C
,
runas_opts
=
True
,
async_opts
=
True
,
output_opts
=
True
,
usage
=
'ansible <host-pattern> [options]'
)
parser
.
add_option
(
'-a'
,
'--args'
,
dest
=
'module_args'
,
help
=
"module arguments"
,
default
=
C
.
DEFAULT_MODULE_ARGS
)
parser
.
add_option
(
'-B'
,
'--background'
,
dest
=
'seconds'
,
type
=
'int'
,
default
=
0
,
help
=
'run asynchronously, failing after X seconds'
)
parser
.
add_option
(
'-D'
,
'--debug'
,
default
=
False
,
action
=
"store_true"
,
help
=
'enable standard error debugging of modules.'
)
parser
.
add_option
(
'-f'
,
'--forks'
,
dest
=
'forks'
,
default
=
C
.
DEFAULT_FORKS
,
type
=
'int'
,
help
=
'number of parallel processes to use'
)
parser
.
add_option
(
'-i'
,
'--inventory-file'
,
dest
=
'inventory'
,
help
=
'inventory host file'
,
default
=
C
.
DEFAULT_HOST_LIST
)
parser
.
add_option
(
'-k'
,
'--ask-pass'
,
default
=
False
,
action
=
'store_true'
,
help
=
'ask for SSH password'
)
parser
.
add_option
(
'-M'
,
'--module-path'
,
dest
=
'module_path'
,
help
=
"path to module library"
,
default
=
C
.
DEFAULT_MODULE_PATH
)
parser
.
add_option
(
'-m'
,
'--module-name'
,
dest
=
'module_name'
,
help
=
"module name to execute"
,
default
=
C
.
DEFAULT_MODULE_NAME
)
parser
.
add_option
(
'-o'
,
'--one-line'
,
dest
=
'one_line'
,
action
=
'store_true'
,
help
=
'condense output'
)
parser
.
add_option
(
'-P'
,
'--poll'
,
default
=
C
.
DEFAULT_POLL_INTERVAL
,
type
=
'int'
,
dest
=
'poll_interval'
,
help
=
'set the poll interval if using -B'
)
parser
.
add_option
(
"-s"
,
"--sudo"
,
default
=
False
,
action
=
"store_true"
,
dest
=
'sudo'
,
help
=
"run operations with sudo (nopasswd)"
)
parser
.
add_option
(
'-t'
,
'--tree'
,
dest
=
'tree'
,
default
=
None
,
help
=
'log output to this directory'
)
parser
.
add_option
(
'-T'
,
'--timeout'
,
default
=
C
.
DEFAULT_TIMEOUT
,
type
=
'int'
,
dest
=
'timeout'
,
help
=
'set the SSH timeout in seconds'
)
parser
.
add_option
(
'-u'
,
'--user'
,
default
=
C
.
DEFAULT_REMOTE_USER
,
dest
=
'remote_user'
,
help
=
'connect as this user'
)
parser
.
add_option
(
'-p'
,
'--port'
,
default
=
C
.
DEFAULT_REMOTE_PORT
,
type
=
'int'
,
dest
=
'remote_port'
,
help
=
'set the remote ssh port'
)
options
,
args
=
parser
.
parse_args
()
self
.
callbacks
.
options
=
options
...
...
bin/ansible-playbook
View file @
7e50d170
...
...
@@ -26,31 +26,18 @@ import ansible.playbook
import
ansible.constants
as
C
from
ansible
import
errors
from
ansible
import
callbacks
from
ansible
import
utils
def
main
(
args
):
''' run ansible-playbook operations '''
# create parser for CLI options
parser
=
OptionParser
()
parser
.
usage
=
"ans-playbook playbook.yml ..."
parser
.
add_option
(
'-D'
,
'--debug'
,
default
=
False
,
action
=
"store_true"
,
help
=
'enable standard error debugging of modules.'
)
parser
.
add_option
(
'-f'
,
'--forks'
,
dest
=
'forks'
,
default
=
C
.
DEFAULT_FORKS
,
type
=
'int'
,
help
=
'set the number of forks to start up'
)
parser
.
add_option
(
"-i"
,
"--inventory-file"
,
dest
=
"inventory"
,
help
=
"inventory host file"
,
default
=
C
.
DEFAULT_HOST_LIST
)
usage
=
"ans-playbook playbook.yml"
parser
=
utils
.
base_parser
(
constants
=
C
,
usage
=
usage
)
parser
.
add_option
(
'-e'
,
'--extra-vars'
,
dest
=
'extra_vars'
,
help
=
'arguments to pass to the inventory script'
)
parser
.
add_option
(
"-k"
,
"--ask-pass"
,
default
=
False
,
action
=
"store_true"
,
help
=
"ask for SSH password"
)
parser
.
add_option
(
"-M"
,
"--module-path"
,
dest
=
"module_path"
,
help
=
"path to module library"
,
default
=
C
.
DEFAULT_MODULE_PATH
)
parser
.
add_option
(
'-O'
,
'--override-hosts'
,
dest
=
"override_hosts"
,
default
=
None
,
help
=
"run playbook against these hosts regardless of inventory settings"
)
parser
.
add_option
(
'-p'
,
'--port'
,
default
=
C
.
DEFAULT_REMOTE_PORT
,
type
=
'int'
,
dest
=
'remote_port'
,
help
=
'set the remote ssh port'
)
parser
.
add_option
(
'-T'
,
'--timeout'
,
default
=
C
.
DEFAULT_TIMEOUT
,
type
=
'int'
,
dest
=
'timeout'
,
help
=
"set the SSH timeout in seconds"
)
options
,
args
=
parser
.
parse_args
(
args
)
...
...
lib/ansible/utils.py
View file @
7e50d170
...
...
@@ -23,6 +23,8 @@ import shlex
import
re
import
jinja2
import
yaml
from
optparse
import
OptionParser
try
:
import
json
...
...
@@ -30,6 +32,8 @@ except ImportError:
import
simplejson
as
json
from
ansible
import
errors
import
ansible.constants
as
C
###############################################################
# UTILITY FUNCTIONS FOR COMMAND LINE TOOLS
...
...
@@ -270,3 +274,41 @@ def parse_kv(args):
options
[
k
]
=
v
return
options
def
base_parser
(
constants
=
C
,
usage
=
""
,
output_opts
=
False
,
runas_opts
=
False
,
async_opts
=
False
):
''' create an options parser for any ansible script '''
parser
=
OptionParser
(
usage
)
parser
.
add_option
(
'-D'
,
'--debug'
,
default
=
False
,
action
=
"store_true"
,
help
=
'enable standard error debugging of modules.'
)
parser
.
add_option
(
'-f'
,
'--forks'
,
dest
=
'forks'
,
default
=
constants
.
DEFAULT_FORKS
,
type
=
'int'
,
help
=
'number of parallel processes to use'
)
parser
.
add_option
(
'-i'
,
'--inventory-file'
,
dest
=
'inventory'
,
help
=
'inventory host file'
,
default
=
constants
.
DEFAULT_HOST_LIST
)
parser
.
add_option
(
'-k'
,
'--ask-pass'
,
default
=
False
,
action
=
'store_true'
,
help
=
'ask for SSH password'
)
parser
.
add_option
(
'-M'
,
'--module-path'
,
dest
=
'module_path'
,
help
=
"path to module library"
,
default
=
constants
.
DEFAULT_MODULE_PATH
)
parser
.
add_option
(
'-T'
,
'--timeout'
,
default
=
constants
.
DEFAULT_TIMEOUT
,
type
=
'int'
,
dest
=
'timeout'
,
help
=
'set the SSH timeout in seconds'
)
parser
.
add_option
(
'-p'
,
'--port'
,
default
=
constants
.
DEFAULT_REMOTE_PORT
,
type
=
'int'
,
dest
=
'remote_port'
,
help
=
'set the remote ssh port'
)
if
output_opts
:
parser
.
add_option
(
'-o'
,
'--one-line'
,
dest
=
'one_line'
,
action
=
'store_true'
,
help
=
'condense output'
)
parser
.
add_option
(
'-t'
,
'--tree'
,
dest
=
'tree'
,
default
=
None
,
help
=
'log output to this directory'
)
if
runas_opts
:
parser
.
add_option
(
"-s"
,
"--sudo"
,
default
=
False
,
action
=
"store_true"
,
dest
=
'sudo'
,
help
=
"run operations with sudo (nopasswd)"
)
parser
.
add_option
(
'-u'
,
'--user'
,
default
=
constants
.
DEFAULT_REMOTE_USER
,
dest
=
'remote_user'
,
help
=
'connect as this user'
)
if
async_opts
:
parser
.
add_option
(
'-P'
,
'--poll'
,
default
=
constants
.
DEFAULT_POLL_INTERVAL
,
type
=
'int'
,
dest
=
'poll_interval'
,
help
=
'set the poll interval if using -B'
)
parser
.
add_option
(
'-B'
,
'--background'
,
dest
=
'seconds'
,
type
=
'int'
,
default
=
0
,
help
=
'run asynchronously, failing after X seconds'
)
return
parser
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