forem/selfhost

Butane is not installed

Closed this issue · 3 comments

Describe the bug
After configuring the setup, and using the playbook to install Forem in DigitalOcean using the command ansible-playbook -i inventory/forem/setup.yml playbooks/providers/digitalocean.yml, I am facing the Ansible execution error:

  msg: 'Butane is not installed or not in your $PATH! You need to install it first. See: https://coreos.github.io/butane/getting-started/'

To Reproduce
Steps to reproduce the behavior:

  1. Follow Forem selfhost setup guide
  2. See error

Expected behavior
The playbook should run successfully.

OS (please complete the following information):

  • Linux (running on Fedora)

Cloud Provider (please complete the following information):

  • DigitalOcean

Additional context
Playbook Execution Log:

[root@e2fdfc5cd8ad selfhost]# ansible-playbook -i inventory/forem/setup.yml playbooks/providers/digitalocean.yml

PLAY [Deploy Forem to DigitalOcean] ***********************************************************************************************

TASK [Gathering Facts] ************************************************************************************************************
ok: [forem]

TASK [Check for doctl] ************************************************************************************************************
changed: [forem]

TASK [Fail if doctl is not installed] *********************************************************************************************
skipping: [forem]

TASK [Check doctl account get] ****************************************************************************************************
changed: [forem]

TASK [Fail if doctl account get fails] ********************************************************************************************
skipping: [forem]

TASK [Include vars from doctl/config.yaml into the 'doctl_check' variable"] *******************************************************
ok: [forem]

TASK [Set doctl facts] ************************************************************************************************************
ok: [forem]

TASK [preflight : Fetch public WAN IPv4 address json] *****************************************************************************
ok: [forem]

TASK [preflight : Set local_wan_ip_address fact] **********************************************************************************
ok: [forem]

TASK [preflight : Verify Ansible is >= 2.11.0] ************************************************************************************
ok: [forem] => changed=false 
  msg: All assertions passed

TASK [preflight : Get list of installed Python 3 packages] ************************************************************************
changed: [forem]

TASK [preflight : Read requirements.txt] ******************************************************************************************
ok: [forem]

TASK [preflight : Generate list of missing pip prerequisites] *********************************************************************
ok: [forem]

TASK [preflight : Generate list of missing python packages] ***********************************************************************
ok: [forem]

TASK [preflight : Verify that required Python 3 packages are installed] ***********************************************************
ok: [forem] => changed=false 
  msg: All assertions passed

TASK [Get FCOS facts] *************************************************************************************************************

TASK [fcos : Get FCOS releases] ***************************************************************************************************
ok: [forem]

TASK [fcos : Set FCOS file download facts] ****************************************************************************************
ok: [forem]

TASK [Gather information about all images] ****************************************************************************************
ok: [forem]

TASK [Create FCOS image] **********************************************************************************************************
skipping: [forem]

TASK [Skip doctl compute image create step if image already exists] ***************************************************************
ok: [forem] => 
  msg: An image named fcos-35.20220410.3.1 already exists. Skipping doctl compute image create step!

TASK [Wait for fcos-35.20220410.3.1 to be created] ********************************************************************************
ok: [forem]

TASK [Set FCOS DO Image ID fact] **************************************************************************************************
ok: [forem]

TASK [Convert butane file to an Ignition file] ************************************************************************************

TASK [butane : Check for butane] **************************************************************************************************
fatal: [forem]: FAILED! => changed=true 
  cmd: which butane
  delta: '0:00:00.002587'
  end: '2022-04-30 16:30:08.723261'
  msg: non-zero return code
  rc: 1
  start: '2022-04-30 16:30:08.720674'
  stderr: 'which: no butane in (/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)'
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>
...ignoring

TASK [butane : Fail if butane is not installed] ***********************************************************************************
fatal: [forem]: FAILED! => changed=false 
  msg: 'Butane is not installed or not in your $PATH! You need to install it first. See: https://coreos.github.io/butane/getting-started/'

PLAY RECAP ************************************************************************************************************************
forem                      : ok=20   changed=4    unreachable=0    failed=1    skipped=3    rescued=0    ignored=1   

My mistake. The error is regarding the local machine, not the remote one obviously.

Closing.

skayt commented

@IvoPereira, how did you resolve this issue please? I am currently faced with the same issue on macOS Monterey, version 12.1.

I am trying to deploy to Digitalocean with the command ansible-playbook -i inventory/forem/setup.yml playbooks/providers/digitalocean.yml. I see that the fcos image has been created as a custom image but subsequent running of the command still throws this error ->

msg: 'Butane is not installed or not in your $PATH! You need to install it first. See: https://coreos.github.io/butane/getting-started/'

Kindly help.

skayt commented

Never mind. Solved with brew install butane.