Permalink
Switch branches/tags
v2.2.0-alpha.00000000 v2.1.0-beta.20181015 v2.1.0-beta.20181008 v2.1.0-beta.20181001 v2.1.0-beta.20180924 v2.1.0-beta.20180917 v2.1.0-beta.20180910 v2.1.0-beta.20180904 v2.1.0-beta.20180827 v2.1.0-alpha.20180730 v2.1.0-alpha.20180702 v2.1.0-alpha.20180604 v2.1.0-alpha.20180507 v2.1.0-alpha.20180416 v2.1.0-alpha.00000000 v2.0.6 v2.0.6-rc.1 v2.0.5 v2.0.4 v2.0.3 v2.0.2 v2.0.1 v2.0.0 v2.0-rc.1 v2.0-beta.20180326 v2.0-beta.20180319 v2.0-beta.20180312 v2.0-beta.20180305 v2.0-alpha.20180212 v2.0-alpha.20180129 v2.0-alpha.20180122 v2.0-alpha.20180116 v2.0-alpha.20171218 v2.0-alpha.20171218-plus-left-join-fix v1.2-alpha.20171211 v1.2-alpha.20171204 v1.2-alpha.20171113 v1.2-alpha.20171026 v1.2-alpha.20170901 v1.1.9 v1.1.9-rc.1 v1.1.8 v1.1.7 v1.1.6 v1.1.5 v1.1.4 v1.1.3 v1.1.2 v1.1.1 v1.1.0 v1.1.0-rc.1 v1.1-beta.20170928 v1.1-beta.20170921 v1.1-beta.20170907 v1.1-alpha.20170817 v1.1-alpha.20170810 v1.1-alpha.20170803 v1.1-alpha.20170720 v1.1-alpha.20170713 v1.1-alpha.20170629 v1.1-alpha.20170622 v1.1-alpha.20170608 v1.1-alpha.20170601 v1.0.7 v1.0.6 v1.0.5 v1.0.4 v1.0.3 v1.0.2 v1.0.1 v1.0 v1.0-rc.3 v1.0-rc.2 v1.0-rc.1 v0.1-alpha beta-20170420 beta-20170413 beta-20170406 beta-20170330 beta-20170323 beta-20170309 beta-20170223 beta-20170216 beta-20170209 beta-20170126 beta-20170112 beta-20170105 beta-20161215 beta-20161208 beta-20161201 beta-20161110 beta-20161103 beta-20161027 beta-20161013 beta-20161006 beta-20160929 beta-20160915 beta-20160908 beta-20160829 beta-20160728
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 51 lines (41 sloc) 1.66 KB
#!/usr/bin/env bash
set -euxo pipefail
# Disabling hyper-v time synchronization means unbinding the device.
# To find the device, one can use:
# $ curl -O https://raw.githubusercontent.com/torvalds/linux/master/tools/hv/lsvmbus
# $ python lsvmbus -vv | grep -w "Time Synchronization" -A 3
# VMBUS ID 11: Class_ID = {9527e630-d0ae-497b-adce-e80ab0175caf} - [Time Synchronization]
# Device_ID = {2dd1ce17-079e-403c-b352-a1921ee207ee}
# Sysfs path: /sys/bus/vmbus/devices/2dd1ce17-079e-403c-b352-a1921ee207ee
# Rel_ID=11, target_cpu=0
# echo 2dd1ce17-079e-403c-b352-a1921ee207ee | sudo tee /sys/bus/vmbus/drivers/hv_util/unbind
# According to lsvmbus, the time sync class ID is:
TIME_SYNC_CLASS_ID='{9527e630-d0ae-497b-adce-e80ab0175caf}'
# hv bus devices are all listed under:
VMBUS_DIR=/sys/bus/vmbus/devices
# Each device folder contains many plaintext files, including:
CLASS_ID_FILE=class_id
# The device can be unbound by writing its ID to:
UNBIND_PATH=/sys/bus/vmbus/drivers/hv_util/unbind
if ! full_path=$(grep ${TIME_SYNC_CLASS_ID} ${VMBUS_DIR}/*/${CLASS_ID_FILE}); then
echo 'Time sync device not found'
exit 1
fi
dev_id=$(echo "${full_path}" | cut -d/ -f6)
if ! echo -n "${dev_id}" | sudo tee ${UNBIND_PATH} > /dev/null; then
echo 'Time sync device already unbound, or error encountered.'
fi
# Force an NTP time sync.
sudo apt-get -qqy update
sudo apt-get -qqy install ntpdate
# Disable systemd-timesyncd
sudo timedatectl set-ntp false
if systemctl is-active -q ntp.service; then
sudo service ntp stop
sudo ntpdate -b ntp.ubuntu.com
sudo service ntp start
else
sudo ntpdate -b ntp.ubuntu.com
# Reenable systemd-timesyncd.
sudo timedatectl set-ntp true
fi