Commit graph

207 commits

Author SHA1 Message Date
Jack Neely
42b01dac9b ec2.py: Make sure ec2_placement gets handled correctly
ec2_placement was missing from the inventory variables ec2.py was
producing.  Make sure that gets properly included rather than ignored.
2014-02-06 15:10:20 -05:00
Timur Batyrshin
658c15930e reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 (#5852) 2014-02-03 13:00:40 -06:00
Michael DeHaan
26676ce2e2 update default EC2 exclude regions -- this should be the best configuration for most users, but some may still want to tweak. 2014-01-19 13:13:43 -05:00
jctanner
57d54c1da5 Merge pull request #5236 from willthames/ec2_inv_rds_fail_safe
ec2 inventory: Fail EC2 inventory better with restricted EC2 users
2014-01-06 12:57:21 -08:00
jctanner
fd4ae165e4 Merge pull request #5153 from willthames/ec2_inventory_multiuser
Allow multiple users to use ec2 inventory scripts
2014-01-06 12:55:08 -08:00
Will Thames
e9a0aff77c Fail EC2 inventory better with restricted EC2 users
If a user has full EC2 access but no RDS access, the user
should still be able to query the EC2 inventory, although
will not obtain any information about any RDS instances.
2013-12-10 21:32:54 +10:00
Lorrin Nelson
663deff2c2 Fix loading from cache in ec2.py inventory plugin. 2013-12-05 21:33:25 -08:00
Lorrin Nelson
94d60b53de ec2 inventory now include Ansible 1.3 style _meta data each host. 2013-12-05 11:40:18 -08:00
willthames
3a0d2860e0 Allow multiple users to use ec2 inventory scripts
Move the ec2 cache files from a shared /tmp location to the
user's ansible tmp directory.
2013-12-04 11:42:44 +10:00
Eric Johnson
8ff58eb46e fixes #4954 plus updates for gcutil/v1beta16 tests 2013-11-19 22:30:22 +00:00
Michael DeHaan
30e72a4b1b Merge pull request #4842 from cchurch/devel
Retrieve EC2 state when using newer versions of Boto
2013-11-18 11:45:56 -08:00
James Tanner
5eaaca68d1 Merge pull request #4005 from herbyg-axial/ansible/
ec2 inventory script: Add a global group for EC2 and RDS instances when listing EC2 inventory
2013-11-11 14:09:34 -05:00
Chris Church
a6135c1c16 Support retrieving EC2 state/previous_state when using newer versions of Boto. 2013-11-07 16:04:55 -05:00
Paul Durivage
f63a6fafe9 Move regions until after authentication; otherwise pyrax.regions is an empty tuple and no inventory is returned. 2013-10-29 13:47:26 -05:00
Paul Durivage
3bfdaad060 Implement @cchurch suggestions 2013-10-29 13:47:26 -05:00
Paul Durivage
859c6c6d44 Make creds file env var optional; look for ~/.rackspace_cloud_credentials if not supplied 2013-10-29 13:47:26 -05:00
Paul Durivage
d59f9b4289 Remove grouping of hosts by trying to discern subdom in server name 2013-10-29 13:47:26 -05:00
Paul Durivage
7c88ac0a5e Accept a comma-separated list of regions 2013-10-29 13:47:26 -05:00
Paul Durivage
16336db9f6 Documentation updates for region env var 2013-10-29 13:47:26 -05:00
Paul Durivage
25c3bec6ef Eliminate the RAX_REGION environment variable; iterate through all regions available to an account and present servers in region groups; default to using server name to identify servers in groups; set ansible_ssh_host key for each server; utilize the _meta key to provide all the hostvars for each server; all grouping by web, db, sql, lb, app based on server name; pretty print JSON output for some human-readable inventory action
Add set_setting to alleviate requirement that ~/.pyrax.cfg exists

Add regions as a optional env var to narrow our inventory scope

Clean up
2013-10-29 13:47:25 -05:00
Paul Durivage
ccc607eaa5 Documentation updates 2013-10-29 13:40:31 -05:00
Peter Gehres
084dc38fbe Refactored implementation to make use of caching and to
limit the number of connections to external cobbler server for performance.
Added use of cobbler.ini file to configure settings.

Tested against Cobbler 2.4.0
2013-10-27 11:51:42 -04:00
Peter Gehres
a3e3334547 Refactored implementation to make use of caching and to
limit the number of connections to external cobbler server for performance.
Added use of cobbler.ini file to configure settings.

Tested against Cobbler 2.4.0
2013-10-27 11:51:42 -04:00
Sebastien Goasguen
36e1088692 Generic libcloud script for ansible inventory 2013-10-25 18:14:53 +02:00
Michael DeHaan
baa13a5cc7 Merge pull request #4395 from erjohnso/devel
adding Google Compute Engine modules and inventory plugin
2013-10-17 07:30:55 -07:00
Constantine Peresypkin
4bd485d87f fixed identity type not set in inventory/rax.py plugin 2013-10-14 11:57:19 -04:00
Michael DeHaan
43df00550d Merge pull request #3827 from mscherer/disable_callbacks
add a way for callback to disable itself
2013-10-12 07:03:06 -07:00
Nandor Sivok
51ef343e60 cobbler inventory list systems without mgmt_classes as ungrouped 2013-10-09 12:22:12 +02:00
Eric Johnson
cfc249931a custom user-agent header 2013-10-08 16:36:35 +00:00
Eric Johnson
9ca824c16d adding Google Compute Engine modules and inventory plugin 2013-10-07 21:01:37 +00:00
Chris Church
9aacecd3fa Allow specifying an alternate ec2.ini path via EC2_INI_PATH environment variable. 2013-10-04 16:14:05 -04:00
Paul Durivage
532c7db03b Update example to use RAX_CREDS_FILE env var 2013-09-27 15:51:07 -05:00
Paul Durivage
e366712aca Use set_setting; alleviates pyrax requiring the ~/pyrax.cfg in order to establish identity_type 2013-09-27 15:50:32 -05:00
James Cammarata
7eff2a8406 Merge branch 'ec2_inventory_route53' of https://github.com/herbyg-axial/ansible into herbyg-axial-ec2_inventory_route53 2013-09-25 15:45:51 -05:00
James Cammarata
0e0595bdb2 Merge branch 'jail' of https://github.com/mscherer/ansible into mscherer-jail 2013-09-25 14:47:24 -05:00
Herby Gillot
8b3674bf58 minor spacing cleanup 2013-09-23 21:43:00 -04:00
Herby Gillot
6ddebb3fad ec2 inventory route53 tagging:
* make filtering more comprehensive
* add checks against missing route53 zone exclusion option
2013-09-23 21:40:18 -04:00
Herby Gillot
91785ba045 ec2 inventory: Add the ability to group instances by Route 53 domain
names.
2013-09-23 14:00:56 -04:00
René Moser
269ceada78 zabbix inventory: print errors to stderr 2013-09-18 09:56:30 +02:00
Michael Scherer
a6be1edd96 add inventory script for listing jails on *bsd 2013-09-15 17:41:20 +02:00
Michael DeHaan
c6067edae6 Remove YAML inventory example. 2013-09-11 08:40:51 -04:00
Michael Scherer
5bf1c77614 add a inventory script that go with the lxc connexion module 2013-09-08 22:59:38 +01:00
Herby Gillot
36fe595de8 ec2 inventory script: Add a global group for EC2 and RDS instances when
listing EC2 inventory
2013-09-02 22:02:56 -04:00
Jeremy Price
ad75350919 adding regions_exclude parameter to be able to do subtractive region exclusion. Defaults to us-gov-west-1 so as to not cause errors for people who don't have govcloud credentials but get it in their regions list 2013-08-31 17:58:37 -04:00
James Cammarata
268f171ee4 Merge branch 'feature/zabbix-inventory' of https://github.com/resmo/ansible into devel 2013-08-22 16:03:17 -05:00
René Moser
308026f234 improved zabbix inventory. added sys.exit(1) where needed, added some exception handling. 2013-08-22 23:02:32 +02:00
Herby Gillot
c2f8215c06 ec2 inventory: Verify that a security group exists before trying to use its name as a key in inventory. 2013-08-22 15:29:15 -05:00
James Cammarata
20a57dcdcb Merge pull request #3917 from resmo/fix/openshift-inventory-shebang
fixed shebang in openshift inventory
2013-08-22 13:12:14 -07:00
René Moser
791a2d5757 fixed shebang in openshift inventory 2013-08-22 22:02:02 +02:00
Greg Buehler
500e6fa374 Added Zabbix inventory plugin 2013-08-19 16:40:40 +02:00
Michael Scherer
12bf9a8b69 add a way for callback to disable itself
The idea is that some plugin would not be called in some
specific case, and the callback should decide by itself.

Having a way to globally disable it is much cleaner than
disabling every method one by one on the plugin side.

My use case is for fedora-infrastructure that cannot be run
from git checkout since it try to connect to the message bus,
but another case would be to bootstrap infrastructure, or to
run the code on a test servers without having all the callback
infrastructure setup.
2013-08-14 22:32:28 +02:00
Michael DeHaan
06cb24940d Merge pull request #3797 from mscherer/openshift_github
Add openshift inventory plugin
2013-08-11 13:25:07 -07:00
Evan Wies
0c9c4ae401 digital_ocean #3438: use get instead of [] to prevent KeyError
The existing code was using:
  a[b][c[d]]
where a[b] would always exist and c[d] would always exist.
But the nested index would not alway exist, particularly when a DigitalOcean item disapeared.

This changes that nested index to a `get` and properly handles None results.

This bug was present in two spots in this file.
2013-08-09 11:57:37 -04:00
Michael Scherer
8026b091b1 Add openshift inventory plugin
This plugin will list all your git repositories from a openshift
provider, and allow you to manage them using ansible.

The inventory either use a environement variable or reuse the
existing rhc configuration file if it exist.
2013-08-08 23:37:14 +02:00
Dan Slimmon
09a2f23e8f Made Linode inventory module much faster.
Listing no longer makes an API request for every node.
2013-07-25 16:58:15 +00:00
Evan Wies
98bbf9708a digital_ocean: whitespace changes 2013-07-05 10:38:04 -04:00
Evan Wies
9b1a57f1f3 digital_ocean: make sure 'images' includes non-global images
The `dopy` library function all_images includes a 'global' filter
by default.  This was preventing private images from showing up
in --images.

The problem also made this script fail immediately for people
who had droplets previously created with private images.
2013-07-05 10:00:01 -04:00
Evan Wies
3f6bc3f664 digital_ocean.py enhancements
* Always refresh droplet information (versus getting it from cache) for
  --list, --host, --droplets, and --all.   All the DigitalOcean calls are
  pretty fast and without this change, inventory was often stale/incorrect.
  For example, previously if you destroyed a droplet, the inventory
  script would still find it and attempt to act on it.

* Added --force-cache option

* Added some option shortcuts -d, -r

* Added more value sanitization
2013-07-02 15:49:43 -04:00
Michael DeHaan
1d1d30f338 Merge pull request #3357 from neomantra/devel
Add DigitalOcean inventory plugin
2013-06-30 14:20:21 -07:00
Dan Slimmon
35d8d118a4 Added notes about hostname resolution. 2013-06-28 19:51:58 +00:00
Dan Slimmon
eb2653283c Added linode plugin 2013-06-28 19:11:32 +00:00
Evan Wies
01c9e7ea88 digital_ocean: add --env to inventory script 2013-06-27 14:52:32 -04:00
Evan Wies
807f3e76db Add DigitalOcean inventory plugin
Intended to complement the recently added digital_ocean module.
2013-06-26 23:01:30 -04:00
Tim Gerla
57b72d242a ec2 inventory plugin: fix whitespace around connection validity test 2013-06-26 09:22:16 -07:00
Michael DeHaan
200bd75426 Merge pull request #3149 from blandonnimrat/devel
added error checking on connect_to_region() in ec2.py
2013-06-19 19:26:17 -07:00
Chris Church
d1de7839d7 Renamed on_no_hosts_matched/on_no_hosts_remaining to correct names in noop callback, added methods to callback plugin examples. 2013-06-09 12:19:07 -04:00
jclaybaugh
f4db6d1a91 fixed whitespace and added a comment to explain if statement 2013-06-07 18:25:14 +00:00
jclaybaugh
4733dc6b5b added error checking around boto ec2 connection errors when using a bad region name 2013-06-07 18:13:22 +00:00
Mark Mandel
18f8fe1149 Update vagrant external inventory file to handle multiple boxes, and --list and --host params. 2013-05-30 14:16:58 +10:00
Michael DeHaan
2908687a7b This plugin is not quite ready as it needs to support --host <hostname> and --list, like the other inventory plugins, but we should get this tweaked and include it once it is standardized. Watch this space! 2013-05-29 09:58:29 -04:00
Michael DeHaan
bf309e1cd0 Merge pull request #2982 from markmandel/devel
Vagrant external inventory plugin
2013-05-29 06:56:44 -07:00
bennojoy
b16e2a1d48 OpenStack Modules 2013-05-23 07:55:05 +05:30
Mark Mandel
f2f3fb1a8e Vagrant external inventory file, to dynamically determine your vagrant vm ip. 2013-05-23 09:13:26 +10:00
Jon Miller
dc8feb799c Do not need to chmod cache file each time
This is particularly important if you've manually ensured you have write
access via group permissions and not by owner.
2013-05-21 14:44:00 -07:00
Jon Miller
5111e0c2f7 Inventory script for Spacewalk servers based on the spacewalk-reports package 2013-05-21 12:40:26 -07:00
Michael DeHaan
76723f6b37 Merge pull request #2610 from peterjanes/devel
Basic RDS support for EC2 inventory
2013-04-27 08:10:57 -07:00
Michael DeHaan
d1ac527fb1 Add note about new logging feature in example plugin. 2013-04-27 10:36:37 -04:00
Michael DeHaan
53ac0bbec2 Instantiate callback plugins only once so we can set play/task objects on them and they'll stick. 2013-04-20 09:09:35 -04:00
Jesse Keating
c47fd199bd Initial commit of rax inventory plugin
The rax inventory plugin provides a way to discovery inventory in the
Rackspace Public Cloud by way of pyrax, the official SDK. Grouping will
be done if a group:name is found in the instance metadata. When a single
host is queried all the instance details are returned with a rax_
prefix.

Because inventory plugins cannot take extra arguments, ENV variables
must be set to point to the pyrax compatible credentials file and the
region to query against.
2013-03-30 23:04:07 -07:00
Michael DeHaan
921cdaec48 Merge pull request #2402 from dparalen/ec2_inventory_hostname_check
check hostname presence
2013-03-17 07:32:58 -07:00
Jeffrey Chu
fb39c89bd2 Use environment python in nova.py 2013-03-15 22:29:16 -07:00
milan
27b8d3567e check hostname presence 2013-03-15 10:15:41 +01:00
Peter Janes
bcc2e84a4b Fix reference to parameter group name 2013-03-13 16:51:43 -04:00
Peter Janes
dd2d0dd175 Add basic inventory support for RDS instances 2013-03-13 16:43:26 -04:00
Michael DeHaan
b75b9681a8 more places to use yaml.safe_load 2013-02-23 13:34:14 -05:00
Michael DeHaan
534f004078 Merge pull request #2101 from stoned/plugins-connections-doc
pasto and core connection plugins reference fix
2013-02-16 10:41:15 -08:00
Blair Zajac
fa8e653011 Simplify and correct comparisons with None. 2013-02-16 13:32:48 -05:00
Stoned Elipot
438c77f762 pasto and core connection plugins reference fix 2013-02-16 13:40:04 +01:00
Daniel Hokka Zakrisson
f12dbd431a Don't remove invocation from the result in the log callback
Fixes #2064.
2013-02-12 22:26:30 +01:00
Tim Gerla
168fcb0a4a Only inventory "running" EC2 instances. "stopped" is also a valid state and these should not be inventoried. 2013-01-30 11:01:25 -08:00
Rodney Quillo
395093e0bf Move default arguments to the end of the function call. 2013-01-19 08:34:47 +08:00
Rodney Quillo
7ae100611c Adding default on vars_prompt 2013-01-18 19:00:57 +08:00
Peter Sankauskas
39efcd0766 While I haven't done this, it is possible to bring up an instance
without a keypair, so this takes care of that scenario
2012-11-07 16:56:45 -08:00
Peter Sankauskas
aa0434535e Adding 2 more groups of instances - instance types and key pairs 2012-11-06 16:16:52 -08:00
Dag Wieers
8323a03fa1 Improve the mail callback to support differing failures
Since callbacks are called with different argument-types, we have to be careful. We support two different distinct cases:

 - The error information can be in one ore more of the following items (msg, stderr or stdout)
 - The res/msg value returned can be a string or a list
2012-11-06 14:28:38 +01:00
Peter Sankauskas
60c69e9845 Allowing the EC2 inventory script to gracefully handle AWS API issues 2012-10-22 14:08:30 -07:00
Michael DeHaan
47c4775e94 Merge pull request #1351 from cocoy/ec2-v2
Fix check boto version bug #1280. Using try/except for AttributeError.
2012-10-16 20:16:40 -07:00
Rodney Quillo
8344511e47 Fix check boto version bug #1280 2012-10-17 10:47:28 +08:00
Dag Wieers
de34c7c133 This should set the sender properly. 2012-10-12 20:40:06 +02:00
Dag Wieers
bb58d3f20c Example plugin to send out mails on error
This is useful mostly for playbooks that run unattended and for a limited set of systems. In case of provisioninging this plugin (together with a final mail action) helps to get notified when something went wrong, or when the installation finished successfully.

Unfortunately, there is no way to enable/disable a plugin from a playbook. So installing the plugin means all other use-cases (provisioning, troubleshooting, reporting or management) all send mails on failure. Something we may want to fix in the future...
2012-10-10 17:28:00 +02:00
Michael DeHaan
d855b4bcf6 Merge pull request #1270 from jhoekx/yaml-inventory-plugin
Add a yaml format inventory plugin.
2012-10-10 05:33:33 -07:00
Marco Vito Moscaritolo
cdb8343ec6 Added documentation for nova inventory system 2012-10-09 21:44:39 +02:00
Marco Vito Moscaritolo
7fed89b51d Improved RackSpace configuration support (needed by latest version of rackspace API) 2012-10-09 21:43:58 +02:00
Jeroen Hoekx
2290dfe1ef Add a yaml format inventory plugin.
This fixes #1265.
2012-10-09 19:56:52 +02:00
Michael DeHaan
56e8863683 Update README 2012-10-08 08:04:21 -04:00
Michael DeHaan
2319c4d74f Redundant CONTRIBUTING file 2012-10-08 08:03:59 -04:00
Michael DeHaan
41dd4a1f93 Merge plugins tree 2012-10-08 07:45:25 -04:00