如何使用Vagrant,Puppet和Hiera配置时区?

tux*_*xar 3 puppet vagrant puphpet hiera

我正在使用PuPHPet作为我的测试环境,它基于Vagrant/Puppet + Hiera.

在config.yml(Hiera配置文件)中,我想为我的时区添加部分

并使用命令 vagrant provision正确设置它.

这可能吗?

ken*_*orb 6

您可以为Vagrant(vagrant plugin install vagrant-timezone)安装时区插件,并按以下方式配置Vagrantfile:

Vagrant.configure("2") do |config|
  if Vagrant.has_plugin?("vagrant-timezone")
    config.timezone.value = "UTC"
  end
  # ... other stuff
end
Run Code Online (Sandbox Code Playgroud)

而不是UTC您也可以使用:host与主机同步时区.


小智 5

只需将您的时区添加到您希望在hiera文件中的任何键,我们就可以调用它timezone.您需要设置该时区的值和木偶代码取决于您正在启动的系统,但我将假设RedHat的unix风格.

我建议将其设置为您看到的任何有效值/usr/share/zoneinfo.作为示例,您的密钥可能如下所示:

timezone: 'US/Pacific'

然后你将使用filepuppet类型符号链接/etc/localtime到时区的完整路径:

$tz = hiera('timezone')
file {'/etc/localtime': ensure => link, target => "/usr/share/zoneinfo/${tz}"}
Run Code Online (Sandbox Code Playgroud)