0

I have a problem I am trying to deal with, while having limited control over VMs configuration. I'll try to be as specific as possible. Please note I am not very knowledgeable about VMs and a lot of system-related subjects, so forgive me if it seems like I talk nonsense. I Think the problem itself should be clear regardless of that being the case.

I have the following setup:

A VM running Jenkins master, VM running database, VMs running Jenkins slaves, and many other VMs that have tests run on them. However, I have no control over which ESX each VM is under, and the ESX owners always shift, either automatically or manually. I use Windows, but I will probably add Linux Slaves and Mac tested environments in the near future.

Note that, again, I don't have control over administrative actions and settings, but I can request them to be done. But I want to form a solution before entering that bureaucratic ping pong between me and IT.

The problem:

The time is not synced between the VMs. It makes reading logs confusing, and might create other issues. Since I do not have a control over migrations and the like, the VMs are not all under the same ESX. To be honest, I am not sure if that is the exact cause, but I think this causes the time sync to be off.

The Solution?

Rather than each VM synced to its ESX, or whatever controls their time setting, is it possible to sync them with a specific VM? In this case, I want them all to sync with the Jenkins master VM. Doing so, if there are time issues, I would only have to look at the Jenkins master (unless the sync with the master is the problem)

Edit: Ah I am aware there's a setting (either in registry, or maybe via commandline?) that allows setting a time server, but I was wondering if there's a more official way to do it via VCenter on a group of VMs, rather than do it manually on each VM. I am not even sure if it will conflict with VMWare's time sync.

Adam Cohen
  • 91
  • 11
  • from a linux box can you please do; `ntpq -pcrv` and post the result. – user3788685 May 06 '18 at 23:57
  • I am adding Linux-based Jenkins slaves soon (probably replacing the master as well) - if the problem persists when I do so, I'll try that and let you know, thanks – Adam Cohen May 07 '18 at 05:24

1 Answers1

0

I'm unsure if this question is OT here, but here are my two cents: disable VMware time synchronization and rely on NTP on the guests.

There's an article in VMWare knowledge base here that covers exactly this.

Reason: it may be that for whatever reason one of the nodes in your ESX cluster is not properly configured (either the time zone is wrong or there is no timesync enabled at all). When your VMs are migrated there, VMware time sync will adjust the time of your guests accordingly, setting the wrong date and time of the host.

Asking your VM provider to edit the vmx files to disable VMware time sync is IMHO the best way, because you will not get interference from the virtualization platform anymore and you will be in full control about your guest OS time sync policies (e.g. using the same fixed NTP server).

Sergio Monteleone
  • 2,776
  • 9
  • 21
  • OT - Original topic? Anyway, I will consider it, I will ask around if it's possible (I mean, if IT will allow it - Not sure what are their do's and don'ts yet) Thanks – Adam Cohen May 07 '18 at 05:27
  • OT = Off Topic. It's not a programming question, that's why my doubt... FYI [here](https://stackoverflow.com/help/on-topic) is the list of topics ammitted on stack overflow. Anyhow, good luck with the IT department :) – Sergio Monteleone May 07 '18 at 13:49
  • Ohh I guess that's right, it really should be OT... My bad, I completely treated StackOverflow as a place for anything related to IT and programming for some reason... I am glad it was not removed because I might need different opinions, but I'll refrain from doing it again, sorry about that – Adam Cohen May 08 '18 at 04:48