Pārlūkot izejas kodu

qvm-sync-clock: sync dom0 clock only when NTP sync succeeded, even with --force

Otherwise dom0 clock (initially almost ok) may be adjusted to totally
invalid timestamp of ClockVM (for example just after resume from S3
sleep).
Marek Marczykowski-Górecki 8 gadi atpakaļ
vecāks
revīzija
3ece17a8cf
1 mainītis faili ar 16 papildinājumiem un 16 dzēšanām
  1. 16 16
      qvm-tools/qvm-sync-clock

+ 16 - 16
qvm-tools/qvm-sync-clock

@@ -94,24 +94,24 @@ def main():
         else:
             print >> sys.stderr, 'Time sync failed! - Exiting'
             sys.exit(1)
+    else:
+        # Use the date format based on RFC2822 to avoid localisation issues
+        p = clock_vm.run('date -u -Iseconds', verbose=options.verbose,
+                         gui=False, passio_popen=True, ignore_stderr=True)
+        date_out = p.stdout.read(100)
+        date_out = date_out.strip()
+        if not re.match(r'^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+0000$', date_out):
+            print >> sys.stderr, 'Invalid date output, aborting!'
+            sys.exit(1)
 
-    # Use the date format based on RFC2822 to avoid localisation issues
-    p = clock_vm.run('date -u -Iseconds', verbose=options.verbose,
-                     gui=False, passio_popen=True, ignore_stderr=True)
-    date_out = p.stdout.read(100)
-    date_out = date_out.strip()
-    if not re.match(r'^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+0000$', date_out):
-        print >> sys.stderr, 'Invalid date output, aborting!'
-        sys.exit(1)
-
-    # Sync dom0 time
-    if options.verbose:
-        print >> sys.stderr, '--> Syncing dom0 clock.'
+        # Sync dom0 time
+        if options.verbose:
+            print >> sys.stderr, '--> Syncing dom0 clock.'
 
-    subprocess.check_call(['sudo', 'date', '-u', '-Iseconds', '-s', date_out],
-                          stdout=None if options.verbose else open(os.devnull, 'w'))
-    subprocess.check_call(['sudo', 'hwclock', '--systohc'],
-                          stdout=None if options.verbose else open(os.devnull, 'w'))
+        subprocess.check_call(['sudo', 'date', '-u', '-Iseconds', '-s', date_out],
+                              stdout=None if options.verbose else open(os.devnull, 'w'))
+        subprocess.check_call(['sudo', 'hwclock', '--systohc'],
+                              stdout=None if options.verbose else open(os.devnull, 'w'))
 
     # Sync other VMs clock
     for vm in qvm_collection.values():