Compare commits
15 Commits
v2.10.2rc1
...
v1.3.2
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d5d88b59f | |||
| 835bed906a | |||
| a5c9d0b185 | |||
| 96bd107179 | |||
| 1541d309e1 | |||
| 0d3596df9a | |||
| 7ddc3db816 | |||
| 962a316584 | |||
| 936f45d160 | |||
| cac9e02aea | |||
| f0039f61e0 | |||
| 272bdebd25 | |||
| 507b78f379 | |||
| 8a2d2c239e | |||
| 554c55b85d |
27
CHANGELOG.md
27
CHANGELOG.md
@ -1,7 +1,32 @@
|
||||
Ansible Changes By Release
|
||||
==========================
|
||||
|
||||
1.3 "Top of the World" - Release pending!
|
||||
1.4 "Could This Be Magic" - Release pending!
|
||||
|
||||
Highlighted new features:
|
||||
|
||||
* TBA
|
||||
|
||||
New modules:
|
||||
|
||||
* TBA
|
||||
|
||||
Misc changes:
|
||||
|
||||
* TBA
|
||||
|
||||
1.3.2 "Top of the World" (reprise) - September 19th, 2013
|
||||
|
||||
* The ControlPath variable for ssh connections is now configurable in the ansible.cfg (and via the environment variable ANSIBLE_SSH_CONTROL_PATH).
|
||||
* Added a -vvvv level, which will show SSH client debugging information in the event of a failure.
|
||||
* Fixed bug in apt_repository module where the repository cache was not being updated.
|
||||
* Fixed bug where "too many open files" errors would be encountered due to pseudo TTY's not being closed properly.
|
||||
|
||||
1.3.1 "Top of the World" (reprise) - September 16th, 2013
|
||||
|
||||
* Fixing a bug in accelerate mode whereby the gather_facts step would always be run via sudo regardless of the play settings.
|
||||
|
||||
1.3 "Top of the World" - September 13th, 2013
|
||||
|
||||
Highlighted new features:
|
||||
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
Ansible Releases at a Glance
|
||||
============================
|
||||
|
||||
1.3 "Top of the World" ----- Release Pending
|
||||
1.4 "Could This Be Magic?" - active development
|
||||
1.3 "Top of the World" ----- 09-13-2013
|
||||
1.2.3 "Hear About It Later" -- 08-21-2013
|
||||
1.2.2 "Hear About It Later" -- 07-05-2013
|
||||
1.2.1 "Hear About It Later" -- 07-04-2013
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
'\" t
|
||||
.\" Title: ansible-doc
|
||||
.\" Author: [see the "AUTHOR" section]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
|
||||
.\" Date: 04/02/2013
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 09/19/2013
|
||||
.\" Manual: System administration commands
|
||||
.\" Source: Ansible 1.2
|
||||
.\" Source: Ansible 1.3.2
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "ANSIBLE\-DOC" "1" "04/02/2013" "Ansible 1\&.2" "System administration commands"
|
||||
.TH "ANSIBLE\-DOC" "1" "09/19/2013" "Ansible 1\&.3\&.2" "System administration commands"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
'\" t
|
||||
.\" Title: ansible-playbook
|
||||
.\" Author: [see the "AUTHOR" section]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
|
||||
.\" Date: 06/03/2013
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 09/19/2013
|
||||
.\" Manual: System administration commands
|
||||
.\" Source: Ansible 1.2
|
||||
.\" Source: Ansible 1.3.2
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "ANSIBLE\-PLAYBOOK" "1" "06/03/2013" "Ansible 1\&.2" "System administration commands"
|
||||
.TH "ANSIBLE\-PLAYBOOK" "1" "09/19/2013" "Ansible 1\&.3\&.2" "System administration commands"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
'\" t
|
||||
.\" Title: ansible
|
||||
.\" Author: [see the "AUTHOR" section]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
|
||||
.\" Date: 04/02/2013
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 09/19/2013
|
||||
.\" Manual: System administration commands
|
||||
.\" Source: Ansible 1.2
|
||||
.\" Source: Ansible 1.3.2
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "ANSIBLE" "1" "04/02/2013" "Ansible 1\&.2" "System administration commands"
|
||||
.TH "ANSIBLE" "1" "09/19/2013" "Ansible 1\&.3\&.2" "System administration commands"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -22,32 +31,55 @@
|
||||
ansible-pull \- set up a remote copy of ansible on each managed node
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
ansible \-d DEST \-U URL [ \-C CHECKOUT ]
|
||||
ansible \-d DEST \-U URL [options] [ <filename\&.yml> ]
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
\fBAnsible\fR is an extra\-simple tool/framework/API for doing \'remote things\' over SSH\&.
|
||||
\fBAnsible\fR is an extra\-simple tool/framework/API for doing \*(Aqremote things\*(Aq over SSH\&.
|
||||
.sp
|
||||
Use ansible\-pull to set up a remote copy of ansible on each managed node, each set to run via cron and update playbook source via git\&. This inverts the default \fBpush\fR architecture of ansible into a \fBpull\fR architecture, which has near\-limitless scaling potential\&.
|
||||
Use ansible\-pull to set up a remote copy of ansible on each managed node, each set to run via cron and update playbook source via a source repository\&. This inverts the default \fBpush\fR architecture of ansible into a \fBpull\fR architecture, which has near\-limitless scaling potential\&.
|
||||
.sp
|
||||
The setup playbook can be tuned to change the cron frequency, logging locations, and parameters to ansible\-pull\&.
|
||||
.sp
|
||||
This is useful both for extreme scale\-out as well as periodic remediation\&. Usage of the \fIfetch\fR module to retrieve logs from ansible\-pull runs would be an excellent way to gather and analyze remote logs from ansible\-pull\&.
|
||||
.SH "OPTIONAL ARGUMENT"
|
||||
.PP
|
||||
\fBfilename\&.yml\fR
|
||||
.RS 4
|
||||
The name of one the YAML format files to run as an ansible playbook\&. This can be a relative path within the checkout\&. If not provided, ansible\-pull will look for a playbook based on the host\(cqs fully\-qualified domain name and finally a playbook named
|
||||
\fBlocal\&.yml\fR\&.
|
||||
.RE
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\fB\-d\fR \fIDEST\fR, \fB\-\-directory=\fR\fIDEST\fR
|
||||
.RS 4
|
||||
Directory to checkout git repository into\&.
|
||||
Directory to checkout repository into\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-U\fR \fIURL\fR, \fB\-\-url=\fR\fIURL\fR
|
||||
.RS 4
|
||||
URL of git repository to clone\&.
|
||||
URL of the playbook repository to checkout\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-C\fR \fICHECKOUT\fR, \fB\-\-checkout=\fR\fICHECKOUT\fR
|
||||
.RS 4
|
||||
Branch/Tag/Commit to checkout\&. Defaults to
|
||||
\fIHEAD\fR\&.
|
||||
Branch/Tag/Commit to checkout\&. If not provided, uses default behavior of module used to check out playbook repository\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-i\fR \fIPATH\fR, \fB\-\-inventory=\fR\fIPATH\fR
|
||||
.RS 4
|
||||
The
|
||||
\fIPATH\fR
|
||||
to the inventory hosts file\&. This can be a relative path within the checkout\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-purge\fR
|
||||
.RS 4
|
||||
Purge the checkout after the playbook is run\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-m\fR \fINAME\fR, \fB\-\-module\-name=\fR\fINAME\fR
|
||||
.RS 4
|
||||
Module used to checkout playbook repository\&. Defaults to git\&.
|
||||
.RE
|
||||
.SH "AUTHOR"
|
||||
.sp
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
'\" t
|
||||
.\" Title: ansible
|
||||
.\" Author: [see the "AUTHOR" section]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
|
||||
.\" Date: 05/29/2013
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 09/19/2013
|
||||
.\" Manual: System administration commands
|
||||
.\" Source: Ansible 1.2
|
||||
.\" Source: Ansible 1.3.2
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "ANSIBLE" "1" "05/29/2013" "Ansible 1\&.2" "System administration commands"
|
||||
.TH "ANSIBLE" "1" "09/19/2013" "Ansible 1\&.3\&.2" "System administration commands"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -25,7 +34,7 @@ ansible \- run a command somewhere else
|
||||
ansible <host\-pattern> [\-f forks] [\-m module_name] [\-a args]
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
\fBAnsible\fR is an extra\-simple tool/framework/API for doing \'remote things\' over SSH\&.
|
||||
\fBAnsible\fR is an extra\-simple tool/framework/API for doing \*(Aqremote things\*(Aq over SSH\&.
|
||||
.SH "ARGUMENTS"
|
||||
.PP
|
||||
\fBhost\-pattern\fR
|
||||
@ -73,7 +82,7 @@ search path to load modules from\&. The default is
|
||||
\fI/usr/share/ansible\fR\&. This can also be set with the ANSIBLE_LIBRARY environment variable\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-a\fR \'\fIARGUMENTS\fR\', \fB\-\-args=\fR\'\fIARGUMENTS\fR\'
|
||||
\fB\-a\fR \*(Aq\fIARGUMENTS\fR\*(Aq, \fB\-\-args=\fR\*(Aq\fIARGUMENTS\fR\*(Aq
|
||||
.RS 4
|
||||
The
|
||||
\fIARGUMENTS\fR
|
||||
|
||||
@ -108,6 +108,17 @@ filter_plugins = /usr/share/ansible_plugins/filter_plugins
|
||||
# paramiko on older platforms rather than removing it
|
||||
#ssh_args = -o ControlMaster=auto -o ControlPersist=60s
|
||||
|
||||
# The path to use for the ControlPath sockets. This defaults to
|
||||
# "%(directory)s/ansible-ssh-%%h-%%p-%%r", however on some systems with
|
||||
# very long hostnames or very long path names (caused by long user names or
|
||||
# deeply nested home directories) this can exceed the character limit on
|
||||
# file socket names (108 characters for most platforms). In that case, you
|
||||
# may wish to shorten the string below.
|
||||
#
|
||||
# Example:
|
||||
# control_path = %(directory)s/%%h-%%r
|
||||
#control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r
|
||||
|
||||
# if True, make ansible use scp if the connection type is ssh
|
||||
# (default is sftp)
|
||||
#scp_if_ssh = True
|
||||
|
||||
@ -14,5 +14,5 @@
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
|
||||
__version__ = '1.3'
|
||||
__version__ = '1.3.2'
|
||||
__author__ = 'Michael DeHaan'
|
||||
|
||||
@ -158,6 +158,9 @@ def vv(msg, host=None):
|
||||
def vvv(msg, host=None):
|
||||
return verbose(msg, host=host, caplevel=2)
|
||||
|
||||
def vvvv(msg, host=None):
|
||||
return verbose(msg, host=host, caplevel=3)
|
||||
|
||||
def verbose(msg, host=None, caplevel=2):
|
||||
if utils.VERBOSITY > caplevel:
|
||||
if host is None:
|
||||
|
||||
@ -47,7 +47,7 @@ def _get_config(p, section, key, env_var, default, boolean=True):
|
||||
return value
|
||||
if p is not None:
|
||||
try:
|
||||
return p.get(section, key)
|
||||
return p.get(section, key, raw=True)
|
||||
except:
|
||||
return default
|
||||
return default
|
||||
@ -130,6 +130,7 @@ DEFAULT_LOG_PATH = shell_expand_path(get_config(p, DEFAULTS, 'log_
|
||||
ANSIBLE_NOCOLOR = get_config(p, DEFAULTS, 'nocolor', 'ANSIBLE_NOCOLOR', None, boolean=True)
|
||||
ANSIBLE_NOCOWS = get_config(p, DEFAULTS, 'nocows', 'ANSIBLE_NOCOWS', None, boolean=True)
|
||||
ANSIBLE_SSH_ARGS = get_config(p, 'ssh_connection', 'ssh_args', 'ANSIBLE_SSH_ARGS', None)
|
||||
ANSIBLE_SSH_CONTROL_PATH = get_config(p, 'ssh_connection', 'control_path', 'ANSIBLE_SSH_CONTROL_PATH', "%(directory)s/ansible-ssh-%%h-%%p-%%r")
|
||||
PARAMIKO_RECORD_HOST_KEYS = get_config(p, 'paramiko_connection', 'record_host_keys', 'ANSIBLE_PARAMIKO_RECORD_HOST_KEYS', True, boolean=True)
|
||||
ZEROMQ_PORT = int(get_config(p, 'fireball_connection', 'zeromq_port', 'ANSIBLE_ZEROMQ_PORT', 5099))
|
||||
ACCELERATE_PORT = int(get_config(p, 'accelerate', 'accelerate_port', 'ACCELERATE_PORT', 5099))
|
||||
|
||||
@ -771,6 +771,11 @@ class Runner(object):
|
||||
if result['rc'] != 0:
|
||||
if result['rc'] == 5:
|
||||
output = 'Authentication failure.'
|
||||
elif result['rc'] == 255 and self.transport == 'ssh':
|
||||
if utils.VERBOSITY > 3:
|
||||
output = 'SSH encountered an unknown error. The output was:\n%s' % (result['stdout']+result['stderr'])
|
||||
else:
|
||||
output = 'SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue'
|
||||
else:
|
||||
output = 'Authentication or permission failure. In some cases, you may have been able to authenticate and did not have permissions on the remote directory. Consider changing the remote temp path in ansible.cfg to a path rooted in "/tmp". Failed command was: %s, exited with result %d' % (cmd, result['rc'])
|
||||
if 'stdout' in result and result['stdout'] != '':
|
||||
|
||||
@ -141,7 +141,7 @@ class Connection(object):
|
||||
if executable == "":
|
||||
executable = constants.DEFAULT_EXECUTABLE
|
||||
|
||||
if self.runner.sudo or sudoable and sudo_user:
|
||||
if self.runner.sudo and sudoable and sudo_user:
|
||||
cmd, prompt = utils.make_sudo_cmd(sudo_user, executable, cmd)
|
||||
|
||||
vvv("EXEC COMMAND %s" % cmd)
|
||||
|
||||
@ -26,6 +26,7 @@ import fcntl
|
||||
import hmac
|
||||
import pwd
|
||||
import gettext
|
||||
import pty
|
||||
from hashlib import sha1
|
||||
import ansible.constants as C
|
||||
from ansible.callbacks import vvv
|
||||
@ -61,7 +62,7 @@ class Connection(object):
|
||||
else:
|
||||
self.common_args += ["-o", "ControlMaster=auto",
|
||||
"-o", "ControlPersist=60s",
|
||||
"-o", "ControlPath=%s/ansible-ssh-%%h-%%p-%%r" % self.cp_dir]
|
||||
"-o", "ControlPath=%s" % (C.ANSIBLE_SSH_CONTROL_PATH % dict(directory=self.cp_dir))]
|
||||
|
||||
cp_in_use = False
|
||||
cp_path_set = False
|
||||
@ -72,7 +73,7 @@ class Connection(object):
|
||||
cp_path_set = True
|
||||
|
||||
if cp_in_use and not cp_path_set:
|
||||
self.common_args += ["-o", "ControlPath=%s/ansible-ssh-%%h-%%p-%%r" % self.cp_dir]
|
||||
self.common_args += ["-o", "ControlPath=%s" % (C.ANSIBLE_SSH_CONTROL_PATH % dict(directory=self.cp_dir))]
|
||||
|
||||
if not C.HOST_KEY_CHECKING:
|
||||
self.common_args += ["-o", "StrictHostKeyChecking=no"]
|
||||
@ -147,7 +148,13 @@ class Connection(object):
|
||||
''' run a command on the remote host '''
|
||||
|
||||
ssh_cmd = self._password_cmd()
|
||||
ssh_cmd += ["ssh", "-tt", "-q"] + self.common_args
|
||||
ssh_cmd += ["ssh", "-tt"]
|
||||
if utils.VERBOSITY > 3:
|
||||
ssh_cmd += ["-vvv"]
|
||||
else:
|
||||
ssh_cmd += ["-q"]
|
||||
ssh_cmd += self.common_args
|
||||
|
||||
if self.ipv6:
|
||||
ssh_cmd += ['-6']
|
||||
ssh_cmd += [self.host]
|
||||
@ -175,11 +182,11 @@ class Connection(object):
|
||||
|
||||
try:
|
||||
# Make sure stdin is a proper (pseudo) pty to avoid: tcgetattr errors
|
||||
import pty
|
||||
master, slave = pty.openpty()
|
||||
p = subprocess.Popen(ssh_cmd, stdin=slave,
|
||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
stdin = os.fdopen(master, 'w', 0)
|
||||
os.close(slave)
|
||||
except:
|
||||
p = subprocess.Popen(ssh_cmd, stdin=subprocess.PIPE,
|
||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
|
||||
@ -505,7 +505,7 @@ def base_parser(constants=C, usage="", output_opts=False, runas_opts=False,
|
||||
|
||||
parser = SortedOptParser(usage, version=version("%prog"))
|
||||
parser.add_option('-v','--verbose', default=False, action="callback",
|
||||
callback=increment_debug, help="verbose mode (-vvv for more)")
|
||||
callback=increment_debug, help="verbose mode (-vvv for more, -vvvv to enable connection debugging)")
|
||||
|
||||
parser.add_option('-f','--forks', dest='forks', default=constants.DEFAULT_FORKS, type='int',
|
||||
help="specify number of parallel processes to use (default=%s)" % constants.DEFAULT_FORKS)
|
||||
|
||||
@ -42,6 +42,12 @@ options:
|
||||
default: "present"
|
||||
description:
|
||||
- A source string state.
|
||||
update_cache:
|
||||
description:
|
||||
- Run the equivalent of C(apt-get update) if has changed.
|
||||
required: false
|
||||
default: "yes"
|
||||
choices: [ "yes", "no" ]
|
||||
author: Alexander Saltanov
|
||||
version_added: "0.7"
|
||||
requirements: [ python-apt, python-pycurl ]
|
||||
@ -69,6 +75,7 @@ import re
|
||||
import tempfile
|
||||
|
||||
try:
|
||||
import apt
|
||||
import apt_pkg
|
||||
import aptsources.distro
|
||||
distro = aptsources.distro.get_distro()
|
||||
@ -328,6 +335,7 @@ def main():
|
||||
argument_spec=dict(
|
||||
repo=dict(required=True),
|
||||
state=dict(choices=['present', 'absent'], default='present'),
|
||||
update_cache = dict(aliases=['update-cache'], type='bool'),
|
||||
),
|
||||
supports_check_mode=True,
|
||||
)
|
||||
@ -340,6 +348,7 @@ def main():
|
||||
|
||||
repo = module.params['repo']
|
||||
state = module.params['state']
|
||||
update_cache = module.params['update_cache']
|
||||
sourceslist = None
|
||||
|
||||
if isinstance(distro, aptsources.distro.DebianDistribution):
|
||||
@ -365,6 +374,9 @@ def main():
|
||||
if not module.check_mode and changed:
|
||||
try:
|
||||
sourceslist.save(module)
|
||||
if update_cache:
|
||||
cache = apt.Cache()
|
||||
cache.update()
|
||||
except OSError as err:
|
||||
module.fail_json(msg=unicode(err))
|
||||
|
||||
|
||||
@ -1,8 +1,20 @@
|
||||
ansible (1.3) unstable; urgency=low
|
||||
ansible (1.3.2) unstable; urgency=low
|
||||
|
||||
* 1.3 release (PENDING)
|
||||
* 1.3.2 release
|
||||
|
||||
-- James Cammarata <jcammarata@ansibleworks.com> Thu, 19 September 2013 12:00:00 -0500
|
||||
|
||||
ansible (1.3.1) unstable; urgency=low
|
||||
|
||||
* 1.3.1 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Fri, 05 July 2013 21:45:01 -0500
|
||||
-- James Cammarata <jcammarata@ansibleworks.com> Mon, 16 September 2013 16:00:00 -0500
|
||||
|
||||
ansible (1.3.0) unstable; urgency=low
|
||||
|
||||
* 1.3.0 release
|
||||
|
||||
-- James Cammarata <jcammarata@ansibleworks.com> Fri, 13 September 2013 16:00:00 -0500
|
||||
|
||||
ansible (1.2.2) unstable; urgency=low
|
||||
|
||||
|
||||
@ -8,6 +8,6 @@ Homepage: http://ansible.github.com/
|
||||
|
||||
Package: ansible
|
||||
Architecture: all
|
||||
Depends: python, python-support (>= 0.90), python-jinja2, python-yaml, python-paramiko
|
||||
Depends: python, python-support (>= 0.90), python-jinja2, python-yaml, python-paramiko, sshpass
|
||||
Description: Ansible Application
|
||||
Ansible is a extra-simple tool/API for doing 'parallel remote things' over SSH executing commands, running "modules", or executing larger 'playbooks' that can serve as a configuration management or deployment system.
|
||||
|
||||
@ -10,7 +10,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||
Name: ansible
|
||||
Release: 1%{?dist}
|
||||
Summary: SSH-based configuration management, deployment, and orchestration engine
|
||||
Version: 1.3
|
||||
Version: 1.3.2
|
||||
|
||||
Group: Development/Libraries
|
||||
License: GPLv3
|
||||
@ -24,13 +24,16 @@ BuildRequires: python26-devel
|
||||
Requires: python26-PyYAML
|
||||
Requires: python26-paramiko
|
||||
Requires: python26-jinja2
|
||||
Requires: python26-keyczar
|
||||
%else
|
||||
BuildRequires: python2-devel
|
||||
|
||||
Requires: PyYAML
|
||||
Requires: python-paramiko
|
||||
Requires: python-jinja2
|
||||
Requires: python-keyczar
|
||||
%endif
|
||||
Requires: sshpass
|
||||
|
||||
%description
|
||||
|
||||
@ -40,41 +43,6 @@ over SSH and does not require any software or daemons to be installed
|
||||
on remote nodes. Extension modules can be written in any language and
|
||||
are transferred to managed machines automatically.
|
||||
|
||||
%package fireball
|
||||
Summary: Ansible fireball transport support
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 5
|
||||
Requires: python26-keyczar
|
||||
Requires: python26-zmq
|
||||
%else
|
||||
Requires: python-keyczar
|
||||
Requires: python-zmq
|
||||
%endif
|
||||
|
||||
%description fireball
|
||||
|
||||
Ansible can optionally use a 0MQ based transport mechanism, which is
|
||||
considerably faster than the standard ssh mechanism when there are
|
||||
multiple actions, but requires additional supporting packages.
|
||||
|
||||
%package node-fireball
|
||||
Summary: Ansible fireball transport - node end support
|
||||
Group: Development/Libraries
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 5
|
||||
Requires: python26-keyczar
|
||||
Requires: python26-zmq
|
||||
%else
|
||||
Requires: python-keyczar
|
||||
Requires: python-zmq
|
||||
%endif
|
||||
|
||||
%description node-fireball
|
||||
|
||||
Ansible can optionally use a 0MQ based transport mechanism, which has
|
||||
additional requirements for nodes to use. This package includes those
|
||||
requirements.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
@ -101,39 +69,35 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_bindir}/ansible*
|
||||
%dir %{_datadir}/ansible
|
||||
%{_datadir}/ansible/*/*
|
||||
#%{_datadir}/ansible/*/f[a-hj-z]*
|
||||
#%{_datadir}/ansible/*/file
|
||||
%config(noreplace) %{_sysconfdir}/ansible
|
||||
%doc README.md PKG-INFO COPYING
|
||||
%doc %{_mandir}/man1/ansible*
|
||||
%doc %{_mandir}/man3/ansible.*
|
||||
#%doc %{_mandir}/man3/ansible.f[a-hj-z]*
|
||||
#%doc %{_mandir}/man3/ansible.file*
|
||||
%doc examples/playbooks
|
||||
|
||||
%files fireball
|
||||
%{_datadir}/ansible/utilities/fireball
|
||||
%doc %{_mandir}/man3/ansible.fireball.*
|
||||
|
||||
%files node-fireball
|
||||
%doc README.md PKG-INFO COPYING
|
||||
|
||||
%changelog
|
||||
|
||||
* Fri Jul 05 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.3-0
|
||||
* (release pending)
|
||||
* Thu Sep 19 2013 James Cammarata <jcammarata@ansibleworks.com> - 1.3-2
|
||||
- Release 1.3.2
|
||||
|
||||
* Mon Sep 16 2013 James Cammarata <jcammarata@ansibleworks.com> - 1.3-1
|
||||
- Release 1.3.1
|
||||
|
||||
* Fri Sep 13 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.3-0
|
||||
- Release 1.3.0
|
||||
|
||||
* Thu Jul 05 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.2-2
|
||||
* Release 1.2.2
|
||||
- Release 1.2.2
|
||||
|
||||
* Thu Jul 04 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.2-1
|
||||
* Release 1.2.1
|
||||
- Release 1.2.1
|
||||
|
||||
* Mon Jun 10 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.2-0
|
||||
* Release 1.2
|
||||
- Release 1.2
|
||||
|
||||
* Tue Apr 2 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.1-0
|
||||
* Release 1.1
|
||||
- Release 1.1
|
||||
|
||||
* Fri Feb 1 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.0-0
|
||||
- Release 1.0
|
||||
|
||||
Reference in New Issue
Block a user