Commit graph

435 commits

Author SHA1 Message Date
Brian Coca
08e0f6ada5 allow modules to set custom stats (#18946)
can be per run or per host, also aggregate or not
set_stats action plugin as reference implementation
added doc stub
display stats in calblack
made custom stats showing configurable
2017-01-05 16:38:36 -05:00
Carlos E. Garcia
0b8011436d minor spelling changes 2016-12-13 13:51:13 -05:00
Matt Clay
75c281debc Fix compile errors in scripts. 2016-12-08 11:35:20 -05:00
Brian Coca
6dece90a57 change to ~ instead of $HOME to avoid undefined (#18551)
fixes #16032
2016-11-21 07:31:50 -08:00
Gael Pasgrimaud
f94100aa87 make default strategy configurable (#18394) 2016-11-15 15:36:53 -05:00
Brian Coca
aab80ac353 removed package from squash in examples 2016-11-14 17:41:52 -05:00
scottb
abc9133cb6 Merge pull request #12712 from ananyacleetus/patch-1
Update DOCUMENTATION.yml
2016-11-10 01:08:51 -08:00
Andrea Tartaglia
b18263cf36 ANSIBLE_SSH_CONTROL_PATH_DIR option added (#18342)
* ANSIBLE_SSH_CONTROL_PATH_DIR option added

This removes the hardcoded value ( $HOME/.ansible/cp ) from ssh.py.
User is able to change the ControlPath directory ( the one that replaces %(directory)s ).

 Fixes #18325

* Added config option in ansible.cfg
2016-11-03 15:19:59 -07:00
Matt Clay
0d46805979 Clean up shebangs for various files.
- Remove shebangs from:
  - ini files
  - unit tests
  - module_utils
  - plugins
  - module_docs_fragments
  - non-executable Makefiles
- Change non-modules from '/usr/bin/python' to '/usr/bin/env python'.
- Change '/bin/env' to '/usr/bin/env'.

Also removed main functions from unit tests (since they no longer
have a shebang) and fixed a python 3 compatibility issue with
update_bundled.py so it does not need to specify a python 2 shebang.

A script was added to check for unexpected shebangs in files.
This script is run during CI on Shippable.
2016-11-02 17:00:27 -07:00
Toshio Kuratomi
5037dc4e69 Make the default Ansible_managed string static so it doesn't interfere with idempotency 2016-10-18 16:19:17 -04:00
Brian Coca
b169a61c20 toggle missing handler errors/warnings via config 2016-10-13 16:54:02 -04:00
Brian Coca
7b2f15453d make explicit the scope of config's gather_subset
it only affects the invocation of setup triggered by the gather_facts directive in plays (explicit or implicit)
2016-10-07 20:13:53 -04:00
Toshio Kuratomi
1efe782b46 Refactor parsing of CLI args so that we can modify them in the base class
Implement tag and skip_tag handling in the CLI() class.  Change tag and
skip_tag command line options to be accepted multiple times on the CLI
and add them together rather than overwrite.

* Make it configurable whether to merge or overwrite multiple --tags arguments
* Make the base CLI class an abstractbaseclass so we can implement
  functionality in parse() but still make subclasses implement it.
* Deprecate the overwrite feature of --tags with a message that the
  default will change in 2.4 and go away in 2.5.

* Add documentation for merge_multiple_cli_flags
* Fix galaxy search so its tags argument does not conflict with generic tags
* Unit tests and more integration tests for tags
2016-10-06 10:46:58 -04:00
Indrajit Raychaudhuri
becb4765c3 Add homebrew in squash_actions list (#16966)
`homebrew`, like other package modules in the existing `squash_actions` list can
benefit from `with_items` loops optimization.
2016-09-30 18:07:09 -04:00
jctanner
fff161f2f6 Smart mode for sftp+scp (#17813)
If the sftp fails, roll over to scp by default. This saves users
from having to know about the scp_if_ssh method when sftp is broken
on the remote host.
2016-09-29 17:44:54 -04:00
nitzmahone
ee080eddb5 adjust WinRM service configuration message text
fixes #17478
2016-09-09 09:47:46 -07:00
jlehtniemi-broadsoft
5864ae50c6 Start WinRM service automatically on reboot 2016-09-09 14:00:49 +03:00
Brian Coca
81a4164207 old yaml format has been long gone
script is not compatible with new yaml format so removing it to avoid confusion

(cherry picked from commit 52099224e632fe0a8b076774b22723fb73d19ea0)
2016-09-08 14:18:10 -04:00
Brian Coca
f59e8be428 linked cause people forget yaml and yml exist
(cherry picked from commit c769a966106cc01edd87f26a587238e954195d7d)
2016-09-08 14:18:10 -04:00
jctanner
fe8258a378 make timeout decorator for facts have a configurable duration (#16551)
* Add a gather_timeout parameter
* update example ansible.cfg
* fix play level fact gathering too
2016-07-08 17:46:41 -04:00
Shota
47f715fb37 Fix some typos (#16498) 2016-06-29 14:31:25 -04:00
Scott Mcdermott
007c20a28b Add missing {cache,inventory}_plugins to ansible.cfg (#16463) 2016-06-27 18:14:14 -04:00
Toshio Kuratomi
a3959644ee Change the default of module_set_locale to False. (#16313)
This makes Ansible no longer set LC_ALL for remote systems.  It is up to
the individual modules to set LC_ALL if they need it for screenscraping
the output from a program.

This is the 2.2 followup for #15138
2016-06-15 14:21:04 -04:00
Brian Coca
de18566882 made ssh compression configurable (#16214)
AIX ssh does not seem to like compression, moved it to ssh_args
to allow making it configurable. Note that those using ssh_args
already will need to add it explicitly to keep compression.
2016-06-10 13:17:49 -04:00
Matt Davis
5825958a5a Merge pull request #15275 from Cryptophobia/devel
Update ConfigureRemotingForAnsible.ps1
2016-05-20 17:15:46 -07:00
Dag Wieers
a485395b02 Fix small typo in ansible.cfg (#15912) 2016-05-18 12:21:30 -04:00
Cryptophobia
76a519fddc Update to ConfigureRemotingForAnsible.ps1 2016-04-13 18:02:55 -04:00
Toshio Kuratomi
dcc5dfdf81 Controller-side module caching.
This makes our recursive, ast.parse performance measures as fast as
pre-ziploader baseline.

Since this unittest isn't testing that the returned module data is
correct we don't need to worry about os.rename not having any module
data.  Should devise a separate test for the module and caching code
2016-04-12 08:01:07 -07:00
Brian Coca
1942cd33dc draft add group merge priority and yaml inventory
* now you can specify a yaml invenotry file

* ansible_group_priority will now set this property on groups

* added example yaml inventory

* TODO: make group var merging depend on priority

  groups, child/parent relationships should remain unchanged.
2016-04-07 16:22:36 -04:00
James Cammarata
040893a677 Adding a config option to allow disabling locale settings upon module exec
Fixes #15138
2016-04-06 12:19:22 -04:00
Toshio Kuratomi
4b0aa1214c Ziploader
* Ziploader proof of concept (jimi-c)

* Cleanups to proof of concept ziploader branch:

* python3 compatible base64 encoding
* zipfile compression (still need to enable toggling this off for
  systems without zlib support in python)
* Allow non-wildcard imports (still need to make this recusrsive so that
  we can have module_utils code that imports other module_utils code.)
* Better tracebacks: module filename is kept and module_utils directory
  is kept so that tracebacks show the real filenames that the errors
  appear in.

* Make sure we import modules that are used into the module_utils files that they are used in.

* Set ansible version in a more pythonic way for ziploader than we were doing in module replacer

* Make it possible to set the module compression as an inventory var

This may be necessary on systems where python has been compiled without
zlib compression.

* Refactoring of module_common code:

* module replacer only replaces values that make sense for that type of
  file (example: don't attempt to replace python imports if we're in
  a powershell module).
* Implement configurable shebang support for ziploader wrapper
* Implement client-side constants (for SELINUX_SPECIAL_FS and SYSLOG)
  via environment variable.
* Remove strip_comments param as we're never going to use it (ruins line
  numbering)

* Don't repeat ourselves about detecting REPLACER

* Add an easy way to debug

* Port test-module to the ziploader-aware modify_module()

* strip comments and blank lines from the wrapper so we send less over the wire.

* Comments cleanup

* Remember to output write the module line itself in powershell modules

* for line in lines strips the newlines so we have to add them back in
2016-04-05 11:06:17 -07:00
Linus Arver
0814a37a76 examples/ansible.cfg: add vault_password_file 2016-03-24 19:09:29 -07:00
James Cammarata
2c20579a06 Add options to make includes 'static'
* Can be configured in the ansible.cfg for tasks/handlers individually
* If an included filename contains no vars or loops, it will be expanded
  in-place as if it were marked as static
2016-03-24 10:12:51 -04:00
Toshio Kuratomi
52e9209491 Don't create world-readable module and tempfiles without explicit user permission 2016-03-23 09:52:19 -07:00
Matthew Gamble
7b06ec79e3 Add documentation for squash_actions configuration setting 2016-03-23 20:38:12 +11:00
Toshio Kuratomi
512825455e Make ohai and facter work via module_utils Fact classes rather than in the setup module 2016-03-14 14:53:29 -07:00
Yannig Perré
88772b6003 Add a way to restrict gathered facts in Ansible:
- Using gather_subset options
- By ignoring ohai/chef or facter/puppet facts
2016-03-14 14:53:28 -07:00
Matt Clay
ba1bcdfc17 Add noseclabel support to libvirt_lxc plugin. 2016-03-10 15:34:31 -08:00
Brian Coca
e74ab3ecdd draft 1st release of ansible-console
porting @dominis 's ansible-shell tool from 1.9 and integrating it into ansible
added verbosity control
made more resilitent to several errors
added highlight color, to configurable colors
more resilient on exception and interruptions
prompt coloring, goes red and changes to # when using become = true and root
become setting is now explicit and not a toggle
2016-03-07 20:25:21 -05:00
Kishin Yagami
299c18d700 Support strategy_plugins setting in a configuration file 2016-03-05 20:15:04 +09:00
Brian Coca
c24249c57d made max diff size configurable 2016-03-02 17:25:22 -05:00
Matt Davis
840cda741d Merge pull request #12363 from breathe/devel
allow ConfigureRemotingForAnsible.ps1 script from public zone
2016-02-29 22:28:53 +00:00
Michael Crilly
e9fe5f201f $SubjectName variable unused; clean up
Having used this script several times today, I came to notice the $SubjectName variable, being passed in via the CLI, is essentially ignored when generating the SSL certificates, rendering it useless. I believe it's a good idea to have it in place, so I've updated the script to reflect this.

I also cleaned up some random new lines throughout the file, and expanded on a comment.

It might be worth going a step further and commenting the file fully, as most people reviewing this file won't be familiar with PowerShell (like I wasn't unitl a few days ago). It could be helpful.
2016-02-29 14:24:37 -08:00
Gabriel Burkholder
c4ecbad663 Cleans up extra whitespace in ansible.cfg 2016-02-25 14:22:19 -08:00
James Cammarata
9112f5af3a Merge pull request #14535 from b4ldr/update_uptime_for_api_2
update uptime script to use version 2.0 of the api
2016-02-24 11:09:40 -05:00
Toshio Kuratomi
86b8dc0e79 Add a configuration setting that allows the user to specify printing of task arguments in the header.
Fixes #14554
2016-02-18 04:20:35 -08:00
Brian Coca
0a4642fcc2 added examples for new diff color configs 2016-02-18 02:01:37 -08:00
b4ldr
439baf004e update uptime script to use version 2.0 of the api 2016-02-17 18:34:12 +00:00
Brian Coca
d3deb24ead output color is now configurable 2015-12-29 17:40:47 -05:00
Brian Coca
2bfb13bfb3 removed unused 'pattern' from ansible.cfg
also moved the config param to a 'deprecated' list in constants.py
added TODO for producing a deprecation warning for such vars
2015-12-09 08:40:06 -08:00
Luca Berruti
8ea45e8608 Make no_target_syslog consistent.
no_target_syslog = False --> do log on target
2015-12-05 19:43:02 +01:00
“Brice
e8954e556a comment examples in default hosts file 2015-12-04 16:24:19 -05:00
Toshio Kuratomi
9caa2b0452 Revert "Update docs and example config for requiretty + pipelining change"
This reverts commit f873cc0fb5.

Reverting pipelining change for now due to hard to pin down bugs: #13410  #13411
2015-12-03 07:59:23 -08:00
Toshio Kuratomi
f873cc0fb5 Update docs and example config for requiretty + pipelining change 2015-12-01 10:24:15 -08:00
James Cammarata
efbc6054a4 Add variable compression option 2015-11-05 16:22:37 -05:00
Brian Coca
0712ec756b commented out all settings in exampmle ansible.cfg as we really only want to set when diff from defaults 2015-10-31 18:57:27 -04:00
bastianharren
b39b474def stdout_callback instead of callback_stdout 2015-10-30 09:51:35 +01:00
Brian Coca
b2fc5142eb moved sudo -S and -n into configurable flags as they might be absent in much older systems
if password is supplied exsiting -n would get remove from flags
2015-10-28 02:06:25 -04:00
Toshio Kuratomi
cd9d6c8b5b Remove unused ca_file_path as it has not been hooked up to code for a long time (if ever) and is confusing people For instance, #12884 2015-10-26 10:24:17 -07:00
James Cammarata
dce58a78c9 Make random cowsay truly random
Also adds a cowsay whitelist config option, because there are some
truly NSFW stencils that come with cowsay by default.
2015-10-15 10:52:53 -04:00
Ananya W Cleetus
45258b113d Update DOCUMENTATION.yml 2015-10-12 12:03:14 -04:00
Greg DeKoenigsberg
0a21e2ab4d Add github ID to documentation example 2015-10-01 14:20:06 -04:00
Brian Coca
bb6141ec41 renamed managed_syslog to no_target_syslog 2015-09-26 08:22:32 -04:00
Brian Coca
37a918438b task logging revamp
* allow global no_log setting, no need to set at play or task level, but can be overriden by them
 * allow turning off syslog only on task execution from target host (manage_syslog), overlaps with no_log functionality
 * created log function for task modules to use, now we can remove all syslog references, will use systemd journal if present
 * added debug flag to modules, so they can make it call new log function conditionally
 * added debug logging in module's run_command
2015-09-25 23:57:28 -04:00
Nathaniel Cohen
8b6f8ff928 Document -SkipNetworkProfileCheck switch 2015-09-22 11:57:15 -07:00
Paul Freeman
87fc5640d4 Comments to explain retry_files_enabled and retry_files_save_path 2015-09-17 12:05:46 +01:00
Brian Coca
4aea1f6568 normalized plugin paths and names and configs 2015-09-15 11:44:09 -04:00
Nathaniel Cohen
be452c1b27 allow ConfigureRemotingForAnsible.ps1 script to function from 'public' adapters
The current script fails on machines which have network interfaces designated
as connected to "Public" networks (choices for network designation being
Private, Domain, Public).  This commit changes the script to NOT prevent winrm
initialization when device is connected to a "Public" network.
2015-09-14 15:13:33 -07:00
Marius Gedminas
823677b490 Replace .iteritems() with six.iteritems()
Replace .iteritems() with six.iteritems() everywhere except in
module_utils (because there's no 'six' on the remote host).  And except
in lib/ansible/galaxy/data/metadata_template.j2, because I'm not sure
six is available there.
2015-09-03 09:23:27 +03:00
nitzmahone
74694b2b0d moved WinRM setup script test after config 2015-08-31 16:38:23 -07:00
Brian Coca
49eb95e2d1 some fixes to become/sudo
* now it uses -n to get immediate error if no password is supplied and one is needed,
   this should fix the issue with sudo hanging waiting for input.
 * made -k configurable, this can break changing become_users in play if left out,
   but opens up the possiblity of OTP support.
2015-08-15 12:17:40 -04:00
James Cammarata
7a9916422a Fixing up error handling for fetch_file ops in connection plugins
* enable batch mode (configurable with a config option, on by default)
  for sftp transfers, so we can catch errors more easily
* general cleanup in the local connection plugin and fetch action plugin

Fixes #11612
2015-07-22 14:25:47 -04:00
Brian Coca
e9400e9ba5 added commented out callback options 2015-07-20 12:27:51 -04:00
Carlos E. Garcia
657495d13f minor spelling changes 2015-07-10 12:42:59 -04:00
Brian Coca
8bfbe44e5b introduced non changing ansible_managed 2015-07-06 19:25:32 -04:00
Brian Coca
0cd7942155 removed uneeded quotes 2015-07-06 15:42:23 -04:00
Brian Coca
9e37402cb7 added ramfs to selinux ignored filesystems
as reported in #11442
2015-07-02 17:25:05 -04:00
James Cammarata
b6c52ce115 Allow role variables to be optionally kept in a private scope 2015-07-01 11:33:14 -04:00
Brian Coca
a41caf722d added example of whitelisted callback 2015-06-29 20:45:50 -04:00
Brian Coca
e2de336a23 made special treatment of certain filesystem for selinux configurable 2015-05-15 13:19:15 -04:00
Brian Coca
5f6db0e164 preliminary privlege escalation unification + pbrun
- become constants inherit existing sudo/su ones
- become command line options, marked sudo/su as deprecated and moved sudo/su passwords to runas group
- changed method signatures as privlege escalation is collapsed to become
- added tests for su and become, diabled su for lack of support in local.py
- updated playbook,play and task objects to become
- added become to runner
- added whoami test for become/sudo/su
- added home override dir for plugins
- removed useless method from ask pass
- forced become pass to always be string also uses to_bytes
- fixed fakerunner for tests
- corrected reference in synchronize action plugin
- added pfexec (needs testing)
- removed unused sudo/su in runner init
- removed deprecated info
- updated pe tests to allow to run under sudo and not need root
- normalized become options into a funciton to avoid duplication and inconsistencies
- pushed suppored list to connection classs property
- updated all connection plugins to latest 'become' pe

- includes fixes from feedback (including typos)
- added draft docs
- stub of become_exe, leaving for future v2 fixes
2015-03-10 18:42:36 -04:00
Brian Coca
17666a1939 changed default for new retry path to be teh same as current
also added commented out entries in ansible.cfg to show other options
2015-01-30 15:18:58 -05:00
Brian Coca
4fd760467b made inventory consistent in config file, deprecated old config hostfile 2015-01-29 13:28:33 -05:00
Brian Coca
78e1a7ed93 Revert "Fix: Add support for SSL protocol version configuration option" 2015-01-19 08:36:17 -05:00
Brian Coca
9ccabbb95e Merge pull request #9808 from swimlappy/sslconfig
Fix: Add support for SSL protocol version configuration option
2015-01-16 10:25:48 -05:00
Brian Coca
83e6c166f6 fixed bad exampel for library that was library_path, which of course did
not work
2015-01-05 11:40:45 -05:00
Toshio Kuratomi
a5b3b59bd1 Comment remote_port in the example ansible.cfg so users do not override their .ssh/config settings by default 2014-12-16 11:09:42 -08:00
Willem Pienaar
ac28652602 Fixed error handling for the enabling of PS Remoting 2014-12-16 02:29:13 +02:00
Jason Holland
eedc51f213 Add support for SSL protocol version configuration option. Also fix 2 places where the SSL version was not being set properly. 2014-12-13 21:20:33 -06:00
Veres Lajos
bf5d8ee678 typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 22:23:35 +00:00
Chris Church
116109468c Merge pull request #9481 from cipress/patch-1
fixes powershell upgrade script to work on different System architectures.
2014-11-23 01:37:33 -05:00
Chris Church
2f7348fddf Update firewall rules, error handling, other comment/whitespace cleanup. 2014-11-11 02:20:28 -05:00
cipress
c1fc0ca4fd Found issue on different System architecture.
On x86 systems doesn't work so, starting by the line 63 we check if the architecture is x86 or x64.
2014-11-04 17:38:08 +01:00
Michael DeHaan
e5116d2f9b changes for package loading of modules 2014-09-26 11:25:56 -04:00
Michael DeHaan
2064d26085 Add documentation about bin_ansible_callbacks setting. Standardization and cleanup. 2014-09-10 09:38:24 -04:00
James Cammarata
eaa5257588 Replacing the issues template with the updated one from examples 2014-09-09 11:10:49 -05:00
Michael DeHaan
a419ffdf41 Make command warnings off by default to minimize surprises. 2014-08-22 16:12:48 -04:00
Michael DeHaan
fcb610dec4 Slightly trim down the warnings list based on some things being pretty common
for local usage.
2014-08-22 15:37:07 -04:00
nathansoz
f0004b1604 $powershellpath is called as ".$powershellpath"
$powershell path is set to "C:\powershell" at line 27. This is fine, but on line 82 $powershellpath is called as ".$powershellpath\$filename". Because the path at line 27 is absolute, a period preceding the $powershellpath is not required at 82. It actually causes an error:

Start-Process : This command cannot be executed due to the error: Unknown error (0x80041002).
At C:\users\Nathan Sosnovske\Documents\ps2to3.ps1:81 char:14

Start-Process <<<< -FilePath ".$powershellpath\$filename" -ArgumentList /quiet
CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
Removing the period on line 82 before $powershellpath fixes this error.
2014-08-18 15:55:24 -07:00
Michael DeHaan
2629cd3fce Fix some copyrights, fix a misc test. 2014-08-11 12:23:05 -04:00