How to config timezone with Vagrant, Puppet and Hi

2019-05-11 16:06发布

I'm using PuPHPet for my testing environments, which is based on Vagrant/Puppet+Hiera.

In the config.yml (Hiera config file) I would like to add section for my timezone

and with command vagrant provision setup it properly.

It's that possible?

2条回答
再贱就再见
2楼-- · 2019-05-11 16:21

You can install Time Zone plugin for Vagrant (vagrant plugin install vagrant-timezone) and configure Vagrantfile in the following way:

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

Instead of UTC you can also use :host to synchronize timezone with the host.

查看更多
我命由我不由天
3楼-- · 2019-05-11 16:39

Just add your timezone to whatever key you want in your hiera file, let's call it timezone. The value for which and the puppet code you'd need to set that timezone depends on the system you're firing up, but I'll assume RedHat flavor of unix.

I recommend setting that to any valid value you'd see under /usr/share/zoneinfo. As an example your key may look like:

timezone: 'US/Pacific'

Then you'd use the file puppet type to symlink /etc/localtime to the full path of the timezone:

$tz = hiera('timezone')
file {'/etc/localtime': ensure => link, target => "/usr/share/zoneinfo/${tz}"}
查看更多
登录 后发表回答