Ansible时区模块失败(不同操作系统的原因不同)

时间:2016-12-23 01:54:05

标签: ansible ansible-2.x

我决定重构一些剧本并尝试新的timezone module

我尝试的任务是手册页中给出的示例的逐字副本:

- name: set timezone to Asia/Tokyo
  timezone:
    name: Asia/Tokyo

我试过的每个系统都失败了。流浪机的结果:

  • 关于Debian 8(debian/jessie64):

      

    任务[设定时区到亚洲/东京] ************************************** ********
      致命:[debian]:失败! => {“已更改”:false,“cmd”:“/ usr / bin / timedatectl set-timezone Asia / Tokyo”,“failed”:true,“msg”:“无法设置时区:名称org.freedesktop.PolicyKit1没有提供任何.service文件“,”rc“:1,”stderr“:”无法设置时区:名称org.freedesktop.PolicyKit1未被任何.service文件提供\ n“,”stdout“: “”,“stdout_lines”:[]}

  • 在CentOS 7上(centos/7) - 与Debian不同:

      

    任务[设定时区到亚洲/东京] ************************************** ********
      致命:[centos]:失败! => {“已更改”:false,“cmd”:“/ usr / bin / timedatectl set-timezone Asia / Tokyo”,“failed”:true,“msg”:“无法设置时区:需要交互式身份验证。”,“ rc“:1,”stderr“:”无法设置时区:需要交互式身份验证。\ n“,”stdout“:”“,”stdout_lines“:[]}

  • 在Ubuntu 16.04(ubuntu/xenial64)上 - 与CentOS相同,与Debian不同:

      

    任务[设定时区到亚洲/东京] ************************************** ********
      致命:[ubuntu]:失败了! => {“已更改”:false,“cmd”:“/ usr / bin / timedatectl set-timezone Asia / Tokyo”,“failed”:true,“msg”:“无法设置时区:需要交互式身份验证。”,“ rc“:1,”stderr“:”无法设置时区:需要交互式身份验证。\ n“,”stdout“:”“,”stdout_lines“:[]}

我错过了什么吗?是否需要一些依赖?

2 个答案:

答案 0 :(得分:7)

timedatectl需要sudo个权限。

- name: set timezone to Asia/Tokyo
  timezone:
    name: Asia/Tokyo
  become: yes
  become_method: sudo

答案 1 :(得分:1)

检查是否已安装dbus软件包(在Ubuntu上测试):

dpkg -l dbus

并安装:

apt-get install -y dbus

否则你会收到错误:

# /usr/bin/timedatectl
Failed to create bus connection: No such file or directory