Skip to content

Commit 6a9c144

Browse files
committed
Avoid warning message when /dev/rtc does not exist
For instance the Raspberry Pi does not have any real-time clock, so rely on network time synchronization instead (systemd-timesyncd). Signed-off-by: Anders F Björklund <[email protected]>
1 parent dd8ded2 commit 6a9c144

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

pkg/guestagent/guestagent_linux.go

+4
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,10 @@ func (a *agent) fixSystemTimeSkew() {
326326
for {
327327
ticker := time.NewTicker(10 * time.Second)
328328
for now := range ticker.C {
329+
if !timesync.DeviceExists() {
330+
logrus.Infof("fixSystemTimeSkew: device does not exist")
331+
break
332+
}
329333
rtc, err := timesync.GetRTCTime()
330334
if err != nil {
331335
logrus.Warnf("fixSystemTimeSkew: lookup error: %s", err.Error())

pkg/guestagent/timesync/timesync_linux.go

+6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package timesync
22

33
import (
4+
"errors"
45
"os"
56
"time"
67

@@ -9,6 +10,11 @@ import (
910

1011
const rtc = "/dev/rtc"
1112

13+
func DeviceExists() bool {
14+
_, err := os.Stat(rtc)
15+
return !errors.Is(err, os.ErrNotExist)
16+
}
17+
1218
func GetRTCTime() (t time.Time, err error) {
1319
f, err := os.Open(rtc)
1420
if err != nil {

0 commit comments

Comments
 (0)