biandrews / ec2tagfacts Goto Github PK
View Code? Open in Web Editor NEWAWS EC2 Tags exported as puppet facts
License: Apache License 2.0
AWS EC2 Tags exported as puppet facts
License: Apache License 2.0
Puppet fails with timeout while running following command even though command itself works if I run it on terminal.
aws ec2 describe-tags --filters "Name=resource-id,Values=XXXXXXX" --region ap-southeast-2 --output json
If I take this bit off "--region ap-southeast-2" it works fine.
I'm forking off this module to remove this bit as I don't have enough time to troubleshoot. Would you mind making this region param optional or ability to turn it off?
When installing from puppet forge, puppetlabs-inifile is not installed as a dependency which makes puppet run fail.
Hello wondering if we can get the stdlib dependencies upgraded to something more recent? 7.1.0 is out and this is bound by 5.0.0
Error: Could not install module 'bryana-ec2tagfacts' (v0.3.0)
The requested version cannot satisfy one or more of the following installed modules:
puppetlabs-stdlib, installed: 6.6.0, expected: >= 3.2.0 < 5.0.0
Hi,
Just wondering if there are any plans to add support for Windows as this module would be pretty handy.
Thanks
Gareth
Hi.
Not necessarily a bug (I don't think), but more of a question/curiosity.
I noticed that running the "facter" command at the command-line on the node does not list any of the facts created by this module. They seem to only be available to the puppet master. Doing a "puppet facts find " on the puppet master does show the facts created by this module.
Do you know if it's possible to have the facts created by this to be available to the facter command when it's run on the node?
When first including the module, puppet copies ec2_tag_facts.rb into facter dir, before any configuration from the class getting enforced.
That's cause puppet run to fail on missing awscli command, or missing credentials if it's already installed.
I would suggest wrapping the awscli issue command and the json parsing with "begin rescue end" clauses which cause the script not to fail, and let puppet continue its run so it can configure everything else.
I have fixed that locally and it has managed to configure awscli after that.
Package ruby-json-1.4.6-1.el6.x86_64 is obsoleted by rubygem18-json-1.8.2-1.39.amzn1.x86_64 which is already installed
Nothing to do
Not needed on Amazon linux, default install works
I have Aws instance metadata data service v2 enabled and get errors from the aws cli where it expects region to be populated.
It appears that the IMDSv1 call in ec2_tag_facts.rb isn't able to get to the metadata.
I wonder about the usage of the AWS CLI here. This is all Ruby code, so why not use the Ruby SDK instead of pulling in a Python application? This would also handle the retries in case of rate limits (see commit 57b3cd6) automatically and with exponential backoff, if the client was initialized accordingly, for example
ec2 = Aws::EC2::Client.new(
credentials: Aws::SharedCredentials.new(profile_name: some_profile),
region: region,
retry_limit: 20
)
I didn't run into API rate limits anymore since I added the retry_limit: 20
part some years ago...
The readme states:
Once launched an EC2 instance can't be added to a role or removed from a role but the contents of the roles' policies can be changed at any time.
This is wrong, I just did exactly this (added an IAM role to a running instance).
Can you update the epel dependency? It's moved to puppet-epel now.
Thanks,
Dave
I make extensive use of this module, and it's too bad that @BIAndrews is no longer maintaining it. Has anyone significantly improved on this already, and can we maybe create a forked forge module out of it? The module has been downloaded 32M times, and the latest version has been downloaded 1.1M times at https://forge.puppet.com/modules/bryana/ec2tagfacts. I guess there are enough consumers...
Wish list would be:
I'm interested in your thoughts.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.