简体   繁体   中英

How to config timezone with Vagrant, Puppet and Hiera?

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?

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.

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}"}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM