ouzhoudijie 发表于 2015-9-16 09:10:11

自动化运维工具ansible-如何设置客户端多python版本问题

  问题:在使用ansible进行管理客户主机时,发现客户主机安装了多个版本的python,并且默认版本为3.0
  
  shell>>cat list
  192.168.2.9
  
  shell>>ansible all -m ping -i list --ask-pass -u test
  会报如下错误信息:
  192.168.2.9 | FAILED >> {
                                       "failed": true,
                                       "msg": "File \"/home/test/.ansible/tmp/ansible-1382616743.5-201381009945012/ping\", line 340\n    except OSError, e:\n                  ^\nSyntaxError: invalid syntax\n",
                                       "parsed": false
  }
  原因很简单:python版本的不兼容性导致的语法错误;
  
  ansible额外提供了一个变量:ansible_python_interpreter
  
  添加参数:
  shell>>cat list
  192.168.2.9ansible_python_interpreter=/usr/bin/python2.4
  
  shell>>ansible all -m ping -i list --ask-pass -u test
  
  192.168.2.9 | success >> {
    "changed": false,
    "ping": "pong"
}
  
  OK返回正确的ping结果,成功运行
页: [1]
查看完整版本: 自动化运维工具ansible-如何设置客户端多python版本问题