Pragmatic ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

AnsibleでUbuntu16.04使った時にでたエラー

Ansibleで使うUbuntuを16.04にしてみたところいくつかエラーが発生した

config.vm.box = "ubuntu/xenial64"

エラーその1

vagrant upしてTASK [setup]で止まる

TASK [setup] *******************************************************************
fatal: [default]: FAILED! => {"changed": false, "failed": true, "module_stderr": "", "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", "msg": "MODULE FAILURE", "parsed": false}

原因はUbuntu 16.04ではデフォルトでPython3系が入っているためで、これを2系に変えないとAnsibleは動かない

ということでVagrantfileに以下を追加して対応

  config.vm.provision "shell", inline: <<-SHELL
    sudo apt-get update
    sudo apt-get install -y python-simplejson
  SHELL

エラーその2

apt: upgrade=fullでエラーがでる

TASK [common : upgrade a server] ***********************************************
fatal: [default]: FAILED! => {"changed": false, "failed": true, "msg": "Could not find aptitude. Please ensure it is installed."}

apt: upgradeの前に以下を追加

- name: install aptitude
          apt: pkg=aptitude