Wow, somehow I totally missed this reply. Thank you for responding. Sorry for the terrible formatting of my post. I'll consider your suggestion and update this thread once I have an answer. Again, very strange that it works fine when I leave the module on the server, login there, and execute it (the python script).
On Tuesday, November 19, 2013 5:25:11 PM UTC-5, Michael DeHaan wrote: > > Perhaps there is some way the install process for bundler is done very > differently than other gems? > > > > > On Tue, Nov 19, 2013 at 1:17 PM, Adam Williams > <[email protected]<javascript:> > > wrote: > >> I am running Ansible using "brew install --HEAD ansible", which currently >> prints it's version as "ansible 1.4". >> >> Here is my task: >> >> - name: install ruby gem bundler >> gem: name=bundler state=present version=1.3.5 user_install=no >> sudo: true >> >> When I run, it states that there is no change - bundler appears to the >> gem module to be installed??, though it is not. >> >> I went further and tried the following: >> >> ansible utilities -v --sudo -i development -m gem -a 'name=bundler >> state=present version=1.3.5 user_install=no' >> >> 192.168.10.24 | success >> { >> >> "changed": false, >> >> "name": "bundler", >> >> "state": "present", >> >> "version": "1.3.5" >> >> } >> >> Seemingly the same behavior. If I run without --sudo: >> >> ansible utilities -v -i development -m gem -a 'name=bundler state=present >> version=1.3.5 user_install=no' >> >> 192.168.10.24 | FAILED >> { >> >> "cmd": [ >> >> "/usr/bin/gem", >> >> "install", >> >> "--version", >> >> "1.3.5", >> >> "--include-dependencies", >> >> "--no-user-install", >> >> "--no-rdoc", >> >> "--no-ri", >> >> "bundler" >> >> ], >> >> "failed": true, >> >> "msg": "ERROR: While executing gem ... (Gem::FilePermissionError)\n >> You don't have write permissions into the /var/lib/gems/1.9.1 >> directory.", >> >> "rc": 1, >> >> "stderr": "ERROR: While executing gem ... >> (Gem::FilePermissionError)\n You don't have write permissions into the >> /var/lib/gems/1.9.1 directory.\n", >> >> "stdout": "INFO: `gem install -y` is now default and will be >> removed\nINFO: use --ignore-dependencies to install only the gems you >> list\n" >> >> } >> >> I made the effort of running the "gem" module manually on the target host >> by setting ANSIBLE_KEEP_REMOTE_FILES=true and then running "sudo >> /usr/bin/python >> /home/vagrant/.ansible/tmp/ansible-1384877605.76-187131457818350/gem". That >> worked great by installing bundler. >> >> I have also made an attempt to discover what the "gem" python script is >> doing in the filesystem during a playbook run and during a manual run, as >> described, by using auditd. You can see the output over here: >> https://gist.github.com/aiwilliams/a86bf5d3deee57f2c72d. Seems to me >> they're both working with the same directories, but otherwise I didn't get >> much indication why it behaves differently when executed by >> ansible-playbook. >> >> It's got to be an environment thing, I would have though, but it seems >> that the bash environment is the same and I've verified that the gem >> environment is the same. >> >> Any clues what might be going on? >> >> Thanks, Adam >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ansible Project" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > > > -- > Michael DeHaan <[email protected] <javascript:>> > CTO, AnsibleWorks, Inc. > http://www.ansibleworks.com/ > > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
