jenkins invokes packer and packer calls ansible provisioner

907 views
Skip to first unread message

Gaurav Rastogi

unread,
Sep 28, 2017, 1:38:56 PM9/28/17
to Packer
Hi,

I'm running an ec2 instance on aws. On this instance, I have jenkins, ansible and packer. I've created a jenkins job which uses the packer plugin and runs the packer.json file locally. When I run the job it fails with below output from jenkins console:

Started by user admin
Building in workspace /var/lib/jenkins/workspace/packer
[packer] $ /usr/local/packer/packer build -debug /var/lib/jenkins/workspace/getrepopacker/packer.json
Debug mode enabled. Builds will not be parallelized.
 [1;32mamazon-ebs output will be in this color. [0m

1 error(s) occurred:

* Error running "ansible-playbook --version": exec: "ansible-playbook": executable file not found in $PATH
Finished: FAILURE
Build step 'Packer' marked build as failure
Finished: FAILURE


Any clues on how to solve this?

Thanks
packer.json

Megan Marsh

unread,
Sep 28, 2017, 2:53:59 PM9/28/17
to packe...@googlegroups.com
This works for me... do you have ansible installed properly on the machine that's running packer?

--
This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list.
 
GitHub Issues: https://github.com/mitchellh/packer/issues
IRC: #packer-tool on Freenode
---
You received this message because you are subscribed to the Google Groups "Packer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to packer-tool+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/packer-tool/ea29fc9e-71f0-4840-a1c2-88796f04af61%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Gaurav Rastogi

unread,
Sep 28, 2017, 3:05:11 PM9/28/17
to Packer
ummm define properly :) 
Good question though. Installing ansible on an amazon ec2 instance is a pain in itself. So for the ec2-user, i can call out ansible with out any issues. I did have to jump through loops to get it installed. I'm thinking that whatever user packer runs as isn't able to find ansible. I want to figure out which user that is and then somehow export PATH for that user to make this successful. 

When you say this worked for you, you have an ec2 machine with jenkins, packer and ansible installed and using jenkins job it was able to run with out failing?

it may not be fruitful but I i'm going to try running packer directly to observe the result. 

Thanks for responding, hope you have some more inputs for me. 


On Thursday, September 28, 2017 at 2:53:59 PM UTC-4, Megan Marsh wrote:
This works for me... do you have ansible installed properly on the machine that's running packer?
On Thu, Sep 28, 2017 at 10:38 AM, Gaurav Rastogi <grast...@gmail.com> wrote:
Hi,

I'm running an ec2 instance on aws. On this instance, I have jenkins, ansible and packer. I've created a jenkins job which uses the packer plugin and runs the packer.json file locally. When I run the job it fails with below output from jenkins console:

Started by user admin
Building in workspace /var/lib/jenkins/workspace/packer
[packer] $ /usr/local/packer/packer build -debug /var/lib/jenkins/workspace/getrepopacker/packer.json
Debug mode enabled. Builds will not be parallelized.
 [1;32mamazon-ebs output will be in this color. [0m

1 error(s) occurred:

* Error running "ansible-playbook --version": exec: "ansible-playbook": executable file not found in $PATH
Finished: FAILURE
Build step 'Packer' marked build as failure
Finished: FAILURE


Any clues on how to solve this?

Thanks

--
This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list.
 
GitHub Issues: https://github.com/mitchellh/packer/issues
IRC: #packer-tool on Freenode
---
You received this message because you are subscribed to the Google Groups "Packer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to packer-tool...@googlegroups.com.

Alvaro Miranda Aguilera

unread,
Sep 28, 2017, 3:18:40 PM9/28/17
to packe...@googlegroups.com
log in and try

find / -name 'ansible-playbook'

make sure that path is in the PATH of the user that run packer

if ansible-playbook is on /sbin or /usr/sbin or /opt/bin may not be available to any user





Confidentiality Note: This e-mail and any attachments are confidential and may be protected by legal privilege. If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of this e-mail or any attachment is prohibited. If you have received this e-mail in error, please notify us immediately by returning it to the sender and delete this copy from your system. Thank you for your cooperation.

--
This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list.
 
GitHub Issues: https://github.com/mitchellh/packer/issues
IRC: #packer-tool on Freenode
---
You received this message because you are subscribed to the Google Groups "Packer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to packer-tool+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/packer-tool/0896f392-8e4b-4ac7-85ac-95c2c25b8b9d%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Alvaro

Gaurav Rastogi

unread,
Sep 28, 2017, 3:30:02 PM9/28/17
to Packer
Thanks for your response. I ran the command and result is below:

/home/ec2-user/ansible/test/runner/injector/ansible-playbook
/home/ec2-user/ansible/bin/ansible-playbook

I actually ran packer independently as well:

/usr/local/packer/packer build packer.json

It did run but I ran this job as the ec2-user so I may be shooting in the dark here but this could mean that the user that runs jenkins and the packer job doesn't have ansible in the path, which is what I'm trying to solve here. 

thanks for your response and interest in helping me!   



--
Alvaro

Megan Marsh

unread,
Sep 28, 2017, 3:31:42 PM9/28/17
to packe...@googlegroups.com
I didn't try to run with jenkins, just ran your packer config.  The playbook file ran just fine; so the issue isn't at all to do with your ec2 instance.  It's with your local setup, be that the jenkins plugin itself, or, I think more likely, the fact that the jenkins user doesn't have ansible in its path.  Add ansible to your jenkins user's path and you should be fine.

To unsubscribe from this group and stop receiving emails from it, send an email to packer-tool+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/packer-tool/5111cad0-3e1a-4357-ba7f-daf3de6f4a23%40googlegroups.com.

Gaurav Rastogi

unread,
Sep 28, 2017, 4:15:03 PM9/28/17
to Packer
Jenkins as a service runs under jenkins user. I changed its profile to be able to run bash. and had added the path for ansible , it runs successfully and creates an image. But the job from the jenkins portal fails still. It doesn't seem to be a packer issue at this point. This discussion can be closed if need be.  

Alvaro Miranda Aguilera

unread,
Sep 29, 2017, 4:18:47 AM9/29/17
to packe...@googlegroups.com
the jenkings user need to have:

/home/ec2-user/ansible/bin

in the path.

you can do that adding

export PATH=$PATH:/home/ec2-user/ansible/bin

to the end of .bashrc of the jenkins user and test



To unsubscribe from this group and stop receiving emails from it, send an email to packer-tool+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/packer-tool/1745cf73-ed56-42d1-899c-7f50ba423722%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Alvaro

Gaurav Rastogi

unread,
Sep 29, 2017, 8:36:34 AM9/29/17
to Packer
tried that with no result :(
The jenkins job when run from portal is what is not able to see ansible. Maybe since its treated as a cron job it doesn't load environments  ? I think I read that somewhere. but i'm no expert maybe just rambling lol 

Thanks for your response and help! 



--
Alvaro

Reply all
Reply to author
Forward
0 new messages