Well, 
Thanks for the suggestion. It worked like a charm. I just had to add 
another shell provisioner which updates sudoers file in target. And it 
works ! 
No more sudo problems

Thanks :)

Cheers,
Rhythm






On Saturday, August 31, 2019 at 10:32:19 PM UTC+3, Rickard von Essen wrote:
>
> Without analyzing what's going wrong I would take the path of least 
> resistance. Enabla password less (NOPASSWORD) for the user (ssh_username) 
> you are using and then run chef with sudo. That should work without any 
> problems.
>
> And if you don't want passwordless sudo just remove it after chef have 
> been executed. 
>
> On Sat, Aug 31, 2019, 19:18 Rhythm Chopra <[email protected] 
> <javascript:>> wrote:
>
>> I have already tried execute command overload to the following.
>>
>> "execute_command": "echo password | sudo -S bash {{ .Script }}"      
>>
>> But then my build fails with following logs.
>>
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 opening new ssh session
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 Starting remote scp 
>>> process:  scp -vt /tmp/packer-chef-solo
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 Started SCP session, 
>>> beginning transfers...
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 Copying input data into 
>>> temporary file so we can read the length
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 [DEBUG] scp: Uploading 
>>> solo.rb: perms=C0644 size=58
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 SCP session complete, 
>>> closing stdin pipe.
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 Waiting for SSH session 
>>> to complete.
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 scp stderr (length 23): 
>>> Sink: C0644 58 solo.rb
>>> 2019/08/31 20:17:06 ui:     virtualbox-iso: Creating JSON attribute file
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 [INFO] 619 bytes written 
>>> for 'uploadData'
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 opening new ssh session
>>> 2019/08/31 20:17:06 [INFO] 619 bytes written for 'uploadData'
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 Starting remote scp 
>>> process:  scp -vt /tmp/packer-chef-solo
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 Started SCP session, 
>>> beginning transfers...
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 Copying input data into 
>>> temporary file so we can read the length
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 [DEBUG] scp: Uploading 
>>> node.json: perms=C0644 size=619
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 SCP session complete, 
>>> closing stdin pipe.
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 Waiting for SSH session 
>>> to complete.
>>> 2019/08/31 20:17:06 packer: 2019/08/31 20:17:06 scp stderr (length 26): 
>>> Sink: C0644 619 node.json
>>> 2019/08/31 20:17:06 [INFO] (telemetry) ending chef-solo
>>> 2019/08/31 20:17:06 [INFO] (telemetry) found error: Error executing 
>>> Chef: template: root:1:31: executing "root" at <.Script>: can't evaluate 
>>> field Script in type *chefsolo.ExecuteTemplate
>>>
>>>
>>
>> Please suggest 
>>
>> Thanks,
>> Rhythm
>>
>>
>> On Saturday, August 31, 2019 at 8:09:02 PM UTC+3, Rhythm Chopra wrote:
>>>
>>> Hi,
>>> I'm struggling with a packer build for a long time now. So I'm trying to 
>>> build Ubuntu 1404 server image with Packer using chef provisioner. 
>>> Initially build was getting stuck at the following command after installing 
>>> chef successfully,
>>>
>>>> 2019/08/31 17:36:04 ui: ==> virtualbox-iso: Provisioning with chef-solo
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: Installing Chef...
>>>> 2019/08/31 17:36:04 packer: 2019/08/31 17:36:04 opening new ssh session
>>>> 2019/08/31 17:36:04 packer: 2019/08/31 17:36:04 starting remote 
>>>> command: curl -L https://omnitruck.chef.io/install.sh | { echo 
>>>> 'qwerty'; cat -; } | sudo -S bash -s -- -v 13.8.5
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: % Total    % Received % 
>>>> Xferd  Average Speed   Time    Time     Time  Current
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: Dload  Upload   Total   
>>>> Spent    Left  Speed
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: 0     0    0     0    0     
>>>> 0      0      0 --:--:-- --:--:-- --:--:--     0[sudo] password for 
>>>> metasploitable3: no talloc stackframe at ../source3/param/loadparm.c:4864, 
>>>> leaking memory
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: 100 23103  100 23103    
>>>> 0     0   166k      0 --:--:-- --:--:-- --:--:--  167k
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: ubuntu 14.04 x86_64
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: Getting information for 
>>>> chef stable 13.8.5 for ubuntu...
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: downloading 
>>>> https://omnitruck.chef.io/stable/chef/metadata?v=13.8.5&p=ubuntu&pv=14.04&m=x86_64
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: to file 
>>>> /tmp/install.sh.1749/metadata.txt
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: trying wget...
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: sha1    
>>>> 1ecb70effcf557dbac0d0de528bbef6937f9c581
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: sha256    
>>>> ce0ff3baf39c8c13ed474104928e7e4568a4997a1d5797cae2b2ba3ee001e3a8
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: url    
>>>> https://packages.chef.io/files/stable/chef/13.8.5/ubuntu/14.04/chef_13.8.5-1_amd64.deb
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: version    13.8.5
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: downloaded metadata file 
>>>> looks valid...
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: downloading 
>>>> https://packages.chef.io/files/stable/chef/13.8.5/ubuntu/14.04/chef_13.8.5-1_amd64.deb
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: to file 
>>>> /tmp/install.sh.1749/chef_13.8.5-1_amd64.deb
>>>> 2019/08/31 17:36:04 ui:     virtualbox-iso: trying wget...
>>>> 2019/08/31 17:36:45 ui:     virtualbox-iso: Comparing checksum with 
>>>> sha256sum...
>>>> 2019/08/31 17:36:46 ui:     virtualbox-iso: Installing chef 13.8.5
>>>> 2019/08/31 17:36:46 ui:     virtualbox-iso: installing with dpkg...
>>>> 2019/08/31 17:36:46 ui:     virtualbox-iso: Selecting previously 
>>>> unselected package chef.
>>>> 2019/08/31 17:36:46 ui:     virtualbox-iso: (Reading database ... 68348 
>>>> files and directories currently installed.)
>>>> 2019/08/31 17:36:46 ui:     virtualbox-iso: Preparing to unpack 
>>>> .../chef_13.8.5-1_amd64.deb ...
>>>> 2019/08/31 17:36:46 ui:     virtualbox-iso: Unpacking chef (13.8.5-1) 
>>>> ...
>>>> 2019/08/31 17:36:52 ui:     virtualbox-iso: Setting up chef (13.8.5-1) 
>>>> ...
>>>> 2019/08/31 17:36:52 ui:     virtualbox-iso: Thank you for installing 
>>>> Chef!
>>>> 2019/08/31 17:36:52 packer: 2019/08/31 17:36:52 [INFO] RPC endpoint: 
>>>> Communicator ended with: 0
>>>> 2019/08/31 17:36:52 [INFO] 0 bytes written for 'stderr'
>>>> 2019/08/31 17:36:52 [INFO] 2006 bytes written for 'stdout'
>>>> 2019/08/31 17:36:52 [INFO] RPC client: Communicator ended with: 0
>>>> 2019/08/31 17:36:52 [INFO] RPC endpoint: Communicator ended with: 0
>>>> 2019/08/31 17:36:52 packer: 2019/08/31 17:36:52 [INFO] 2006 bytes 
>>>> written for 'stdout'
>>>> 2019/08/31 17:36:52 packer: 2019/08/31 17:36:52 [INFO] 0 bytes written 
>>>> for 'stderr'
>>>> 2019/08/31 17:36:52 packer: 2019/08/31 17:36:52 [INFO] RPC client: 
>>>> Communicator ended with: 0
>>>> 2019/08/31 17:36:52 ui:     virtualbox-iso: Creating directory: 
>>>> /tmp/packer-chef-solo
>>>> 2019/08/31 17:36:52 packer: 2019/08/31 17:36:52 opening new ssh session
>>>> 2019/08/31 17:36:52 packer: 2019/08/31 17:36:52 starting remote 
>>>> command: mkdir -p '/tmp/packer-chef-solo'
>>>>
>>>>
>>> Looks like it was waiting for password because `sudo` was being used. So 
>>> I added the flag 
>>> prevent_sudo= true
>>>
>>> Now, the above steps completed properly, but later my build fails at 
>>>
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 opening new ssh session
>>>> 2019/08/31 17:36:53 [INFO] 58 bytes written for 'uploadData'
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 Starting remote scp 
>>>> process:  scp -vt /tmp/packer-chef-solo
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 Started SCP session, 
>>>> beginning transfers...
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 Copying input data into 
>>>> temporary file so we can read the length
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 [DEBUG] scp: Uploading 
>>>> solo.rb: perms=C0644 size=58
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 SCP session complete, 
>>>> closing stdin pipe.
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 Waiting for SSH session 
>>>> to complete.
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 scp stderr (length 23): 
>>>> Sink: C0644 58 solo.rb
>>>> 2019/08/31 17:36:53 ui:     virtualbox-iso: Creating JSON attribute file
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 [INFO] 619 bytes 
>>>> written for 'uploadData'
>>>> 2019/08/31 17:36:53 [INFO] 619 bytes written for 'uploadData'
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 opening new ssh session
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 Starting remote scp 
>>>> process:  scp -vt /tmp/packer-chef-solo
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 Started SCP session, 
>>>> beginning transfers...
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 Copying input data into 
>>>> temporary file so we can read the length
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 [DEBUG] scp: Uploading 
>>>> node.json: perms=C0644 size=619
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 SCP session complete, 
>>>> closing stdin pipe.
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 Waiting for SSH session 
>>>> to complete.
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 scp stderr (length 26): 
>>>> Sink: C0644 619 node.json
>>>> 2019/08/31 17:36:53 ui:     virtualbox-iso: Executing Chef: chef-solo 
>>>> --no-color -c /tmp/packer-chef-solo/solo.rb -j 
>>>> /tmp/packer-chef-solo/node.json
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 opening new ssh session
>>>> 2019/08/31 17:36:53 packer: 2019/08/31 17:36:53 starting remote 
>>>> command: chef-solo --no-color -c /tmp/packer-chef-solo/solo.rb -j 
>>>> /tmp/packer-chef-solo/node.json
>>>> 2019/08/31 17:36:54 ui:     virtualbox-iso: Starting Chef Client, 
>>>> version 13.8.5
>>>> 2019/08/31 17:36:56 ui:     virtualbox-iso: resolving cookbooks for run 
>>>> list: ["metasploitable::users", "metasploitable::mysql", 
>>>> "metasploitable::apache_continuum", "metasploitable::apache", 
>>>> "metasploitable::php_545", "metasploitable::phpmyadmin", 
>>>> "metasploitable::proftpd", "metasploitable::docker", 
>>>> "metasploitable::samba", "metasploitable::sinatra", 
>>>> "metasploitable::unrealircd", "metasploitable::chatbot", 
>>>> "metasploitable::payroll_app", "metasploitable::readme_app", 
>>>> "metasploitable::cups", "metasploitable::drupal", 
>>>> "metasploitable::knockd", 
>>>> "metasploitable::iptables", "metasploitable::flags"]
>>>> 2019/08/31 17:36:57 ui:     virtualbox-iso: Synchronizing Cookbooks:
>>>> 2019/08/31 17:36:57 ui:     virtualbox-iso: - metasploitable (0.1.0)
>>>> 2019/08/31 17:36:57 ui:     virtualbox-iso: - docker (4.9.2)
>>>> 2019/08/31 17:36:57 ui:     virtualbox-iso: - mysql (8.2.0)
>>>> 2019/08/31 17:36:57 ui:     virtualbox-iso: Installing Cookbook Gems:
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso:
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Running handlers:
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: [2019-08-31T17:37:19+03:00] 
>>>> ERROR: Running exception handlers
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Running handlers complete
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: [2019-08-31T17:37:19+03:00] 
>>>> ERROR: Exception handlers complete
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Chef Client failed. 0 
>>>> resources updated in 20 seconds
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: [2019-08-31T17:37:19+03:00] 
>>>> FATAL: Stacktrace dumped to 
>>>> /tmp/packer-chef-solo/local-mode-cache/cache/chef-stacktrace.out
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: [2019-08-31T17:37:19+03:00] 
>>>> FATAL: Please provide the contents of the stacktrace.out file if you file 
>>>> a 
>>>> bug report
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: [2019-08-31T17:37:19+03:00] 
>>>> ERROR: Expected process to exit with [0], but received '5'
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: ---- Begin output of bundle 
>>>> install ----
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: STDOUT: Fetching gem 
>>>> metadata from https://www.rubygems.org/..............
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Fetching version metadata 
>>>> from https://www.rubygems.org/.
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Resolving dependencies...
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Using bundler 1.15.4
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Fetching excon 0.66.0
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Using multi_json 1.13.1
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: 
>>>> Bundler::SudoNotPermittedError: Bundler requires sudo access to install at 
>>>> the
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: moment. Try installing 
>>>> again, granting Bundler sudo access when prompted, or
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: installing into a different 
>>>> path.
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: An error occurred while 
>>>> installing excon (0.66.0), and Bundler cannot continue.
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Make sure that `gem install 
>>>> excon -v '0.66.0'` succeeds before bundling.
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso:
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: In Gemfile:
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: docker-api was resolved to 
>>>> 1.34.2, which depends on
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: excon
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: STDERR: sudo: no tty 
>>>> present and no askpass program specified
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: ---- End output of bundle 
>>>> install ----
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: Ran bundle install returned 
>>>> 5
>>>> 2019/08/31 17:37:14 ui:     virtualbox-iso: [2019-08-31T17:37:19+03:00] 
>>>> FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited 
>>>> unsuccessfully (exit code 1)
>>>>
>>>>
>>> Now, I can't understand how to get around it. Because this is expecting 
>>> sudo, whereas I had to disable it to get past the previous block call.
>>>
>>> Please suggest.
>>>
>>> Thanks,
>>> Rhythm
>>>
>> -- 
>> 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 [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/packer-tool/c57ca1b4-cf6a-4547-92ba-5afe9cd3d550%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/packer-tool/c57ca1b4-cf6a-4547-92ba-5afe9cd3d550%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/packer-tool/aef858ef-0568-434e-9621-2134e037523e%40googlegroups.com.

Reply via email to